fieldnum

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2023 License: BSD-3-Clause Imports: 0 Imported by: 0

Documentation

Overview

Package fieldnum contains untyped constants for greater flexibility, intended to simplify code typing when creating messages and fields using the factory and reduce human error.

This should not be confused with typed constants in typedef. The value of these untyped constants remains the same as declared in typedef. The only difference is that untyped constants can take on many forms (byte, int, types.DateTime, types.File, etc.),

For more information about Go constants, visit: https://go.dev/blog/constants.

Index

Constants

View Source
const (
	AccelerometerDataAccelX                           = 2   // [Type: Uint16, Base: uint16]; These are the raw ADC reading. Maximum number of samples is 30 in each message. The samples may span across seconds. A conversion will need to be done on this data once read.
	AccelerometerDataAccelY                           = 3   // [Type: Uint16, Base: uint16]; These are the raw ADC reading. Maximum number of samples is 30 in each message. The samples may span across seconds. A conversion will need to be done on this data once read.
	AccelerometerDataAccelZ                           = 4   // [Type: Uint16, Base: uint16]; These are the raw ADC reading. Maximum number of samples is 30 in each message. The samples may span across seconds. A conversion will need to be done on this data once read.
	AccelerometerDataCalibratedAccelX                 = 5   // [Type: Float32, Base: float32]; Calibrated accel reading
	AccelerometerDataCalibratedAccelY                 = 6   // [Type: Float32, Base: float32]; Calibrated accel reading
	AccelerometerDataCalibratedAccelZ                 = 7   // [Type: Float32, Base: float32]; Calibrated accel reading
	AccelerometerDataCompressedCalibratedAccelX       = 8   // [Type: Sint16, Base: sint16]; Calibrated accel reading
	AccelerometerDataCompressedCalibratedAccelY       = 9   // [Type: Sint16, Base: sint16]; Calibrated accel reading
	AccelerometerDataCompressedCalibratedAccelZ       = 10  // [Type: Sint16, Base: sint16]; Calibrated accel reading
	AccelerometerDataSampleTimeOffset                 = 1   // [Type: Uint16, Base: uint16]; Each time in the array describes the time at which the accelerometer sample with the corrosponding index was taken. Limited to 30 samples in each message. The samples may span across seconds. Array size must match the number of samples in accel_x and accel_y and accel_z
	AccelerometerDataTimestamp                        = 253 // [Type: DateTime, Base: uint32]; Whole second part of the timestamp
	AccelerometerDataTimestampMs                      = 0   // [Type: Uint16, Base: uint16]; Millisecond part of the timestamp.
	ActivityEvent                                     = 3   // [Type: Event, Base: enum];
	ActivityEventGroup                                = 6   // [Type: Uint8, Base: uint8];
	ActivityEventType                                 = 4   // [Type: EventType, Base: enum];
	ActivityLocalTimestamp                            = 5   // [Type: LocalDateTime, Base: uint32]; timestamp epoch expressed in local time, used to convert activity timestamps to local time
	ActivityNumSessions                               = 1   // [Type: Uint16, Base: uint16];
	ActivityTimestamp                                 = 253 // [Type: DateTime, Base: uint32];
	ActivityTotalTimerTime                            = 0   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Exclude pauses
	ActivityType                                      = 2   // [Type: Activity, Base: enum];
	AntChannelIdChannelNumber                         = 0   // [Type: Uint8, Base: uint8];
	AntChannelIdDeviceIndex                           = 4   // [Type: DeviceIndex, Base: uint8];
	AntChannelIdDeviceNumber                          = 2   // [Type: Uint16z, Base: uint16z];
	AntChannelIdDeviceType                            = 1   // [Type: Uint8z, Base: uint8z];
	AntChannelIdTransmissionType                      = 3   // [Type: Uint8z, Base: uint8z];
	AntRxChannelNumber                                = 3   // [Type: Uint8, Base: uint8];
	AntRxData                                         = 4   // [Type: Byte, Base: byte];
	AntRxFractionalTimestamp                          = 0   // [Type: Uint16, Base: uint16, Scale: 32768, Offset: 0];
	AntRxMesgData                                     = 2   // [Type: Byte, Base: byte];
	AntRxMesgId                                       = 1   // [Type: Byte, Base: byte];
	AntRxTimestamp                                    = 253 // [Type: DateTime, Base: uint32];
	AntTxChannelNumber                                = 3   // [Type: Uint8, Base: uint8];
	AntTxData                                         = 4   // [Type: Byte, Base: byte];
	AntTxFractionalTimestamp                          = 0   // [Type: Uint16, Base: uint16, Scale: 32768, Offset: 0];
	AntTxMesgData                                     = 2   // [Type: Byte, Base: byte];
	AntTxMesgId                                       = 1   // [Type: Byte, Base: byte];
	AntTxTimestamp                                    = 253 // [Type: DateTime, Base: uint32];
	AviationAttitudeAccelLateral                      = 4   // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0]; Range -78.4 to +78.4 (-8 Gs to 8 Gs)
	AviationAttitudeAccelNormal                       = 5   // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0]; Range -78.4 to +78.4 (-8 Gs to 8 Gs)
	AviationAttitudeAttitudeStageComplete             = 8   // [Type: Uint8, Base: uint8]; The percent complete of the current attitude stage. Set to 0 for attitude stages 0, 1 and 2 and to 100 for attitude stage 3 by AHRS modules that do not support it. Range - 100
	AviationAttitudePitch                             = 2   // [Type: Sint16, Base: sint16, Scale: 10430.38, Offset: 0]; Range -PI/2 to +PI/2
	AviationAttitudeRoll                              = 3   // [Type: Sint16, Base: sint16, Scale: 10430.38, Offset: 0]; Range -PI to +PI
	AviationAttitudeStage                             = 7   // [Type: AttitudeStage, Base: enum];
	AviationAttitudeSystemTime                        = 1   // [Type: Uint32, Base: uint32]; System time associated with sample expressed in ms.
	AviationAttitudeTimestamp                         = 253 // [Type: DateTime, Base: uint32]; Timestamp message was output
	AviationAttitudeTimestampMs                       = 0   // [Type: Uint16, Base: uint16]; Fractional part of timestamp, added to timestamp
	AviationAttitudeTrack                             = 9   // [Type: Uint16, Base: uint16, Scale: 10430.38, Offset: 0]; Track Angle/Heading Range 0 - 2pi
	AviationAttitudeTurnRate                          = 6   // [Type: Sint16, Base: sint16, Scale: 1024, Offset: 0]; Range -8.727 to +8.727 (-500 degs/sec to +500 degs/sec)
	AviationAttitudeValidity                          = 10  // [Type: AttitudeValidity, Base: uint16];
	BarometerDataBaroPres                             = 2   // [Type: Uint32, Base: uint32]; These are the raw ADC reading. The samples may span across seconds. A conversion will need to be done on this data once read.
	BarometerDataSampleTimeOffset                     = 1   // [Type: Uint16, Base: uint16]; Each time in the array describes the time at which the barometer sample with the corrosponding index was taken. The samples may span across seconds. Array size must match the number of samples in baro_cal
	BarometerDataTimestamp                            = 253 // [Type: DateTime, Base: uint32]; Whole second part of the timestamp
	BarometerDataTimestampMs                          = 0   // [Type: Uint16, Base: uint16]; Millisecond part of the timestamp.
	BeatIntervalsTime                                 = 1   // [Type: Uint16, Base: uint16]; Array of millisecond times between beats
	BeatIntervalsTimestamp                            = 253 // [Type: DateTime, Base: uint32];
	BeatIntervalsTimestampMs                          = 0   // [Type: Uint16, Base: uint16]; Milliseconds past date_time
	BikeProfileAutoPowerZero                          = 13  // [Type: Bool, Base: bool];
	BikeProfileAutoWheelCal                           = 12  // [Type: Bool, Base: bool];
	BikeProfileAutoWheelsize                          = 9   // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	BikeProfileBikeCadAntId                           = 5   // [Type: Uint16z, Base: uint16z];
	BikeProfileBikeCadAntIdTransType                  = 22  // [Type: Uint8z, Base: uint8z];
	BikeProfileBikePowerAntId                         = 7   // [Type: Uint16z, Base: uint16z];
	BikeProfileBikePowerAntIdTransType                = 24  // [Type: Uint8z, Base: uint8z];
	BikeProfileBikeSpdAntId                           = 4   // [Type: Uint16z, Base: uint16z];
	BikeProfileBikeSpdAntIdTransType                  = 21  // [Type: Uint8z, Base: uint8z];
	BikeProfileBikeSpdcadAntId                        = 6   // [Type: Uint16z, Base: uint16z];
	BikeProfileBikeSpdcadAntIdTransType               = 23  // [Type: Uint8z, Base: uint8z];
	BikeProfileBikeWeight                             = 10  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	BikeProfileCadEnabled                             = 16  // [Type: Bool, Base: bool];
	BikeProfileCrankLength                            = 19  // [Type: Uint8, Base: uint8, Scale: 2, Offset: -110];
	BikeProfileCustomWheelsize                        = 8   // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	BikeProfileEnabled                                = 20  // [Type: Bool, Base: bool];
	BikeProfileFrontGear                              = 39  // [Type: Uint8z, Base: uint8z]; Number of teeth on each gear 0 is innermost
	BikeProfileFrontGearNum                           = 38  // [Type: Uint8z, Base: uint8z]; Number of front gears
	BikeProfileId                                     = 14  // [Type: Uint8, Base: uint8];
	BikeProfileMessageIndex                           = 254 // [Type: MessageIndex, Base: uint16];
	BikeProfileName                                   = 0   // [Type: String, Base: string];
	BikeProfileOdometer                               = 3   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0];
	BikeProfileOdometerRollover                       = 37  // [Type: Uint8, Base: uint8]; Rollover counter that can be used to extend the odometer
	BikeProfilePowerCalFactor                         = 11  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	BikeProfilePowerEnabled                           = 18  // [Type: Bool, Base: bool];
	BikeProfileRearGear                               = 41  // [Type: Uint8z, Base: uint8z]; Number of teeth on each gear 0 is innermost
	BikeProfileRearGearNum                            = 40  // [Type: Uint8z, Base: uint8z]; Number of rear gears
	BikeProfileShimanoDi2Enabled                      = 44  // [Type: Bool, Base: bool];
	BikeProfileSpdEnabled                             = 15  // [Type: Bool, Base: bool];
	BikeProfileSpdcadEnabled                          = 17  // [Type: Bool, Base: bool];
	BikeProfileSport                                  = 1   // [Type: Sport, Base: enum];
	BikeProfileSubSport                               = 2   // [Type: SubSport, Base: enum];
	BloodPressureDiastolicPressure                    = 1   // [Type: Uint16, Base: uint16];
	BloodPressureHeartRate                            = 6   // [Type: Uint8, Base: uint8];
	BloodPressureHeartRateType                        = 7   // [Type: HrType, Base: enum];
	BloodPressureMap3SampleMean                       = 3   // [Type: Uint16, Base: uint16];
	BloodPressureMapEveningValues                     = 5   // [Type: Uint16, Base: uint16];
	BloodPressureMapMorningValues                     = 4   // [Type: Uint16, Base: uint16];
	BloodPressureMeanArterialPressure                 = 2   // [Type: Uint16, Base: uint16];
	BloodPressureStatus                               = 8   // [Type: BpStatus, Base: enum];
	BloodPressureSystolicPressure                     = 0   // [Type: Uint16, Base: uint16];
	BloodPressureTimestamp                            = 253 // [Type: DateTime, Base: uint32];
	BloodPressureUserProfileIndex                     = 9   // [Type: MessageIndex, Base: uint16]; Associates this blood pressure message to a user. This corresponds to the index of the user profile message in the blood pressure file.
	CadenceZoneHighValue                              = 0   // [Type: Uint8, Base: uint8];
	CadenceZoneMessageIndex                           = 254 // [Type: MessageIndex, Base: uint16];
	CadenceZoneName                                   = 1   // [Type: String, Base: string];
	CameraEventCameraEventType                        = 1   // [Type: CameraEventType, Base: enum];
	CameraEventCameraFileUuid                         = 2   // [Type: String, Base: string];
	CameraEventCameraOrientation                      = 3   // [Type: CameraOrientationType, Base: enum];
	CameraEventTimestamp                              = 253 // [Type: DateTime, Base: uint32]; Whole second part of the timestamp.
	CameraEventTimestampMs                            = 0   // [Type: Uint16, Base: uint16]; Millisecond part of the timestamp.
	CapabilitiesConnectivitySupported                 = 23  // [Type: ConnectivityCapabilities, Base: uint32z];
	CapabilitiesLanguages                             = 0   // [Type: Uint8z, Base: uint8z]; Use language_bits_x types where x is index of array.
	CapabilitiesSports                                = 1   // [Type: SportBits0, Base: uint8z]; Use sport_bits_x types where x is index of array.
	CapabilitiesWorkoutsSupported                     = 21  // [Type: WorkoutCapabilities, Base: uint32z];
	ClimbProClimbCategory                             = 4   // [Type: Uint8, Base: uint8];
	ClimbProClimbNumber                               = 3   // [Type: Uint16, Base: uint16];
	ClimbProClimbProEvent                             = 2   // [Type: ClimbProEvent, Base: enum];
	ClimbProCurrentDist                               = 5   // [Type: Float32, Base: float32];
	ClimbProPositionLat                               = 0   // [Type: Sint32, Base: sint32];
	ClimbProPositionLong                              = 1   // [Type: Sint32, Base: sint32];
	ClimbProTimestamp                                 = 253 // [Type: DateTime, Base: uint32];
	ConnectivityAntEnabled                            = 2   // [Type: Bool, Base: bool]; Use ANT for connectivity features
	ConnectivityAutoActivityUploadEnabled             = 7   // [Type: Bool, Base: bool];
	ConnectivityBluetoothEnabled                      = 0   // [Type: Bool, Base: bool]; Use Bluetooth for connectivity features
	ConnectivityBluetoothLeEnabled                    = 1   // [Type: Bool, Base: bool]; Use Bluetooth Low Energy for connectivity features
	ConnectivityCourseDownloadEnabled                 = 8   // [Type: Bool, Base: bool];
	ConnectivityGpsEphemerisDownloadEnabled           = 10  // [Type: Bool, Base: bool];
	ConnectivityGrouptrackEnabled                     = 12  // [Type: Bool, Base: bool];
	ConnectivityIncidentDetectionEnabled              = 11  // [Type: Bool, Base: bool];
	ConnectivityLiveTrackingEnabled                   = 4   // [Type: Bool, Base: bool];
	ConnectivityName                                  = 3   // [Type: String, Base: string];
	ConnectivityWeatherAlertsEnabled                  = 6   // [Type: Bool, Base: bool];
	ConnectivityWeatherConditionsEnabled              = 5   // [Type: Bool, Base: bool];
	ConnectivityWorkoutDownloadEnabled                = 9   // [Type: Bool, Base: bool];
	CourseCapabilities                                = 6   // [Type: CourseCapabilities, Base: uint32z];
	CourseName                                        = 5   // [Type: String, Base: string];
	CoursePointDistance                               = 4   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0];
	CoursePointFavorite                               = 8   // [Type: Bool, Base: bool];
	CoursePointMessageIndex                           = 254 // [Type: MessageIndex, Base: uint16];
	CoursePointName                                   = 6   // [Type: String, Base: string];
	CoursePointPositionLat                            = 2   // [Type: Sint32, Base: sint32];
	CoursePointPositionLong                           = 3   // [Type: Sint32, Base: sint32];
	CoursePointTimestamp                              = 1   // [Type: DateTime, Base: uint32];
	CoursePointType                                   = 5   // [Type: CoursePoint, Base: enum];
	CourseSport                                       = 4   // [Type: Sport, Base: enum];
	CourseSubSport                                    = 7   // [Type: SubSport, Base: enum];
	DeveloperDataIdApplicationId                      = 1   // [Type: Byte, Base: byte];
	DeveloperDataIdApplicationVersion                 = 4   // [Type: Uint32, Base: uint32];
	DeveloperDataIdDeveloperDataIndex                 = 3   // [Type: Uint8, Base: uint8];
	DeveloperDataIdDeveloperId                        = 0   // [Type: Byte, Base: byte];
	DeveloperDataIdManufacturerId                     = 2   // [Type: Manufacturer, Base: uint16];
	DeviceAuxBatteryInfoBatteryIdentifier             = 3   // [Type: Uint8, Base: uint8];
	DeviceAuxBatteryInfoBatteryStatus                 = 2   // [Type: BatteryStatus, Base: uint8];
	DeviceAuxBatteryInfoBatteryVoltage                = 1   // [Type: Uint16, Base: uint16, Scale: 256, Offset: 0];
	DeviceAuxBatteryInfoDeviceIndex                   = 0   // [Type: DeviceIndex, Base: uint8];
	DeviceAuxBatteryInfoTimestamp                     = 253 // [Type: DateTime, Base: uint32];
	DeviceInfoAntDeviceNumber                         = 21  // [Type: Uint16z, Base: uint16z];
	DeviceInfoAntNetwork                              = 22  // [Type: AntNetwork, Base: enum];
	DeviceInfoAntTransmissionType                     = 20  // [Type: Uint8z, Base: uint8z];
	DeviceInfoBatteryLevel                            = 32  // [Type: Uint8, Base: uint8];
	DeviceInfoBatteryStatus                           = 11  // [Type: BatteryStatus, Base: uint8];
	DeviceInfoBatteryVoltage                          = 10  // [Type: Uint16, Base: uint16, Scale: 256, Offset: 0];
	DeviceInfoCumOperatingTime                        = 7   // [Type: Uint32, Base: uint32]; Reset by new battery or charge.
	DeviceInfoDescriptor                              = 19  // [Type: String, Base: string]; Used to describe the sensor or location
	DeviceInfoDeviceIndex                             = 0   // [Type: DeviceIndex, Base: uint8];
	DeviceInfoDeviceType                              = 1   // [Type: Uint8, Base: uint8];
	DeviceInfoHardwareVersion                         = 6   // [Type: Uint8, Base: uint8];
	DeviceInfoManufacturer                            = 2   // [Type: Manufacturer, Base: uint16];
	DeviceInfoProduct                                 = 4   // [Type: Uint16, Base: uint16];
	DeviceInfoProductName                             = 27  // [Type: String, Base: string]; Optional free form string to indicate the devices name or model
	DeviceInfoSensorPosition                          = 18  // [Type: BodyLocation, Base: enum]; Indicates the location of the sensor
	DeviceInfoSerialNumber                            = 3   // [Type: Uint32z, Base: uint32z];
	DeviceInfoSoftwareVersion                         = 5   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	DeviceInfoSourceType                              = 25  // [Type: SourceType, Base: enum];
	DeviceInfoTimestamp                               = 253 // [Type: DateTime, Base: uint32];
	DeviceSettingsActiveTimeZone                      = 0   // [Type: Uint8, Base: uint8]; Index into time zone arrays.
	DeviceSettingsActivityTrackerEnabled              = 36  // [Type: Bool, Base: bool]; Enabled state of the activity tracker functionality
	DeviceSettingsAutoActivityDetect                  = 90  // [Type: AutoActivityDetect, Base: uint32]; Allows setting specific activities auto-activity detect enabled/disabled settings
	DeviceSettingsAutoSyncFrequency                   = 89  // [Type: AutoSyncFrequency, Base: enum]; Helps to conserve battery by changing modes
	DeviceSettingsAutosyncMinSteps                    = 58  // [Type: Uint16, Base: uint16]; Minimum steps before an autosync can occur
	DeviceSettingsAutosyncMinTime                     = 59  // [Type: Uint16, Base: uint16]; Minimum minutes before an autosync can occur
	DeviceSettingsBacklightMode                       = 12  // [Type: BacklightMode, Base: enum]; Mode for backlight
	DeviceSettingsBleAutoUploadEnabled                = 86  // [Type: Bool, Base: bool]; Automatically upload using BLE
	DeviceSettingsClockTime                           = 39  // [Type: DateTime, Base: uint32]; UTC timestamp used to set the devices clock and date
	DeviceSettingsDateMode                            = 47  // [Type: DateMode, Base: enum]; Display mode for the date
	DeviceSettingsDefaultPage                         = 57  // [Type: Uint16, Base: uint16]; Bitfield to indicate one page as default for each supported loop
	DeviceSettingsDisplayOrientation                  = 55  // [Type: DisplayOrientation, Base: enum];
	DeviceSettingsLactateThresholdAutodetectEnabled   = 80  // [Type: Bool, Base: bool]; Enable auto-detect setting for the lactate threshold feature.
	DeviceSettingsMountingSide                        = 56  // [Type: Side, Base: enum];
	DeviceSettingsMoveAlertEnabled                    = 46  // [Type: Bool, Base: bool]; Enabled state of the move alert
	DeviceSettingsNumberOfScreens                     = 94  // [Type: Uint8, Base: uint8]; Number of screens configured to display
	DeviceSettingsPagesEnabled                        = 40  // [Type: Uint16, Base: uint16]; Bitfield to configure enabled screens for each supported loop
	DeviceSettingsSmartNotificationDisplayOrientation = 95  // [Type: DisplayOrientation, Base: enum]; Smart Notification display orientation
	DeviceSettingsTapInterface                        = 134 // [Type: Switch, Base: enum];
	DeviceSettingsTapSensitivity                      = 174 // [Type: TapSensitivity, Base: enum]; Used to hold the tap threshold setting
	DeviceSettingsTimeMode                            = 4   // [Type: TimeMode, Base: enum]; Display mode for the time
	DeviceSettingsTimeOffset                          = 2   // [Type: Uint32, Base: uint32]; Offset from system time.
	DeviceSettingsTimeZoneOffset                      = 5   // [Type: Sint8, Base: sint8, Scale: 4, Offset: 0]; timezone offset in 1/4 hour increments
	DeviceSettingsUtcOffset                           = 1   // [Type: Uint32, Base: uint32]; Offset from system time. Required to convert timestamp from system time to UTC.
	DiveAlarmAlarmType                                = 3   // [Type: DiveAlarmType, Base: enum]; Alarm type setting
	DiveAlarmDepth                                    = 0   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Depth setting (m) for depth type alarms
	DiveAlarmDiveTypes                                = 5   // [Type: SubSport, Base: enum]; Dive types the alarm will trigger on
	DiveAlarmEnabled                                  = 2   // [Type: Bool, Base: bool]; Enablement flag
	DiveAlarmId                                       = 6   // [Type: Uint32, Base: uint32]; Alarm ID
	DiveAlarmMessageIndex                             = 254 // [Type: MessageIndex, Base: uint16]; Index of the alarm
	DiveAlarmPopupEnabled                             = 7   // [Type: Bool, Base: bool]; Show a visible pop-up for this alarm
	DiveAlarmRepeating                                = 10  // [Type: Bool, Base: bool]; Repeat alarm each time threshold is crossed?
	DiveAlarmSound                                    = 4   // [Type: Tone, Base: enum]; Tone and Vibe setting for the alarm
	DiveAlarmSpeed                                    = 11  // [Type: Sint32, Base: sint32, Scale: 1000, Offset: 0]; Ascent/descent rate (mps) setting for speed type alarms
	DiveAlarmTime                                     = 1   // [Type: Sint32, Base: sint32]; Time setting (s) for time type alarms
	DiveAlarmTriggerOnAscent                          = 9   // [Type: Bool, Base: bool]; Trigger the alarm on ascent
	DiveAlarmTriggerOnDescent                         = 8   // [Type: Bool, Base: bool]; Trigger the alarm on descent
	DiveApneaAlarmAlarmType                           = 3   // [Type: DiveAlarmType, Base: enum]; Alarm type setting
	DiveApneaAlarmDepth                               = 0   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Depth setting (m) for depth type alarms
	DiveApneaAlarmDiveTypes                           = 5   // [Type: SubSport, Base: enum]; Dive types the alarm will trigger on
	DiveApneaAlarmEnabled                             = 2   // [Type: Bool, Base: bool]; Enablement flag
	DiveApneaAlarmId                                  = 6   // [Type: Uint32, Base: uint32]; Alarm ID
	DiveApneaAlarmMessageIndex                        = 254 // [Type: MessageIndex, Base: uint16]; Index of the alarm
	DiveApneaAlarmPopupEnabled                        = 7   // [Type: Bool, Base: bool]; Show a visible pop-up for this alarm
	DiveApneaAlarmRepeating                           = 10  // [Type: Bool, Base: bool]; Repeat alarm each time threshold is crossed?
	DiveApneaAlarmSound                               = 4   // [Type: Tone, Base: enum]; Tone and Vibe setting for the alarm.
	DiveApneaAlarmSpeed                               = 11  // [Type: Sint32, Base: sint32, Scale: 1000, Offset: 0]; Ascent/descent rate (mps) setting for speed type alarms
	DiveApneaAlarmTime                                = 1   // [Type: Sint32, Base: sint32]; Time setting (s) for time type alarms
	DiveApneaAlarmTriggerOnAscent                     = 9   // [Type: Bool, Base: bool]; Trigger the alarm on ascent
	DiveApneaAlarmTriggerOnDescent                    = 8   // [Type: Bool, Base: bool]; Trigger the alarm on descent
	DiveGasHeliumContent                              = 0   // [Type: Uint8, Base: uint8];
	DiveGasMessageIndex                               = 254 // [Type: MessageIndex, Base: uint16];
	DiveGasMode                                       = 3   // [Type: DiveGasMode, Base: enum];
	DiveGasOxygenContent                              = 1   // [Type: Uint8, Base: uint8];
	DiveGasStatus                                     = 2   // [Type: DiveGasStatus, Base: enum];
	DiveSettingsApneaCountdownEnabled                 = 12  // [Type: Bool, Base: bool];
	DiveSettingsApneaCountdownTime                    = 13  // [Type: Uint32, Base: uint32];
	DiveSettingsBacklightBrightness                   = 15  // [Type: Uint8, Base: uint8];
	DiveSettingsBacklightMode                         = 14  // [Type: DiveBacklightMode, Base: enum];
	DiveSettingsBacklightTimeout                      = 16  // [Type: BacklightTimeout, Base: uint8];
	DiveSettingsBottomDepth                           = 10  // [Type: Float32, Base: float32];
	DiveSettingsBottomTime                            = 11  // [Type: Uint32, Base: uint32];
	DiveSettingsCcrHighSetpoint                       = 26  // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; Target PO2 when using high setpoint
	DiveSettingsCcrHighSetpointDepth                  = 27  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Depth to switch to high setpoint in automatic mode
	DiveSettingsCcrHighSetpointSwitchMode             = 25  // [Type: CcrSetpointSwitchMode, Base: enum]; If high PO2 should be switched to automatically
	DiveSettingsCcrLowSetpoint                        = 23  // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; Target PO2 when using low setpoint
	DiveSettingsCcrLowSetpointDepth                   = 24  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Depth to switch to low setpoint in automatic mode
	DiveSettingsCcrLowSetpointSwitchMode              = 22  // [Type: CcrSetpointSwitchMode, Base: enum]; If low PO2 should be switched to automatically
	DiveSettingsDiveSounds                            = 35  // [Type: Tone, Base: enum]; Sounds and vibration enabled or disabled in-dive
	DiveSettingsGasConsumptionDisplay                 = 29  // [Type: GasConsumptionRateType, Base: enum]; Type of gas consumption rate to display. Some values are only valid if tank volume is known.
	DiveSettingsGfHigh                                = 3   // [Type: Uint8, Base: uint8];
	DiveSettingsGfLow                                 = 2   // [Type: Uint8, Base: uint8];
	DiveSettingsHeartRateSource                       = 20  // [Type: Uint8, Base: uint8];
	DiveSettingsHeartRateSourceType                   = 19  // [Type: SourceType, Base: enum];
	DiveSettingsLastStopMultiple                      = 36  // [Type: Uint8, Base: uint8, Scale: 10, Offset: 0]; Usually 1.0/1.5/2.0 representing 3/4.5/6m or 10/15/20ft
	DiveSettingsMessageIndex                          = 254 // [Type: MessageIndex, Base: uint16];
	DiveSettingsModel                                 = 1   // [Type: TissueModelType, Base: enum];
	DiveSettingsName                                  = 0   // [Type: String, Base: string];
	DiveSettingsNoFlyTimeMode                         = 37  // [Type: NoFlyTimeMode, Base: enum]; Indicates which guidelines to use for no-fly surface interval.
	DiveSettingsPo2Critical                           = 7   // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; Typically 1.60
	DiveSettingsPo2Deco                               = 8   // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0];
	DiveSettingsPo2Warn                               = 6   // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; Typically 1.40
	DiveSettingsRepeatDiveInterval                    = 17  // [Type: Uint16, Base: uint16]; Time between surfacing and ending the activity
	DiveSettingsSafetyStopEnabled                     = 9   // [Type: Bool, Base: bool];
	DiveSettingsSafetyStopTime                        = 18  // [Type: Uint16, Base: uint16]; Time at safety stop (if enabled)
	DiveSettingsTimestamp                             = 253 // [Type: DateTime, Base: uint32];
	DiveSettingsTravelGas                             = 21  // [Type: MessageIndex, Base: uint16]; Index of travel dive_gas message
	DiveSettingsUpKeyEnabled                          = 30  // [Type: Bool, Base: bool]; Indicates whether the up key is enabled during dives
	DiveSettingsWaterDensity                          = 5   // [Type: Float32, Base: float32]; Fresh water is usually 1000; salt water is usually 1025
	DiveSettingsWaterType                             = 4   // [Type: WaterType, Base: enum];
	DiveSummaryAscentTime                             = 16  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Time after leaving bottom until reaching surface
	DiveSummaryAvgAscentRate                          = 17  // [Type: Sint32, Base: sint32, Scale: 1000, Offset: 0]; Average ascent rate, not including descents or stops
	DiveSummaryAvgDepth                               = 2   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; 0 if above water
	DiveSummaryAvgDescentRate                         = 22  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Average descent rate, not including ascents or stops
	DiveSummaryAvgPressureSac                         = 12  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Average pressure-based surface air consumption
	DiveSummaryAvgRmv                                 = 14  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Average respiratory minute volume
	DiveSummaryAvgVolumeSac                           = 13  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Average volumetric surface air consumption
	DiveSummaryBottomTime                             = 11  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	DiveSummaryDescentTime                            = 15  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Time to reach deepest level stop
	DiveSummaryDiveNumber                             = 10  // [Type: Uint32, Base: uint32];
	DiveSummaryEndCns                                 = 6   // [Type: Uint8, Base: uint8];
	DiveSummaryEndN2                                  = 8   // [Type: Uint16, Base: uint16];
	DiveSummaryHangTime                               = 25  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Time spent neither ascending nor descending
	DiveSummaryMaxAscentRate                          = 23  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Maximum ascent rate
	DiveSummaryMaxDepth                               = 3   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; 0 if above water
	DiveSummaryMaxDescentRate                         = 24  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Maximum descent rate
	DiveSummaryO2Toxicity                             = 9   // [Type: Uint16, Base: uint16];
	DiveSummaryReferenceIndex                         = 1   // [Type: MessageIndex, Base: uint16];
	DiveSummaryReferenceMesg                          = 0   // [Type: MesgNum, Base: uint16];
	DiveSummaryStartCns                               = 5   // [Type: Uint8, Base: uint8];
	DiveSummaryStartN2                                = 7   // [Type: Uint16, Base: uint16];
	DiveSummarySurfaceInterval                        = 4   // [Type: Uint32, Base: uint32]; Time since end of last dive
	DiveSummaryTimestamp                              = 253 // [Type: DateTime, Base: uint32];
	EventActivityType                                 = 14  // [Type: ActivityType, Base: enum]; Activity Type associated with an auto_activity_detect event
	EventData                                         = 3   // [Type: Uint32, Base: uint32];
	EventData16                                       = 2   // [Type: Uint16, Base: uint16];
	EventDeviceIndex                                  = 13  // [Type: DeviceIndex, Base: uint8];
	EventEvent                                        = 0   // [Type: Event, Base: enum];
	EventEventGroup                                   = 4   // [Type: Uint8, Base: uint8];
	EventEventType                                    = 1   // [Type: EventType, Base: enum];
	EventFrontGear                                    = 10  // [Type: Uint8z, Base: uint8z]; Do not populate directly. Autogenerated by decoder for gear_change subfield components. Number of front teeth.
	EventFrontGearNum                                 = 9   // [Type: Uint8z, Base: uint8z]; Do not populate directly. Autogenerated by decoder for gear_change subfield components. Front gear number. 1 is innermost.
	EventOpponentScore                                = 8   // [Type: Uint16, Base: uint16]; Do not populate directly. Autogenerated by decoder for sport_point subfield components
	EventRadarThreatAvgApproachSpeed                  = 23  // [Type: Uint8, Base: uint8, Scale: 10, Offset: 0]; Do not populate directly. Autogenerated by decoder for radar_threat_alert subfield components
	EventRadarThreatCount                             = 22  // [Type: Uint8, Base: uint8]; Do not populate directly. Autogenerated by decoder for threat_alert subfield components.
	EventRadarThreatLevelMax                          = 21  // [Type: RadarThreatLevelType, Base: enum]; Do not populate directly. Autogenerated by decoder for threat_alert subfield components.
	EventRadarThreatMaxApproachSpeed                  = 24  // [Type: Uint8, Base: uint8, Scale: 10, Offset: 0]; Do not populate directly. Autogenerated by decoder for radar_threat_alert subfield components
	EventRearGear                                     = 12  // [Type: Uint8z, Base: uint8z]; Do not populate directly. Autogenerated by decoder for gear_change subfield components. Number of rear teeth.
	EventRearGearNum                                  = 11  // [Type: Uint8z, Base: uint8z]; Do not populate directly. Autogenerated by decoder for gear_change subfield components. Rear gear number. 1 is innermost.
	EventScore                                        = 7   // [Type: Uint16, Base: uint16]; Do not populate directly. Autogenerated by decoder for sport_point subfield components
	EventStartTimestamp                               = 15  // [Type: DateTime, Base: uint32]; Timestamp of when the event started
	EventTimestamp                                    = 253 // [Type: DateTime, Base: uint32];
	ExdDataConceptConfigurationConceptField           = 1   // [Type: Byte, Base: byte];
	ExdDataConceptConfigurationConceptIndex           = 3   // [Type: Uint8, Base: uint8];
	ExdDataConceptConfigurationConceptKey             = 5   // [Type: Uint8, Base: uint8];
	ExdDataConceptConfigurationDataPage               = 4   // [Type: Uint8, Base: uint8];
	ExdDataConceptConfigurationDataUnits              = 8   // [Type: ExdDataUnits, Base: enum];
	ExdDataConceptConfigurationDescriptor             = 10  // [Type: ExdDescriptors, Base: enum];
	ExdDataConceptConfigurationFieldId                = 2   // [Type: Uint8, Base: uint8];
	ExdDataConceptConfigurationIsSigned               = 11  // [Type: Bool, Base: bool];
	ExdDataConceptConfigurationQualifier              = 9   // [Type: ExdQualifiers, Base: enum];
	ExdDataConceptConfigurationScaling                = 6   // [Type: Uint8, Base: uint8];
	ExdDataConceptConfigurationScreenIndex            = 0   // [Type: Uint8, Base: uint8];
	ExdDataFieldConfigurationConceptCount             = 3   // [Type: Uint8, Base: uint8];
	ExdDataFieldConfigurationConceptField             = 1   // [Type: Byte, Base: byte];
	ExdDataFieldConfigurationDisplayType              = 4   // [Type: ExdDisplayType, Base: enum];
	ExdDataFieldConfigurationFieldId                  = 2   // [Type: Uint8, Base: uint8];
	ExdDataFieldConfigurationScreenIndex              = 0   // [Type: Uint8, Base: uint8];
	ExdDataFieldConfigurationTitle                    = 5   // [Type: String, Base: string];
	ExdScreenConfigurationFieldCount                  = 1   // [Type: Uint8, Base: uint8]; number of fields in screen
	ExdScreenConfigurationLayout                      = 2   // [Type: ExdLayout, Base: enum];
	ExdScreenConfigurationScreenEnabled               = 3   // [Type: Bool, Base: bool];
	ExdScreenConfigurationScreenIndex                 = 0   // [Type: Uint8, Base: uint8];
	ExerciseTitleExerciseCategory                     = 0   // [Type: ExerciseCategory, Base: uint16];
	ExerciseTitleExerciseName                         = 1   // [Type: Uint16, Base: uint16];
	ExerciseTitleMessageIndex                         = 254 // [Type: MessageIndex, Base: uint16];
	ExerciseTitleWktStepName                          = 2   // [Type: String, Base: string];
	FieldCapabilitiesCount                            = 3   // [Type: Uint16, Base: uint16];
	FieldCapabilitiesFieldNum                         = 2   // [Type: Uint8, Base: uint8];
	FieldCapabilitiesFile                             = 0   // [Type: File, Base: enum];
	FieldCapabilitiesMesgNum                          = 1   // [Type: MesgNum, Base: uint16];
	FieldCapabilitiesMessageIndex                     = 254 // [Type: MessageIndex, Base: uint16];
	FieldDescriptionAccumulate                        = 10  // [Type: String, Base: string];
	FieldDescriptionArray                             = 4   // [Type: Uint8, Base: uint8];
	FieldDescriptionBits                              = 9   // [Type: String, Base: string];
	FieldDescriptionComponents                        = 5   // [Type: String, Base: string];
	FieldDescriptionDeveloperDataIndex                = 0   // [Type: Uint8, Base: uint8];
	FieldDescriptionFieldDefinitionNumber             = 1   // [Type: Uint8, Base: uint8];
	FieldDescriptionFieldName                         = 3   // [Type: String, Base: string];
	FieldDescriptionFitBaseTypeId                     = 2   // [Type: FitBaseType, Base: uint8];
	FieldDescriptionFitBaseUnitId                     = 13  // [Type: FitBaseUnit, Base: uint16];
	FieldDescriptionNativeFieldNum                    = 15  // [Type: Uint8, Base: uint8];
	FieldDescriptionNativeMesgNum                     = 14  // [Type: MesgNum, Base: uint16];
	FieldDescriptionOffset                            = 7   // [Type: Sint8, Base: sint8];
	FieldDescriptionScale                             = 6   // [Type: Uint8, Base: uint8];
	FieldDescriptionUnits                             = 8   // [Type: String, Base: string];
	FileCapabilitiesDirectory                         = 2   // [Type: String, Base: string];
	FileCapabilitiesFlags                             = 1   // [Type: FileFlags, Base: uint8z];
	FileCapabilitiesMaxCount                          = 3   // [Type: Uint16, Base: uint16];
	FileCapabilitiesMaxSize                           = 4   // [Type: Uint32, Base: uint32];
	FileCapabilitiesMessageIndex                      = 254 // [Type: MessageIndex, Base: uint16];
	FileCapabilitiesType                              = 0   // [Type: File, Base: enum];
	FileCreatorHardwareVersion                        = 1   // [Type: Uint8, Base: uint8];
	FileCreatorSoftwareVersion                        = 0   // [Type: Uint16, Base: uint16];
	FileIdManufacturer                                = 1   // [Type: Manufacturer, Base: uint16];
	FileIdNumber                                      = 5   // [Type: Uint16, Base: uint16]; Only set for files that are not created/erased.
	FileIdProduct                                     = 2   // [Type: Uint16, Base: uint16];
	FileIdProductName                                 = 8   // [Type: String, Base: string]; Optional free form string to indicate the devices name or model
	FileIdSerialNumber                                = 3   // [Type: Uint32z, Base: uint32z];
	FileIdTimeCreated                                 = 4   // [Type: DateTime, Base: uint32]; Only set for files that are can be created/erased.
	FileIdType                                        = 0   // [Type: File, Base: enum];
	GoalEnabled                                       = 10  // [Type: Bool, Base: bool];
	GoalEndDate                                       = 3   // [Type: DateTime, Base: uint32];
	GoalMessageIndex                                  = 254 // [Type: MessageIndex, Base: uint16];
	GoalRecurrence                                    = 8   // [Type: GoalRecurrence, Base: enum];
	GoalRecurrenceValue                               = 9   // [Type: Uint16, Base: uint16];
	GoalRepeat                                        = 6   // [Type: Bool, Base: bool];
	GoalSource                                        = 11  // [Type: GoalSource, Base: enum];
	GoalSport                                         = 0   // [Type: Sport, Base: enum];
	GoalStartDate                                     = 2   // [Type: DateTime, Base: uint32];
	GoalSubSport                                      = 1   // [Type: SubSport, Base: enum];
	GoalTargetValue                                   = 7   // [Type: Uint32, Base: uint32];
	GoalType                                          = 4   // [Type: Goal, Base: enum];
	GoalValue                                         = 5   // [Type: Uint32, Base: uint32];
	GpsMetadataEnhancedAltitude                       = 3   // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	GpsMetadataEnhancedSpeed                          = 4   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	GpsMetadataHeading                                = 5   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	GpsMetadataPositionLat                            = 1   // [Type: Sint32, Base: sint32];
	GpsMetadataPositionLong                           = 2   // [Type: Sint32, Base: sint32];
	GpsMetadataTimestamp                              = 253 // [Type: DateTime, Base: uint32]; Whole second part of the timestamp.
	GpsMetadataTimestampMs                            = 0   // [Type: Uint16, Base: uint16]; Millisecond part of the timestamp.
	GpsMetadataUtcTimestamp                           = 6   // [Type: DateTime, Base: uint32]; Used to correlate UTC to system time if the timestamp of the message is in system time. This UTC time is derived from the GPS data.
	GpsMetadataVelocity                               = 7   // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0]; velocity[0] is lon velocity. Velocity[1] is lat velocity. Velocity[2] is altitude velocity.
	GyroscopeDataCalibratedGyroX                      = 5   // [Type: Float32, Base: float32]; Calibrated gyro reading
	GyroscopeDataCalibratedGyroY                      = 6   // [Type: Float32, Base: float32]; Calibrated gyro reading
	GyroscopeDataCalibratedGyroZ                      = 7   // [Type: Float32, Base: float32]; Calibrated gyro reading
	GyroscopeDataGyroX                                = 2   // [Type: Uint16, Base: uint16]; These are the raw ADC reading. Maximum number of samples is 30 in each message. The samples may span across seconds. A conversion will need to be done on this data once read.
	GyroscopeDataGyroY                                = 3   // [Type: Uint16, Base: uint16]; These are the raw ADC reading. Maximum number of samples is 30 in each message. The samples may span across seconds. A conversion will need to be done on this data once read.
	GyroscopeDataGyroZ                                = 4   // [Type: Uint16, Base: uint16]; These are the raw ADC reading. Maximum number of samples is 30 in each message. The samples may span across seconds. A conversion will need to be done on this data once read.
	GyroscopeDataSampleTimeOffset                     = 1   // [Type: Uint16, Base: uint16]; Each time in the array describes the time at which the gyro sample with the corrosponding index was taken. Limited to 30 samples in each message. The samples may span across seconds. Array size must match the number of samples in gyro_x and gyro_y and gyro_z
	GyroscopeDataTimestamp                            = 253 // [Type: DateTime, Base: uint32]; Whole second part of the timestamp
	GyroscopeDataTimestampMs                          = 0   // [Type: Uint16, Base: uint16]; Millisecond part of the timestamp.
	HrEventTimestamp                                  = 9   // [Type: Uint32, Base: uint32, Scale: 1024, Offset: 0];
	HrEventTimestamp12                                = 10  // [Type: Byte, Base: byte, Scale: 1024, Offset: 0];
	HrFilteredBpm                                     = 6   // [Type: Uint8, Base: uint8];
	HrFractionalTimestamp                             = 0   // [Type: Uint16, Base: uint16, Scale: 32768, Offset: 0];
	HrTime256                                         = 1   // [Type: Uint8, Base: uint8, Scale: 256, Offset: 0];
	HrTimestamp                                       = 253 // [Type: DateTime, Base: uint32];
	HrZoneHighBpm                                     = 1   // [Type: Uint8, Base: uint8];
	HrZoneMessageIndex                                = 254 // [Type: MessageIndex, Base: uint16];
	HrZoneName                                        = 2   // [Type: String, Base: string];
	HrmProfileEnabled                                 = 0   // [Type: Bool, Base: bool];
	HrmProfileHrmAntId                                = 1   // [Type: Uint16z, Base: uint16z];
	HrmProfileHrmAntIdTransType                       = 3   // [Type: Uint8z, Base: uint8z];
	HrmProfileLogHrv                                  = 2   // [Type: Bool, Base: bool];
	HrmProfileMessageIndex                            = 254 // [Type: MessageIndex, Base: uint16];
	HrvStatusSummaryBaselineBalancedLower             = 4   // [Type: Uint16, Base: uint16, Scale: 128, Offset: 0]; 3 week baseline, lower boundary of balanced HRV status
	HrvStatusSummaryBaselineBalancedUpper             = 5   // [Type: Uint16, Base: uint16, Scale: 128, Offset: 0]; 3 week baseline, upper boundary of balanced HRV status
	HrvStatusSummaryBaselineLowUpper                  = 3   // [Type: Uint16, Base: uint16, Scale: 128, Offset: 0]; 3 week baseline, upper boundary of low HRV status
	HrvStatusSummaryLastNight5MinHigh                 = 2   // [Type: Uint16, Base: uint16, Scale: 128, Offset: 0]; 5 minute high RMSSD value over sleep
	HrvStatusSummaryLastNightAverage                  = 1   // [Type: Uint16, Base: uint16, Scale: 128, Offset: 0]; Last night RMSSD average over sleep
	HrvStatusSummaryStatus                            = 6   // [Type: HrvStatus, Base: enum];
	HrvStatusSummaryTimestamp                         = 253 // [Type: DateTime, Base: uint32];
	HrvStatusSummaryWeeklyAverage                     = 0   // [Type: Uint16, Base: uint16, Scale: 128, Offset: 0]; 7 day RMSSD average over sleep
	HrvTime                                           = 0   // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0]; Time between beats
	HrvValueTimestamp                                 = 253 // [Type: DateTime, Base: uint32];
	HrvValueValue                                     = 0   // [Type: Uint16, Base: uint16, Scale: 128, Offset: 0]; 5 minute RMSSD
	JumpDistance                                      = 0   // [Type: Float32, Base: float32];
	JumpEnhancedSpeed                                 = 8   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	JumpHangTime                                      = 3   // [Type: Float32, Base: float32];
	JumpHeight                                        = 1   // [Type: Float32, Base: float32];
	JumpPositionLat                                   = 5   // [Type: Sint32, Base: sint32];
	JumpPositionLong                                  = 6   // [Type: Sint32, Base: sint32];
	JumpRotations                                     = 2   // [Type: Uint8, Base: uint8];
	JumpScore                                         = 4   // [Type: Float32, Base: float32]; A score for a jump calculated based on hang time, rotations, and distance.
	JumpSpeed                                         = 7   // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	JumpTimestamp                                     = 253 // [Type: DateTime, Base: uint32];
	LapAvgAltitude                                    = 42  // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	LapAvgCadence                                     = 17  // [Type: Uint8, Base: uint8]; total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles / total_elapsed_time
	LapAvgCadencePosition                             = 108 // [Type: Uint8, Base: uint8]; Average cadence by position. Data value indexes defined by rider_position_type.
	LapAvgCombinedPedalSmoothness                     = 95  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	LapAvgCoreTemperature                             = 158 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LapAvgDepth                                       = 122 // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; 0 if above water
	LapAvgFlow                                        = 154 // [Type: Float32, Base: float32]; 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.
	LapAvgFractionalCadence                           = 80  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0]; fractional part of the avg_cadence
	LapAvgGrade                                       = 45  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	LapAvgGrit                                        = 153 // [Type: Float32, Base: float32]; 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.
	LapAvgHeartRate                                   = 15  // [Type: Uint8, Base: uint8];
	LapAvgLeftPco                                     = 100 // [Type: Sint8, Base: sint8]; Average left platform center offset
	LapAvgLeftPedalSmoothness                         = 93  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	LapAvgLeftPowerPhase                              = 102 // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average left power phase angles. Data value indexes defined by power_phase_type.
	LapAvgLeftPowerPhasePeak                          = 103 // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average left power phase peak angles. Data value indexes defined by power_phase_type.
	LapAvgLeftTorqueEffectiveness                     = 91  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	LapAvgLevMotorPower                               = 115 // [Type: Uint16, Base: uint16]; lev average motor power during lap
	LapAvgNegGrade                                    = 47  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	LapAvgNegVerticalSpeed                            = 54  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	LapAvgPosGrade                                    = 46  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	LapAvgPosVerticalSpeed                            = 53  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	LapAvgPower                                       = 19  // [Type: Uint16, Base: uint16]; total_power / total_timer_time if non_zero_avg_power otherwise total_power / total_elapsed_time
	LapAvgPowerPosition                               = 106 // [Type: Uint16, Base: uint16]; Average power by position. Data value indexes defined by rider_position_type.
	LapAvgRespirationRate                             = 147 // [Type: Uint8, Base: uint8];
	LapAvgRightPco                                    = 101 // [Type: Sint8, Base: sint8]; Average right platform center offset
	LapAvgRightPedalSmoothness                        = 94  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	LapAvgRightPowerPhase                             = 104 // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average right power phase angles. Data value indexes defined by power_phase_type.
	LapAvgRightPowerPhasePeak                         = 105 // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average right power phase peak angles. Data value indexes defined by power_phase_type.
	LapAvgRightTorqueEffectiveness                    = 92  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	LapAvgSaturatedHemoglobinPercent                  = 87  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0]; Avg percentage of hemoglobin saturated with oxygen
	LapAvgSpeed                                       = 13  // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	LapAvgStanceTime                                  = 79  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	LapAvgStanceTimeBalance                           = 119 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LapAvgStanceTimePercent                           = 78  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LapAvgStepLength                                  = 120 // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	LapAvgStrokeDistance                              = 37  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LapAvgTemperature                                 = 50  // [Type: Sint8, Base: sint8];
	LapAvgTotalHemoglobinConc                         = 84  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Avg saturated and unsaturated hemoglobin
	LapAvgVam                                         = 121 // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	LapAvgVerticalOscillation                         = 77  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	LapAvgVerticalRatio                               = 118 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LapEndPositionLat                                 = 5   // [Type: Sint32, Base: sint32];
	LapEndPositionLong                                = 6   // [Type: Sint32, Base: sint32];
	LapEnhancedAvgAltitude                            = 112 // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	LapEnhancedAvgRespirationRate                     = 136 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LapEnhancedAvgSpeed                               = 110 // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	LapEnhancedMaxAltitude                            = 114 // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	LapEnhancedMaxRespirationRate                     = 137 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LapEnhancedMaxSpeed                               = 111 // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	LapEnhancedMinAltitude                            = 113 // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	LapEvent                                          = 0   // [Type: Event, Base: enum];
	LapEventGroup                                     = 26  // [Type: Uint8, Base: uint8];
	LapEventType                                      = 1   // [Type: EventType, Base: enum];
	LapFirstLengthIndex                               = 35  // [Type: Uint16, Base: uint16];
	LapGpsAccuracy                                    = 44  // [Type: Uint8, Base: uint8];
	LapIntensity                                      = 23  // [Type: Intensity, Base: enum];
	LapJumpCount                                      = 151 // [Type: Uint16, Base: uint16];
	LapLapTrigger                                     = 24  // [Type: LapTrigger, Base: enum];
	LapLeftRightBalance                               = 34  // [Type: LeftRightBalance100, Base: uint16];
	LapLevBatteryConsumption                          = 117 // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0]; lev battery consumption during lap
	LapMaxAltitude                                    = 43  // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	LapMaxCadence                                     = 18  // [Type: Uint8, Base: uint8];
	LapMaxCadencePosition                             = 109 // [Type: Uint8, Base: uint8]; Maximum cadence by position. Data value indexes defined by rider_position_type.
	LapMaxCoreTemperature                             = 160 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LapMaxDepth                                       = 123 // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; 0 if above water
	LapMaxFractionalCadence                           = 81  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0]; fractional part of the max_cadence
	LapMaxHeartRate                                   = 16  // [Type: Uint8, Base: uint8];
	LapMaxLevMotorPower                               = 116 // [Type: Uint16, Base: uint16]; lev maximum motor power during lap
	LapMaxNegGrade                                    = 49  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	LapMaxNegVerticalSpeed                            = 56  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	LapMaxPosGrade                                    = 48  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	LapMaxPosVerticalSpeed                            = 55  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	LapMaxPower                                       = 20  // [Type: Uint16, Base: uint16];
	LapMaxPowerPosition                               = 107 // [Type: Uint16, Base: uint16]; Maximum power by position. Data value indexes defined by rider_position_type.
	LapMaxRespirationRate                             = 148 // [Type: Uint8, Base: uint8];
	LapMaxSaturatedHemoglobinPercent                  = 89  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0]; Max percentage of hemoglobin saturated with oxygen
	LapMaxSpeed                                       = 14  // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	LapMaxTemperature                                 = 51  // [Type: Sint8, Base: sint8];
	LapMaxTotalHemoglobinConc                         = 86  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Max saturated and unsaturated hemoglobin
	LapMessageIndex                                   = 254 // [Type: MessageIndex, Base: uint16];
	LapMinAltitude                                    = 62  // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	LapMinCoreTemperature                             = 159 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LapMinHeartRate                                   = 63  // [Type: Uint8, Base: uint8];
	LapMinSaturatedHemoglobinPercent                  = 88  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0]; Min percentage of hemoglobin saturated with oxygen
	LapMinTemperature                                 = 124 // [Type: Sint8, Base: sint8];
	LapMinTotalHemoglobinConc                         = 85  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Min saturated and unsaturated hemoglobin
	LapNormalizedPower                                = 33  // [Type: Uint16, Base: uint16];
	LapNumActiveLengths                               = 40  // [Type: Uint16, Base: uint16]; # of active lengths of swim pool
	LapNumLengths                                     = 32  // [Type: Uint16, Base: uint16]; # of lengths of swim pool
	LapOpponentScore                                  = 74  // [Type: Uint16, Base: uint16];
	LapPlayerScore                                    = 83  // [Type: Uint16, Base: uint16];
	LapRepetitionNum                                  = 61  // [Type: Uint16, Base: uint16];
	LapSport                                          = 25  // [Type: Sport, Base: enum];
	LapStandCount                                     = 99  // [Type: Uint16, Base: uint16]; Number of transitions to the standing state
	LapStartPositionLat                               = 3   // [Type: Sint32, Base: sint32];
	LapStartPositionLong                              = 4   // [Type: Sint32, Base: sint32];
	LapStartTime                                      = 2   // [Type: DateTime, Base: uint32];
	LapStrokeCount                                    = 75  // [Type: Uint16, Base: uint16]; stroke_type enum used as the index
	LapSubSport                                       = 39  // [Type: SubSport, Base: enum];
	LapSwimStroke                                     = 38  // [Type: SwimStroke, Base: enum];
	LapTimeInCadenceZone                              = 59  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	LapTimeInHrZone                                   = 57  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	LapTimeInPowerZone                                = 60  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	LapTimeInSpeedZone                                = 58  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	LapTimeStanding                                   = 98  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Total time spent in the standing position
	LapTimestamp                                      = 253 // [Type: DateTime, Base: uint32]; Lap end time.
	LapTotalAscent                                    = 21  // [Type: Uint16, Base: uint16];
	LapTotalCalories                                  = 11  // [Type: Uint16, Base: uint16];
	LapTotalCycles                                    = 10  // [Type: Uint32, Base: uint32];
	LapTotalDescent                                   = 22  // [Type: Uint16, Base: uint16];
	LapTotalDistance                                  = 9   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0];
	LapTotalElapsedTime                               = 7   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Time (includes pauses)
	LapTotalFatCalories                               = 12  // [Type: Uint16, Base: uint16]; If New Leaf
	LapTotalFlow                                      = 150 // [Type: Float32, Base: float32]; 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.
	LapTotalFractionalAscent                          = 156 // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; fractional part of total_ascent
	LapTotalFractionalCycles                          = 82  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0]; fractional part of the total_cycles
	LapTotalFractionalDescent                         = 157 // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; fractional part of total_descent
	LapTotalGrit                                      = 149 // [Type: Float32, Base: float32]; 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.
	LapTotalMovingTime                                = 52  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	LapTotalTimerTime                                 = 8   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Timer Time (excludes pauses)
	LapTotalWork                                      = 41  // [Type: Uint32, Base: uint32];
	LapWktStepIndex                                   = 71  // [Type: MessageIndex, Base: uint16];
	LapZoneCount                                      = 76  // [Type: Uint16, Base: uint16]; zone number used as the index
	LengthAvgRespirationRate                          = 24  // [Type: Uint8, Base: uint8];
	LengthAvgSpeed                                    = 6   // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	LengthAvgSwimmingCadence                          = 9   // [Type: Uint8, Base: uint8];
	LengthEnhancedAvgRespirationRate                  = 22  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LengthEnhancedMaxRespirationRate                  = 23  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	LengthEvent                                       = 0   // [Type: Event, Base: enum];
	LengthEventGroup                                  = 10  // [Type: Uint8, Base: uint8];
	LengthEventType                                   = 1   // [Type: EventType, Base: enum];
	LengthLengthType                                  = 12  // [Type: LengthType, Base: enum];
	LengthMaxRespirationRate                          = 25  // [Type: Uint8, Base: uint8];
	LengthMessageIndex                                = 254 // [Type: MessageIndex, Base: uint16];
	LengthOpponentScore                               = 19  // [Type: Uint16, Base: uint16];
	LengthPlayerScore                                 = 18  // [Type: Uint16, Base: uint16];
	LengthStartTime                                   = 2   // [Type: DateTime, Base: uint32];
	LengthStrokeCount                                 = 20  // [Type: Uint16, Base: uint16]; stroke_type enum used as the index
	LengthSwimStroke                                  = 7   // [Type: SwimStroke, Base: enum];
	LengthTimestamp                                   = 253 // [Type: DateTime, Base: uint32];
	LengthTotalCalories                               = 11  // [Type: Uint16, Base: uint16];
	LengthTotalElapsedTime                            = 3   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	LengthTotalStrokes                                = 5   // [Type: Uint16, Base: uint16];
	LengthTotalTimerTime                              = 4   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	LengthZoneCount                                   = 21  // [Type: Uint16, Base: uint16]; zone number used as the index
	MagnetometerDataCalibratedMagX                    = 5   // [Type: Float32, Base: float32]; Calibrated Magnetometer reading
	MagnetometerDataCalibratedMagY                    = 6   // [Type: Float32, Base: float32]; Calibrated Magnetometer reading
	MagnetometerDataCalibratedMagZ                    = 7   // [Type: Float32, Base: float32]; Calibrated Magnetometer reading
	MagnetometerDataMagX                              = 2   // [Type: Uint16, Base: uint16]; These are the raw ADC reading. Maximum number of samples is 30 in each message. The samples may span across seconds. A conversion will need to be done on this data once read.
	MagnetometerDataMagY                              = 3   // [Type: Uint16, Base: uint16]; These are the raw ADC reading. Maximum number of samples is 30 in each message. The samples may span across seconds. A conversion will need to be done on this data once read.
	MagnetometerDataMagZ                              = 4   // [Type: Uint16, Base: uint16]; These are the raw ADC reading. Maximum number of samples is 30 in each message. The samples may span across seconds. A conversion will need to be done on this data once read.
	MagnetometerDataSampleTimeOffset                  = 1   // [Type: Uint16, Base: uint16]; Each time in the array describes the time at which the compass sample with the corrosponding index was taken. Limited to 30 samples in each message. The samples may span across seconds. Array size must match the number of samples in cmps_x and cmps_y and cmps_z
	MagnetometerDataTimestamp                         = 253 // [Type: DateTime, Base: uint32]; Whole second part of the timestamp
	MagnetometerDataTimestampMs                       = 0   // [Type: Uint16, Base: uint16]; Millisecond part of the timestamp.
	MaxMetDataCalibratedData                          = 9   // [Type: Bool, Base: bool]; Indicates if calibrated data was used in the calculation
	MaxMetDataHrSource                                = 12  // [Type: MaxMetHeartRateSource, Base: enum]; Indicates if the estimate was obtained using a chest strap or wrist heart rate
	MaxMetDataMaxMetCategory                          = 8   // [Type: MaxMetCategory, Base: enum];
	MaxMetDataSpeedSource                             = 13  // [Type: MaxMetSpeedSource, Base: enum]; Indidcates if the estimate was obtained using onboard GPS or connected GPS
	MaxMetDataSport                                   = 5   // [Type: Sport, Base: enum];
	MaxMetDataSubSport                                = 6   // [Type: SubSport, Base: enum];
	MaxMetDataUpdateTime                              = 0   // [Type: DateTime, Base: uint32]; Time maxMET and vo2 were calculated
	MaxMetDataVo2Max                                  = 2   // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	MemoGlobData                                      = 4   // [Type: Uint8z, Base: uint8z]; Block of utf8 bytes. Note, mutltibyte characters may be split across adjoining memo_glob messages.
	MemoGlobFieldNum                                  = 3   // [Type: Uint8, Base: uint8]; Field within the parent that this glob is associated with
	MemoGlobMemo                                      = 0   // [Type: Byte, Base: byte]; Deprecated. Use data field.
	MemoGlobMesgNum                                   = 1   // [Type: MesgNum, Base: uint16]; Message Number of the parent message
	MemoGlobParentIndex                               = 2   // [Type: MessageIndex, Base: uint16]; Index of mesg that this glob is associated with.
	MemoGlobPartIndex                                 = 250 // [Type: Uint32, Base: uint32]; Sequence number of memo blocks
	MesgCapabilitiesCount                             = 3   // [Type: Uint16, Base: uint16];
	MesgCapabilitiesCountType                         = 2   // [Type: MesgCount, Base: enum];
	MesgCapabilitiesFile                              = 0   // [Type: File, Base: enum];
	MesgCapabilitiesMesgNum                           = 1   // [Type: MesgNum, Base: uint16];
	MesgCapabilitiesMessageIndex                      = 254 // [Type: MessageIndex, Base: uint16];
	MetZoneCalories                                   = 2   // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	MetZoneFatCalories                                = 3   // [Type: Uint8, Base: uint8, Scale: 10, Offset: 0];
	MetZoneHighBpm                                    = 1   // [Type: Uint8, Base: uint8];
	MetZoneMessageIndex                               = 254 // [Type: MessageIndex, Base: uint16];
	MonitoringActiveCalories                          = 19  // [Type: Uint16, Base: uint16];
	MonitoringActiveTime                              = 4   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	MonitoringActiveTime16                            = 10  // [Type: Uint16, Base: uint16];
	MonitoringActivityLevel                           = 7   // [Type: ActivityLevel, Base: enum];
	MonitoringActivitySubtype                         = 6   // [Type: ActivitySubtype, Base: enum];
	MonitoringActivityTime                            = 16  // [Type: Uint16, Base: uint16]; Indexed using minute_activity_level enum
	MonitoringActivityType                            = 5   // [Type: ActivityType, Base: enum];
	MonitoringAscent                                  = 31  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	MonitoringCalories                                = 1   // [Type: Uint16, Base: uint16]; Accumulated total calories. Maintained by MonitoringReader for each activity_type. See SDK documentation
	MonitoringCurrentActivityTypeIntensity            = 24  // [Type: Byte, Base: byte]; Indicates single type / intensity for duration since last monitoring message.
	MonitoringCycles                                  = 3   // [Type: Uint32, Base: uint32, Scale: 2, Offset: 0]; Accumulated cycles. Maintained by MonitoringReader for each activity_type. See SDK documentation.
	MonitoringCycles16                                = 9   // [Type: Uint16, Base: uint16];
	MonitoringDescent                                 = 32  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	MonitoringDeviceIndex                             = 0   // [Type: DeviceIndex, Base: uint8]; Associates this data to device_info message. Not required for file with single device (sensor).
	MonitoringDistance                                = 2   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0]; Accumulated distance. Maintained by MonitoringReader for each activity_type. See SDK documentation.
	MonitoringDistance16                              = 8   // [Type: Uint16, Base: uint16];
	MonitoringDuration                                = 30  // [Type: Uint32, Base: uint32];
	MonitoringDurationMin                             = 29  // [Type: Uint16, Base: uint16];
	MonitoringHeartRate                               = 27  // [Type: Uint8, Base: uint8];
	MonitoringHrDataCurrentDayRestingHeartRate        = 1   // [Type: Uint8, Base: uint8]; RHR for today only. (Feeds into 7-day average)
	MonitoringHrDataRestingHeartRate                  = 0   // [Type: Uint8, Base: uint8]; 7-day rolling average
	MonitoringHrDataTimestamp                         = 253 // [Type: DateTime, Base: uint32]; Must align to logging interval, for example, time must be 00:00:00 for daily log.
	MonitoringInfoActivityType                        = 1   // [Type: ActivityType, Base: enum];
	MonitoringInfoCyclesToCalories                    = 4   // [Type: Uint16, Base: uint16, Scale: 5000, Offset: 0]; Indexed by activity_type
	MonitoringInfoCyclesToDistance                    = 3   // [Type: Uint16, Base: uint16, Scale: 5000, Offset: 0]; Indexed by activity_type
	MonitoringInfoLocalTimestamp                      = 0   // [Type: LocalDateTime, Base: uint32]; Use to convert activity timestamps to local time if device does not support time zone and daylight savings time correction.
	MonitoringInfoRestingMetabolicRate                = 5   // [Type: Uint16, Base: uint16];
	MonitoringInfoTimestamp                           = 253 // [Type: DateTime, Base: uint32];
	MonitoringIntensity                               = 28  // [Type: Uint8, Base: uint8, Scale: 10, Offset: 0];
	MonitoringLocalTimestamp                          = 11  // [Type: LocalDateTime, Base: uint32]; Must align to logging interval, for example, time must be 00:00:00 for daily log.
	MonitoringModerateActivityMinutes                 = 33  // [Type: Uint16, Base: uint16];
	MonitoringTemperature                             = 12  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0]; Avg temperature during the logging interval ended at timestamp
	MonitoringTemperatureMax                          = 15  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0]; Max temperature during the logging interval ended at timestamp
	MonitoringTemperatureMin                          = 14  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0]; Min temperature during the logging interval ended at timestamp
	MonitoringTimestamp                               = 253 // [Type: DateTime, Base: uint32]; Must align to logging interval, for example, time must be 00:00:00 for daily log.
	MonitoringTimestamp16                             = 26  // [Type: Uint16, Base: uint16];
	MonitoringTimestampMin8                           = 25  // [Type: Uint8, Base: uint8];
	MonitoringVigorousActivityMinutes                 = 34  // [Type: Uint16, Base: uint16];
	NmeaSentenceSentence                              = 1   // [Type: String, Base: string]; NMEA sentence
	NmeaSentenceTimestamp                             = 253 // [Type: DateTime, Base: uint32]; Timestamp message was output
	NmeaSentenceTimestampMs                           = 0   // [Type: Uint16, Base: uint16]; Fractional part of timestamp, added to timestamp
	ObdiiDataPid                                      = 2   // [Type: Byte, Base: byte]; Parameter ID
	ObdiiDataPidDataSize                              = 4   // [Type: Uint8, Base: uint8]; Optional, data size of PID[i]. If not specified refer to SAE J1979.
	ObdiiDataRawData                                  = 3   // [Type: Byte, Base: byte]; Raw parameter data
	ObdiiDataStartTimestamp                           = 6   // [Type: DateTime, Base: uint32]; Timestamp of first sample recorded in the message. Used with time_offset to generate time of each sample
	ObdiiDataStartTimestampMs                         = 7   // [Type: Uint16, Base: uint16]; Fractional part of start_timestamp
	ObdiiDataSystemTime                               = 5   // [Type: Uint32, Base: uint32]; System time associated with sample expressed in ms, can be used instead of time_offset. There will be a system_time value for each raw_data element. For multibyte pids the system_time is repeated.
	ObdiiDataTimeOffset                               = 1   // [Type: Uint16, Base: uint16]; Offset of PID reading [i] from start_timestamp+start_timestamp_ms. Readings may span accross seconds.
	ObdiiDataTimestamp                                = 253 // [Type: DateTime, Base: uint32]; Timestamp message was output
	ObdiiDataTimestampMs                              = 0   // [Type: Uint16, Base: uint16]; Fractional part of timestamp, added to timestamp
	OhrSettingsEnabled                                = 0   // [Type: Switch, Base: enum];
	OhrSettingsTimestamp                              = 253 // [Type: DateTime, Base: uint32];
	OneDSensorCalibrationCalibrationDivisor           = 2   // [Type: Uint32, Base: uint32]; Calibration factor divisor
	OneDSensorCalibrationCalibrationFactor            = 1   // [Type: Uint32, Base: uint32]; Calibration factor used to convert from raw ADC value to degrees, g, etc.
	OneDSensorCalibrationLevelShift                   = 3   // [Type: Uint32, Base: uint32]; Level shift value used to shift the ADC value back into range
	OneDSensorCalibrationOffsetCal                    = 4   // [Type: Sint32, Base: sint32]; Internal Calibration factor
	OneDSensorCalibrationSensorType                   = 0   // [Type: SensorType, Base: enum]; Indicates which sensor the calibration is for
	OneDSensorCalibrationTimestamp                    = 253 // [Type: DateTime, Base: uint32]; Whole second part of the timestamp
	PowerZoneHighValue                                = 1   // [Type: Uint16, Base: uint16];
	PowerZoneMessageIndex                             = 254 // [Type: MessageIndex, Base: uint16];
	PowerZoneName                                     = 2   // [Type: String, Base: string];
	RecordAbsolutePressure                            = 91  // [Type: Uint32, Base: uint32]; Includes atmospheric pressure
	RecordAccumulatedPower                            = 29  // [Type: Uint32, Base: uint32];
	RecordActivityType                                = 42  // [Type: ActivityType, Base: enum];
	RecordAirTimeRemaining                            = 123 // [Type: Uint32, Base: uint32];
	RecordAltitude                                    = 2   // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	RecordAscentRate                                  = 127 // [Type: Sint32, Base: sint32, Scale: 1000, Offset: 0];
	RecordBallSpeed                                   = 51  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	RecordBatterySoc                                  = 81  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0]; lev battery state of charge
	RecordCadence                                     = 4   // [Type: Uint8, Base: uint8];
	RecordCadence256                                  = 52  // [Type: Uint16, Base: uint16, Scale: 256, Offset: 0]; Log cadence and fractional cadence for backwards compatability
	RecordCalories                                    = 33  // [Type: Uint16, Base: uint16];
	RecordCnsLoad                                     = 97  // [Type: Uint8, Base: uint8];
	RecordCombinedPedalSmoothness                     = 47  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	RecordCompressedAccumulatedPower                  = 28  // [Type: Uint16, Base: uint16];
	RecordCompressedSpeedDistance                     = 8   // [Type: Byte, Base: byte, Scale: 100, Offset: 0];
	RecordCoreTemperature                             = 139 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	RecordCurrentStress                               = 116 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Current Stress value
	RecordCycleLength                                 = 12  // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0];
	RecordCycleLength16                               = 87  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Supports larger cycle sizes needed for paddlesports. Max cycle size: 655.35
	RecordCycles                                      = 18  // [Type: Uint8, Base: uint8];
	RecordDepth                                       = 92  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; 0 if above water
	RecordDeviceIndex                                 = 62  // [Type: DeviceIndex, Base: uint8];
	RecordDistance                                    = 5   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0];
	RecordEbikeAssistLevelPercent                     = 120 // [Type: Uint8, Base: uint8];
	RecordEbikeAssistMode                             = 119 // [Type: Uint8, Base: uint8];
	RecordEbikeBatteryLevel                           = 118 // [Type: Uint8, Base: uint8];
	RecordEbikeTravelRange                            = 117 // [Type: Uint16, Base: uint16];
	RecordEnhancedAltitude                            = 78  // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	RecordEnhancedRespirationRate                     = 108 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	RecordEnhancedSpeed                               = 73  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	RecordFlow                                        = 115 // [Type: Float32, Base: float32]; 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.
	RecordFractionalCadence                           = 53  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0];
	RecordGpsAccuracy                                 = 31  // [Type: Uint8, Base: uint8];
	RecordGrade                                       = 9   // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	RecordGrit                                        = 114 // [Type: Float32, Base: float32]; 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.
	RecordHeartRate                                   = 3   // [Type: Uint8, Base: uint8];
	RecordLeftPco                                     = 67  // [Type: Sint8, Base: sint8]; Left platform center offset
	RecordLeftPedalSmoothness                         = 45  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	RecordLeftPowerPhase                              = 69  // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Left power phase angles. Data value indexes defined by power_phase_type.
	RecordLeftPowerPhasePeak                          = 70  // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Left power phase peak angles. Data value indexes defined by power_phase_type.
	RecordLeftRightBalance                            = 30  // [Type: LeftRightBalance, Base: uint8];
	RecordLeftTorqueEffectiveness                     = 43  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	RecordMotorPower                                  = 82  // [Type: Uint16, Base: uint16]; lev motor power
	RecordN2Load                                      = 98  // [Type: Uint16, Base: uint16];
	RecordNdlTime                                     = 96  // [Type: Uint32, Base: uint32];
	RecordNextStopDepth                               = 93  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; 0 if above water
	RecordNextStopTime                                = 94  // [Type: Uint32, Base: uint32];
	RecordPo2                                         = 129 // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; Current partial pressure of oxygen
	RecordPositionLat                                 = 0   // [Type: Sint32, Base: sint32];
	RecordPositionLong                                = 1   // [Type: Sint32, Base: sint32];
	RecordPower                                       = 7   // [Type: Uint16, Base: uint16];
	RecordPressureSac                                 = 124 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Pressure-based surface air consumption
	RecordResistance                                  = 10  // [Type: Uint8, Base: uint8]; Relative. 0 is none 254 is Max.
	RecordRespirationRate                             = 99  // [Type: Uint8, Base: uint8];
	RecordRightPco                                    = 68  // [Type: Sint8, Base: sint8]; Right platform center offset
	RecordRightPedalSmoothness                        = 46  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	RecordRightPowerPhase                             = 71  // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Right power phase angles. Data value indexes defined by power_phase_type.
	RecordRightPowerPhasePeak                         = 72  // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Right power phase peak angles. Data value indexes defined by power_phase_type.
	RecordRightTorqueEffectiveness                    = 44  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	RecordRmv                                         = 126 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Respiratory minute volume
	RecordSaturatedHemoglobinPercent                  = 57  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0]; Percentage of hemoglobin saturated with oxygen
	RecordSaturatedHemoglobinPercentMax               = 59  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0]; Max percentage of hemoglobin saturated with oxygen
	RecordSaturatedHemoglobinPercentMin               = 58  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0]; Min percentage of hemoglobin saturated with oxygen
	RecordSpeed                                       = 6   // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	RecordSpeed1S                                     = 17  // [Type: Uint8, Base: uint8, Scale: 16, Offset: 0]; Speed at 1s intervals. Timestamp field indicates time of last array element.
	RecordStanceTime                                  = 41  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	RecordStanceTimeBalance                           = 84  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	RecordStanceTimePercent                           = 40  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	RecordStepLength                                  = 85  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	RecordStrokeType                                  = 49  // [Type: StrokeType, Base: enum];
	RecordTemperature                                 = 13  // [Type: Sint8, Base: sint8];
	RecordTime128                                     = 48  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0];
	RecordTimeFromCourse                              = 11  // [Type: Sint32, Base: sint32, Scale: 1000, Offset: 0];
	RecordTimeToSurface                               = 95  // [Type: Uint32, Base: uint32];
	RecordTimestamp                                   = 253 // [Type: DateTime, Base: uint32];
	RecordTotalCycles                                 = 19  // [Type: Uint32, Base: uint32];
	RecordTotalHemoglobinConc                         = 54  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Total saturated and unsaturated hemoglobin
	RecordTotalHemoglobinConcMax                      = 56  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Max saturated and unsaturated hemoglobin
	RecordTotalHemoglobinConcMin                      = 55  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Min saturated and unsaturated hemoglobin
	RecordVerticalOscillation                         = 39  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	RecordVerticalRatio                               = 83  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	RecordVerticalSpeed                               = 32  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	RecordVolumeSac                                   = 125 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Volumetric surface air consumption
	RecordZone                                        = 50  // [Type: Uint8, Base: uint8];
	RespirationRateRespirationRate                    = 0   // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0]; Breaths * 100 /min, -300 indicates invalid, -200 indicates large motion, -100 indicates off wrist
	RespirationRateTimestamp                          = 253 // [Type: DateTime, Base: uint32];
	ScheduleCompleted                                 = 4   // [Type: Bool, Base: bool]; TRUE if this activity has been started
	ScheduleManufacturer                              = 0   // [Type: Manufacturer, Base: uint16]; Corresponds to file_id of scheduled workout / course.
	ScheduleProduct                                   = 1   // [Type: Uint16, Base: uint16]; Corresponds to file_id of scheduled workout / course.
	ScheduleScheduledTime                             = 6   // [Type: LocalDateTime, Base: uint32];
	ScheduleSerialNumber                              = 2   // [Type: Uint32z, Base: uint32z]; Corresponds to file_id of scheduled workout / course.
	ScheduleTimeCreated                               = 3   // [Type: DateTime, Base: uint32]; Corresponds to file_id of scheduled workout / course.
	ScheduleType                                      = 5   // [Type: Schedule, Base: enum];
	SdmProfileEnabled                                 = 0   // [Type: Bool, Base: bool];
	SdmProfileMessageIndex                            = 254 // [Type: MessageIndex, Base: uint16];
	SdmProfileOdometer                                = 3   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0];
	SdmProfileOdometerRollover                        = 7   // [Type: Uint8, Base: uint8]; Rollover counter that can be used to extend the odometer
	SdmProfileSdmAntId                                = 1   // [Type: Uint16z, Base: uint16z];
	SdmProfileSdmAntIdTransType                       = 5   // [Type: Uint8z, Base: uint8z];
	SdmProfileSdmCalFactor                            = 2   // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	SdmProfileSpeedSource                             = 4   // [Type: Bool, Base: bool]; Use footpod for speed source instead of GPS
	SegmentFileDefaultRaceLeader                      = 11  // [Type: Uint8, Base: uint8]; Index for the Leader Board entry selected as the default race participant
	SegmentFileEnabled                                = 3   // [Type: Bool, Base: bool]; Enabled state of the segment file
	SegmentFileFileUuid                               = 1   // [Type: String, Base: string]; UUID of the segment file
	SegmentFileLeaderActivityId                       = 9   // [Type: Uint32, Base: uint32]; Activity ID of each leader in the segment file
	SegmentFileLeaderActivityIdString                 = 10  // [Type: String, Base: string]; String version of the activity ID of each leader in the segment file. 21 characters long for each ID, express in decimal
	SegmentFileLeaderGroupPrimaryKey                  = 8   // [Type: Uint32, Base: uint32]; Group primary key of each leader in the segment file
	SegmentFileLeaderType                             = 7   // [Type: SegmentLeaderboardType, Base: enum]; Leader type of each leader in the segment file
	SegmentFileMessageIndex                           = 254 // [Type: MessageIndex, Base: uint16];
	SegmentFileUserProfilePrimaryKey                  = 4   // [Type: Uint32, Base: uint32]; Primary key of the user that created the segment file
	SegmentIdDefaultRaceLeader                        = 6   // [Type: Uint8, Base: uint8]; Index for the Leader Board entry selected as the default race participant
	SegmentIdDeleteStatus                             = 7   // [Type: SegmentDeleteStatus, Base: enum]; Indicates if any segments should be deleted
	SegmentIdDeviceId                                 = 5   // [Type: Uint32, Base: uint32]; ID of the device that created the segment
	SegmentIdEnabled                                  = 3   // [Type: Bool, Base: bool]; Segment enabled for evaluation
	SegmentIdName                                     = 0   // [Type: String, Base: string]; Friendly name assigned to segment
	SegmentIdSelectionType                            = 8   // [Type: SegmentSelectionType, Base: enum]; Indicates how the segment was selected to be sent to the device
	SegmentIdSport                                    = 2   // [Type: Sport, Base: enum]; Sport associated with the segment
	SegmentIdUserProfilePrimaryKey                    = 4   // [Type: Uint32, Base: uint32]; Primary key of the user that created the segment
	SegmentIdUuid                                     = 1   // [Type: String, Base: string]; UUID of the segment
	SegmentLapActiveTime                              = 56  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SegmentLapAvgAltitude                             = 34  // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	SegmentLapAvgCadence                              = 17  // [Type: Uint8, Base: uint8]; total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles / total_elapsed_time
	SegmentLapAvgCadencePosition                      = 81  // [Type: Uint8, Base: uint8]; Average cadence by position. Data value indexes defined by rider_position_type.
	SegmentLapAvgCombinedPedalSmoothness              = 63  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SegmentLapAvgFlow                                 = 87  // [Type: Float32, Base: float32]; 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.
	SegmentLapAvgFractionalCadence                    = 66  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0]; fractional part of the avg_cadence
	SegmentLapAvgGrade                                = 37  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SegmentLapAvgGrit                                 = 86  // [Type: Float32, Base: float32]; 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.
	SegmentLapAvgHeartRate                            = 15  // [Type: Uint8, Base: uint8];
	SegmentLapAvgLeftPco                              = 73  // [Type: Sint8, Base: sint8]; Average left platform center offset
	SegmentLapAvgLeftPedalSmoothness                  = 61  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SegmentLapAvgLeftPowerPhase                       = 75  // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average left power phase angles. Data value indexes defined by power_phase_type.
	SegmentLapAvgLeftPowerPhasePeak                   = 76  // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average left power phase peak angles. Data value indexes defined by power_phase_type.
	SegmentLapAvgLeftTorqueEffectiveness              = 59  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SegmentLapAvgNegGrade                             = 39  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SegmentLapAvgNegVerticalSpeed                     = 46  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	SegmentLapAvgPosGrade                             = 38  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SegmentLapAvgPosVerticalSpeed                     = 45  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	SegmentLapAvgPower                                = 19  // [Type: Uint16, Base: uint16]; total_power / total_timer_time if non_zero_avg_power otherwise total_power / total_elapsed_time
	SegmentLapAvgPowerPosition                        = 79  // [Type: Uint16, Base: uint16]; Average power by position. Data value indexes defined by rider_position_type.
	SegmentLapAvgRightPco                             = 74  // [Type: Sint8, Base: sint8]; Average right platform center offset
	SegmentLapAvgRightPedalSmoothness                 = 62  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SegmentLapAvgRightPowerPhase                      = 77  // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average right power phase angles. Data value indexes defined by power_phase_type.
	SegmentLapAvgRightPowerPhasePeak                  = 78  // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average right power phase peak angles. Data value indexes defined by power_phase_type.
	SegmentLapAvgRightTorqueEffectiveness             = 60  // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SegmentLapAvgSpeed                                = 13  // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	SegmentLapAvgTemperature                          = 42  // [Type: Sint8, Base: sint8];
	SegmentLapEndPositionLat                          = 5   // [Type: Sint32, Base: sint32];
	SegmentLapEndPositionLong                         = 6   // [Type: Sint32, Base: sint32];
	SegmentLapEnhancedAvgAltitude                     = 91  // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	SegmentLapEnhancedMaxAltitude                     = 92  // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	SegmentLapEnhancedMinAltitude                     = 93  // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	SegmentLapEvent                                   = 0   // [Type: Event, Base: enum];
	SegmentLapEventGroup                              = 24  // [Type: Uint8, Base: uint8];
	SegmentLapEventType                               = 1   // [Type: EventType, Base: enum];
	SegmentLapFrontGearShiftCount                     = 69  // [Type: Uint16, Base: uint16];
	SegmentLapGpsAccuracy                             = 36  // [Type: Uint8, Base: uint8];
	SegmentLapLeftRightBalance                        = 31  // [Type: LeftRightBalance100, Base: uint16];
	SegmentLapManufacturer                            = 83  // [Type: Manufacturer, Base: uint16]; Manufacturer that produced the segment
	SegmentLapMaxAltitude                             = 35  // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	SegmentLapMaxCadence                              = 18  // [Type: Uint8, Base: uint8];
	SegmentLapMaxCadencePosition                      = 82  // [Type: Uint8, Base: uint8]; Maximum cadence by position. Data value indexes defined by rider_position_type.
	SegmentLapMaxFractionalCadence                    = 67  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0]; fractional part of the max_cadence
	SegmentLapMaxHeartRate                            = 16  // [Type: Uint8, Base: uint8];
	SegmentLapMaxNegGrade                             = 41  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SegmentLapMaxNegVerticalSpeed                     = 48  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	SegmentLapMaxPosGrade                             = 40  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SegmentLapMaxPosVerticalSpeed                     = 47  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	SegmentLapMaxPower                                = 20  // [Type: Uint16, Base: uint16];
	SegmentLapMaxPowerPosition                        = 80  // [Type: Uint16, Base: uint16]; Maximum power by position. Data value indexes defined by rider_position_type.
	SegmentLapMaxSpeed                                = 14  // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	SegmentLapMaxTemperature                          = 43  // [Type: Sint8, Base: sint8];
	SegmentLapMessageIndex                            = 254 // [Type: MessageIndex, Base: uint16];
	SegmentLapMinAltitude                             = 54  // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	SegmentLapMinHeartRate                            = 55  // [Type: Uint8, Base: uint8];
	SegmentLapName                                    = 29  // [Type: String, Base: string];
	SegmentLapNecLat                                  = 25  // [Type: Sint32, Base: sint32]; North east corner latitude.
	SegmentLapNecLong                                 = 26  // [Type: Sint32, Base: sint32]; North east corner longitude.
	SegmentLapNormalizedPower                         = 30  // [Type: Uint16, Base: uint16];
	SegmentLapRearGearShiftCount                      = 70  // [Type: Uint16, Base: uint16];
	SegmentLapRepetitionNum                           = 53  // [Type: Uint16, Base: uint16];
	SegmentLapSport                                   = 23  // [Type: Sport, Base: enum];
	SegmentLapSportEvent                              = 58  // [Type: SportEvent, Base: enum];
	SegmentLapStandCount                              = 72  // [Type: Uint16, Base: uint16]; Number of transitions to the standing state
	SegmentLapStartPositionLat                        = 3   // [Type: Sint32, Base: sint32];
	SegmentLapStartPositionLong                       = 4   // [Type: Sint32, Base: sint32];
	SegmentLapStartTime                               = 2   // [Type: DateTime, Base: uint32];
	SegmentLapStatus                                  = 64  // [Type: SegmentLapStatus, Base: enum];
	SegmentLapSubSport                                = 32  // [Type: SubSport, Base: enum];
	SegmentLapSwcLat                                  = 27  // [Type: Sint32, Base: sint32]; South west corner latitude.
	SegmentLapSwcLong                                 = 28  // [Type: Sint32, Base: sint32]; South west corner latitude.
	SegmentLapTimeInCadenceZone                       = 51  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SegmentLapTimeInHrZone                            = 49  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SegmentLapTimeInPowerZone                         = 52  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SegmentLapTimeInSpeedZone                         = 50  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SegmentLapTimeStanding                            = 71  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Total time spent in the standing position
	SegmentLapTimestamp                               = 253 // [Type: DateTime, Base: uint32]; Lap end time.
	SegmentLapTotalAscent                             = 21  // [Type: Uint16, Base: uint16];
	SegmentLapTotalCalories                           = 11  // [Type: Uint16, Base: uint16];
	SegmentLapTotalCycles                             = 10  // [Type: Uint32, Base: uint32];
	SegmentLapTotalDescent                            = 22  // [Type: Uint16, Base: uint16];
	SegmentLapTotalDistance                           = 9   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0];
	SegmentLapTotalElapsedTime                        = 7   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Time (includes pauses)
	SegmentLapTotalFatCalories                        = 12  // [Type: Uint16, Base: uint16]; If New Leaf
	SegmentLapTotalFlow                               = 85  // [Type: Float32, Base: float32]; 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.
	SegmentLapTotalFractionalAscent                   = 89  // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; fractional part of total_ascent
	SegmentLapTotalFractionalCycles                   = 68  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0]; fractional part of the total_cycles
	SegmentLapTotalFractionalDescent                  = 90  // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; fractional part of total_descent
	SegmentLapTotalGrit                               = 84  // [Type: Float32, Base: float32]; 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.
	SegmentLapTotalMovingTime                         = 44  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SegmentLapTotalTimerTime                          = 8   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Timer Time (excludes pauses)
	SegmentLapTotalWork                               = 33  // [Type: Uint32, Base: uint32];
	SegmentLapUuid                                    = 65  // [Type: String, Base: string];
	SegmentLapWktStepIndex                            = 57  // [Type: MessageIndex, Base: uint16];
	SegmentLeaderboardEntryActivityId                 = 3   // [Type: Uint32, Base: uint32]; ID of the activity associated with this leader time
	SegmentLeaderboardEntryActivityIdString           = 5   // [Type: String, Base: string]; String version of the activity_id. 21 characters long, express in decimal
	SegmentLeaderboardEntryGroupPrimaryKey            = 2   // [Type: Uint32, Base: uint32]; Primary user ID of this leader
	SegmentLeaderboardEntryMessageIndex               = 254 // [Type: MessageIndex, Base: uint16];
	SegmentLeaderboardEntryName                       = 0   // [Type: String, Base: string]; Friendly name assigned to leader
	SegmentLeaderboardEntrySegmentTime                = 4   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Segment Time (includes pauses)
	SegmentLeaderboardEntryType                       = 1   // [Type: SegmentLeaderboardType, Base: enum]; Leader classification
	SegmentPointAltitude                              = 4   // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500]; Accumulated altitude along the segment at the described point
	SegmentPointDistance                              = 3   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0]; Accumulated distance along the segment at the described point
	SegmentPointEnhancedAltitude                      = 6   // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500]; Accumulated altitude along the segment at the described point
	SegmentPointLeaderTime                            = 5   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Accumualted time each leader board member required to reach the described point. This value is zero for all leader board members at the starting point of the segment.
	SegmentPointMessageIndex                          = 254 // [Type: MessageIndex, Base: uint16];
	SegmentPointPositionLat                           = 1   // [Type: Sint32, Base: sint32];
	SegmentPointPositionLong                          = 2   // [Type: Sint32, Base: sint32];
	SessionAvgAltitude                                = 49  // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	SessionAvgBallSpeed                               = 88  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionAvgCadence                                 = 18  // [Type: Uint8, Base: uint8]; total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles / total_elapsed_time
	SessionAvgCadencePosition                         = 122 // [Type: Uint8, Base: uint8]; Average cadence by position. Data value indexes defined by rider_position_type.
	SessionAvgCombinedPedalSmoothness                 = 105 // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SessionAvgCoreTemperature                         = 208 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionAvgDepth                                   = 140 // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; 0 if above water
	SessionAvgFlow                                    = 187 // [Type: Float32, Base: float32]; 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.
	SessionAvgFractionalCadence                       = 92  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0]; fractional part of the avg_cadence
	SessionAvgGrade                                   = 52  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SessionAvgGrit                                    = 186 // [Type: Float32, Base: float32]; 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.
	SessionAvgHeartRate                               = 16  // [Type: Uint8, Base: uint8]; average heart rate (excludes pause time)
	SessionAvgLapTime                                 = 69  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SessionAvgLeftPco                                 = 114 // [Type: Sint8, Base: sint8]; Average platform center offset Left
	SessionAvgLeftPedalSmoothness                     = 103 // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SessionAvgLeftPowerPhase                          = 116 // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average left power phase angles. Indexes defined by power_phase_type.
	SessionAvgLeftPowerPhasePeak                      = 117 // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average left power phase peak angles. Data value indexes defined by power_phase_type.
	SessionAvgLeftTorqueEffectiveness                 = 101 // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SessionAvgLevMotorPower                           = 129 // [Type: Uint16, Base: uint16]; lev average motor power during session
	SessionAvgNegGrade                                = 54  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SessionAvgNegVerticalSpeed                        = 61  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	SessionAvgPosGrade                                = 53  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SessionAvgPosVerticalSpeed                        = 60  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	SessionAvgPower                                   = 20  // [Type: Uint16, Base: uint16]; total_power / total_timer_time if non_zero_avg_power otherwise total_power / total_elapsed_time
	SessionAvgPowerPosition                           = 120 // [Type: Uint16, Base: uint16]; Average power by position. Data value indexes defined by rider_position_type.
	SessionAvgRespirationRate                         = 147 // [Type: Uint8, Base: uint8];
	SessionAvgRightPco                                = 115 // [Type: Sint8, Base: sint8]; Average platform center offset Right
	SessionAvgRightPedalSmoothness                    = 104 // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SessionAvgRightPowerPhase                         = 118 // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average right power phase angles. Data value indexes defined by power_phase_type.
	SessionAvgRightPowerPhasePeak                     = 119 // [Type: Uint8, Base: uint8, Scale: 0.7111111, Offset: 0]; Average right power phase peak angles data value indexes defined by power_phase_type.
	SessionAvgRightTorqueEffectiveness                = 102 // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0];
	SessionAvgSaturatedHemoglobinPercent              = 98  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0]; Avg percentage of hemoglobin saturated with oxygen
	SessionAvgSpeed                                   = 14  // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0]; total_distance / total_timer_time
	SessionAvgSpo2                                    = 194 // [Type: Uint8, Base: uint8]; Average SPO2 for the monitoring session
	SessionAvgStanceTime                              = 91  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	SessionAvgStanceTimeBalance                       = 133 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionAvgStanceTimePercent                       = 90  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionAvgStepLength                              = 134 // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	SessionAvgStress                                  = 195 // [Type: Uint8, Base: uint8]; Average stress for the monitoring session
	SessionAvgStrokeCount                             = 41  // [Type: Uint32, Base: uint32, Scale: 10, Offset: 0];
	SessionAvgStrokeDistance                          = 42  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionAvgTemperature                             = 57  // [Type: Sint8, Base: sint8];
	SessionAvgTotalHemoglobinConc                     = 95  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Avg saturated and unsaturated hemoglobin
	SessionAvgVam                                     = 139 // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	SessionAvgVerticalOscillation                     = 89  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	SessionAvgVerticalRatio                           = 132 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionBestLapIndex                               = 70  // [Type: Uint16, Base: uint16];
	SessionDiveNumber                                 = 156 // [Type: Uint32, Base: uint32];
	SessionEndCns                                     = 144 // [Type: Uint8, Base: uint8];
	SessionEndN2                                      = 146 // [Type: Uint16, Base: uint16];
	SessionEndPositionLat                             = 38  // [Type: Sint32, Base: sint32];
	SessionEndPositionLong                            = 39  // [Type: Sint32, Base: sint32];
	SessionEnhancedAvgAltitude                        = 126 // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	SessionEnhancedAvgRespirationRate                 = 169 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionEnhancedAvgSpeed                           = 124 // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; total_distance / total_timer_time
	SessionEnhancedMaxAltitude                        = 128 // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	SessionEnhancedMaxRespirationRate                 = 170 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionEnhancedMaxSpeed                           = 125 // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SessionEnhancedMinAltitude                        = 127 // [Type: Uint32, Base: uint32, Scale: 5, Offset: 500];
	SessionEnhancedMinRespirationRate                 = 180 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionEvent                                      = 0   // [Type: Event, Base: enum]; session
	SessionEventGroup                                 = 27  // [Type: Uint8, Base: uint8];
	SessionEventType                                  = 1   // [Type: EventType, Base: enum]; stop
	SessionFirstLapIndex                              = 25  // [Type: Uint16, Base: uint16];
	SessionGpsAccuracy                                = 51  // [Type: Uint8, Base: uint8];
	SessionIntensityFactor                            = 36  // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	SessionJumpCount                                  = 183 // [Type: Uint16, Base: uint16];
	SessionLeftRightBalance                           = 37  // [Type: LeftRightBalance100, Base: uint16];
	SessionLevBatteryConsumption                      = 131 // [Type: Uint8, Base: uint8, Scale: 2, Offset: 0]; lev battery consumption during session
	SessionMaxAltitude                                = 50  // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	SessionMaxBallSpeed                               = 87  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionMaxCadence                                 = 19  // [Type: Uint8, Base: uint8];
	SessionMaxCadencePosition                         = 123 // [Type: Uint8, Base: uint8]; Maximum cadence by position. Data value indexes defined by rider_position_type.
	SessionMaxCoreTemperature                         = 210 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionMaxDepth                                   = 141 // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; 0 if above water
	SessionMaxFractionalCadence                       = 93  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0]; fractional part of the max_cadence
	SessionMaxHeartRate                               = 17  // [Type: Uint8, Base: uint8];
	SessionMaxLevMotorPower                           = 130 // [Type: Uint16, Base: uint16]; lev maximum motor power during session
	SessionMaxNegGrade                                = 56  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SessionMaxNegVerticalSpeed                        = 63  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	SessionMaxPosGrade                                = 55  // [Type: Sint16, Base: sint16, Scale: 100, Offset: 0];
	SessionMaxPosVerticalSpeed                        = 62  // [Type: Sint16, Base: sint16, Scale: 1000, Offset: 0];
	SessionMaxPower                                   = 21  // [Type: Uint16, Base: uint16];
	SessionMaxPowerPosition                           = 121 // [Type: Uint16, Base: uint16]; Maximum power by position. Data value indexes defined by rider_position_type.
	SessionMaxRespirationRate                         = 148 // [Type: Uint8, Base: uint8];
	SessionMaxSaturatedHemoglobinPercent              = 100 // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0]; Max percentage of hemoglobin saturated with oxygen
	SessionMaxSpeed                                   = 15  // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	SessionMaxTemperature                             = 58  // [Type: Sint8, Base: sint8];
	SessionMaxTotalHemoglobinConc                     = 97  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Max saturated and unsaturated hemoglobin
	SessionMessageIndex                               = 254 // [Type: MessageIndex, Base: uint16]; Selected bit is set for the current session.
	SessionMinAltitude                                = 71  // [Type: Uint16, Base: uint16, Scale: 5, Offset: 500];
	SessionMinCoreTemperature                         = 209 // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionMinHeartRate                               = 64  // [Type: Uint8, Base: uint8];
	SessionMinRespirationRate                         = 149 // [Type: Uint8, Base: uint8];
	SessionMinSaturatedHemoglobinPercent              = 99  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0]; Min percentage of hemoglobin saturated with oxygen
	SessionMinTemperature                             = 150 // [Type: Sint8, Base: sint8];
	SessionMinTotalHemoglobinConc                     = 96  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Min saturated and unsaturated hemoglobin
	SessionNecLat                                     = 29  // [Type: Sint32, Base: sint32]; North east corner latitude
	SessionNecLong                                    = 30  // [Type: Sint32, Base: sint32]; North east corner longitude
	SessionNormalizedPower                            = 34  // [Type: Uint16, Base: uint16];
	SessionNumActiveLengths                           = 47  // [Type: Uint16, Base: uint16]; # of active lengths of swim pool
	SessionNumLaps                                    = 26  // [Type: Uint16, Base: uint16];
	SessionNumLengths                                 = 33  // [Type: Uint16, Base: uint16]; # of lengths of swim pool
	SessionO2Toxicity                                 = 155 // [Type: Uint16, Base: uint16];
	SessionOpponentName                               = 84  // [Type: String, Base: string];
	SessionOpponentScore                              = 83  // [Type: Uint16, Base: uint16];
	SessionPlayerScore                                = 82  // [Type: Uint16, Base: uint16];
	SessionPoolLength                                 = 44  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SessionPoolLengthUnit                             = 46  // [Type: DisplayMeasure, Base: enum];
	SessionRmssdHrv                                   = 198 // [Type: Uint8, Base: uint8]; Root mean square successive difference (RMSSD) - Heart rate variability measure most useful for athletes
	SessionSdrrHrv                                    = 197 // [Type: Uint8, Base: uint8]; Standard deviation of R-R interval (SDRR) - Heart rate variability measure most useful for wellness users.
	SessionSport                                      = 5   // [Type: Sport, Base: enum];
	SessionSportIndex                                 = 111 // [Type: Uint8, Base: uint8];
	SessionSportProfileName                           = 110 // [Type: String, Base: string]; Sport name from associated sport mesg
	SessionStandCount                                 = 113 // [Type: Uint16, Base: uint16]; Number of transitions to the standing state
	SessionStartCns                                   = 143 // [Type: Uint8, Base: uint8];
	SessionStartN2                                    = 145 // [Type: Uint16, Base: uint16];
	SessionStartPositionLat                           = 3   // [Type: Sint32, Base: sint32];
	SessionStartPositionLong                          = 4   // [Type: Sint32, Base: sint32];
	SessionStartTime                                  = 2   // [Type: DateTime, Base: uint32];
	SessionStrokeCount                                = 85  // [Type: Uint16, Base: uint16]; stroke_type enum used as the index
	SessionSubSport                                   = 6   // [Type: SubSport, Base: enum];
	SessionSurfaceInterval                            = 142 // [Type: Uint32, Base: uint32]; Time since end of last dive
	SessionSwcLat                                     = 31  // [Type: Sint32, Base: sint32]; South west corner latitude
	SessionSwcLong                                    = 32  // [Type: Sint32, Base: sint32]; South west corner longitude
	SessionSwimStroke                                 = 43  // [Type: SwimStroke, Base: enum];
	SessionThresholdPower                             = 45  // [Type: Uint16, Base: uint16];
	SessionTimeInCadenceZone                          = 67  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SessionTimeInHrZone                               = 65  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SessionTimeInPowerZone                            = 68  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SessionTimeInSpeedZone                            = 66  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SessionTimeStanding                               = 112 // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Total time spend in the standing position
	SessionTimestamp                                  = 253 // [Type: DateTime, Base: uint32]; Sesson end time.
	SessionTotalAnaerobicTrainingEffect               = 137 // [Type: Uint8, Base: uint8, Scale: 10, Offset: 0];
	SessionTotalAscent                                = 22  // [Type: Uint16, Base: uint16];
	SessionTotalCalories                              = 11  // [Type: Uint16, Base: uint16];
	SessionTotalCycles                                = 10  // [Type: Uint32, Base: uint32];
	SessionTotalDescent                               = 23  // [Type: Uint16, Base: uint16];
	SessionTotalDistance                              = 9   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0];
	SessionTotalElapsedTime                           = 7   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Time (includes pauses)
	SessionTotalFatCalories                           = 13  // [Type: Uint16, Base: uint16];
	SessionTotalFlow                                  = 182 // [Type: Float32, Base: float32]; 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.
	SessionTotalFractionalAscent                      = 199 // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; fractional part of total_ascent
	SessionTotalFractionalCycles                      = 94  // [Type: Uint8, Base: uint8, Scale: 128, Offset: 0]; fractional part of the total_cycles
	SessionTotalFractionalDescent                     = 200 // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0]; fractional part of total_descent
	SessionTotalGrit                                  = 181 // [Type: Float32, Base: float32]; 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.
	SessionTotalMovingTime                            = 59  // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SessionTotalTimerTime                             = 8   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0]; Timer Time (excludes pauses)
	SessionTotalTrainingEffect                        = 24  // [Type: Uint8, Base: uint8, Scale: 10, Offset: 0];
	SessionTotalWork                                  = 48  // [Type: Uint32, Base: uint32];
	SessionTrainingLoadPeak                           = 168 // [Type: Sint32, Base: sint32, Scale: 65536, Offset: 0];
	SessionTrainingStressScore                        = 35  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	SessionTrigger                                    = 28  // [Type: SessionTrigger, Base: enum];
	SessionZoneCount                                  = 86  // [Type: Uint16, Base: uint16]; zone number used as the index
	SetCategory                                       = 7   // [Type: ExerciseCategory, Base: uint16];
	SetCategorySubtype                                = 8   // [Type: Uint16, Base: uint16]; Based on the associated category, see [category]_exercise_names
	SetDuration                                       = 0   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SetMessageIndex                                   = 10  // [Type: MessageIndex, Base: uint16];
	SetRepetitions                                    = 3   // [Type: Uint16, Base: uint16]; # of repitions of the movement
	SetSetType                                        = 5   // [Type: SetType, Base: uint8];
	SetStartTime                                      = 6   // [Type: DateTime, Base: uint32]; Start time of the set
	SetTimestamp                                      = 254 // [Type: DateTime, Base: uint32]; Timestamp of the set
	SetWeight                                         = 4   // [Type: Uint16, Base: uint16, Scale: 16, Offset: 0]; Amount of weight applied for the set
	SetWeightDisplayUnit                              = 9   // [Type: FitBaseUnit, Base: uint16];
	SetWktStepIndex                                   = 11  // [Type: MessageIndex, Base: uint16];
	SlaveDeviceManufacturer                           = 0   // [Type: Manufacturer, Base: uint16];
	SlaveDeviceProduct                                = 1   // [Type: Uint16, Base: uint16];
	SleepAssessmentAverageStressDuringSleep           = 15  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0]; Excludes stress during awake periods in the sleep window
	SleepAssessmentAwakeTimeScore                     = 1   // [Type: Uint8, Base: uint8]; Score that evaluates the total time spent awake between sleep. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentAwakeningsCount                    = 11  // [Type: Uint8, Base: uint8]; The number of awakenings during sleep.
	SleepAssessmentAwakeningsCountScore               = 2   // [Type: Uint8, Base: uint8]; Score that evaluates the number of awakenings that interrupt sleep. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentCombinedAwakeScore                 = 0   // [Type: Uint8, Base: uint8]; Average of awake_time_score and awakenings_count_score. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentDeepSleepScore                     = 3   // [Type: Uint8, Base: uint8]; Score that evaluates the amount of deep sleep. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentInterruptionsScore                 = 14  // [Type: Uint8, Base: uint8]; Score that evaluates the sleep interruptions. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentLightSleepScore                    = 5   // [Type: Uint8, Base: uint8]; Score that evaluates the amount of light sleep. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentOverallSleepScore                  = 6   // [Type: Uint8, Base: uint8]; Total score that summarizes the overall quality of sleep, combining sleep duration and quality. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentRemSleepScore                      = 9   // [Type: Uint8, Base: uint8]; Score that evaluates the amount of REM sleep. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentSleepDurationScore                 = 4   // [Type: Uint8, Base: uint8]; Score that evaluates the quality of sleep based on sleep stages, heart-rate variability and possible awakenings during the night. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentSleepQualityScore                  = 7   // [Type: Uint8, Base: uint8]; Score that evaluates the quality of sleep based on sleep stages, heart-rate variability and possible awakenings during the night. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentSleepRecoveryScore                 = 8   // [Type: Uint8, Base: uint8]; Score that evaluates stress and recovery during sleep. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepAssessmentSleepRestlessnessScore             = 10  // [Type: Uint8, Base: uint8]; Score that evaluates the amount of restlessness during sleep. If valid: 0 (worst) to 100 (best). If unknown: FIT_UINT8_INVALID.
	SleepLevelSleepLevel                              = 0   // [Type: SleepLevel, Base: enum];
	SleepLevelTimestamp                               = 253 // [Type: DateTime, Base: uint32];
	SoftwareMessageIndex                              = 254 // [Type: MessageIndex, Base: uint16];
	SoftwarePartNumber                                = 5   // [Type: String, Base: string];
	SoftwareVersion                                   = 3   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	SpeedZoneHighValue                                = 0   // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	SpeedZoneMessageIndex                             = 254 // [Type: MessageIndex, Base: uint16];
	SpeedZoneName                                     = 1   // [Type: String, Base: string];
	SplitSplitType                                    = 0   // [Type: SplitType, Base: enum];
	SplitStartTime                                    = 9   // [Type: DateTime, Base: uint32];
	SplitTotalDistance                                = 3   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0];
	SplitTotalElapsedTime                             = 1   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	SplitTotalTimerTime                               = 2   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	Spo2DataMode                                      = 2   // [Type: Spo2MeasurementType, Base: enum]; Mode when data was captured
	Spo2DataReadingConfidence                         = 1   // [Type: Uint8, Base: uint8];
	Spo2DataReadingSpo2                               = 0   // [Type: Uint8, Base: uint8];
	Spo2DataTimestamp                                 = 253 // [Type: DateTime, Base: uint32];
	SportName                                         = 3   // [Type: String, Base: string];
	SportSport                                        = 0   // [Type: Sport, Base: enum];
	SportSubSport                                     = 1   // [Type: SubSport, Base: enum];
	StressLevelStressLevelTime                        = 1   // [Type: DateTime, Base: uint32]; Time stress score was calculated
	StressLevelStressLevelValue                       = 0   // [Type: Sint16, Base: sint16];
	TankSummaryEndPressure                            = 2   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	TankSummarySensor                                 = 0   // [Type: AntChannelId, Base: uint32z];
	TankSummaryStartPressure                          = 1   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	TankSummaryTimestamp                              = 253 // [Type: DateTime, Base: uint32];
	TankSummaryVolumeUsed                             = 3   // [Type: Uint32, Base: uint32, Scale: 100, Offset: 0];
	TankUpdatePressure                                = 1   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	TankUpdateSensor                                  = 0   // [Type: AntChannelId, Base: uint32z];
	TankUpdateTimestamp                               = 253 // [Type: DateTime, Base: uint32];
	ThreeDSensorCalibrationCalibrationDivisor         = 2   // [Type: Uint32, Base: uint32]; Calibration factor divisor
	ThreeDSensorCalibrationCalibrationFactor          = 1   // [Type: Uint32, Base: uint32]; Calibration factor used to convert from raw ADC value to degrees, g, etc.
	ThreeDSensorCalibrationLevelShift                 = 3   // [Type: Uint32, Base: uint32]; Level shift value used to shift the ADC value back into range
	ThreeDSensorCalibrationOffsetCal                  = 4   // [Type: Sint32, Base: sint32]; Internal calibration factors, one for each: xy, yx, zx
	ThreeDSensorCalibrationOrientationMatrix          = 5   // [Type: Sint32, Base: sint32, Scale: 65535, Offset: 0]; 3 x 3 rotation matrix (row major)
	ThreeDSensorCalibrationSensorType                 = 0   // [Type: SensorType, Base: enum]; Indicates which sensor the calibration is for
	ThreeDSensorCalibrationTimestamp                  = 253 // [Type: DateTime, Base: uint32]; Whole second part of the timestamp
	TimeInZoneCadenceZoneHighBondary                  = 8   // [Type: Uint8, Base: uint8];
	TimeInZoneFunctionalThresholdPower                = 15  // [Type: Uint16, Base: uint16];
	TimeInZoneHrCalcType                              = 10  // [Type: HrZoneCalc, Base: enum];
	TimeInZoneHrZoneHighBoundary                      = 6   // [Type: Uint8, Base: uint8];
	TimeInZoneMaxHeartRate                            = 11  // [Type: Uint8, Base: uint8];
	TimeInZonePowerZoneHighBoundary                   = 9   // [Type: Uint16, Base: uint16];
	TimeInZonePwrCalcType                             = 14  // [Type: PwrZoneCalc, Base: enum];
	TimeInZoneReferenceIndex                          = 1   // [Type: MessageIndex, Base: uint16];
	TimeInZoneReferenceMesg                           = 0   // [Type: MesgNum, Base: uint16];
	TimeInZoneRestingHeartRate                        = 12  // [Type: Uint8, Base: uint8];
	TimeInZoneSpeedZoneHighBoundary                   = 7   // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	TimeInZoneThresholdHeartRate                      = 13  // [Type: Uint8, Base: uint8];
	TimeInZoneTimeInCadenceZone                       = 4   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	TimeInZoneTimeInHrZone                            = 2   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	TimeInZoneTimeInPowerZone                         = 5   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	TimeInZoneTimeInSpeedZone                         = 3   // [Type: Uint32, Base: uint32, Scale: 1000, Offset: 0];
	TimeInZoneTimestamp                               = 253 // [Type: DateTime, Base: uint32];
	TimestampCorrelationFractionalSystemTimestamp     = 2   // [Type: Uint16, Base: uint16, Scale: 32768, Offset: 0]; Fractional part of the system timestamp
	TimestampCorrelationFractionalTimestamp           = 0   // [Type: Uint16, Base: uint16, Scale: 32768, Offset: 0]; Fractional part of the UTC timestamp at the time the system timestamp was recorded.
	TimestampCorrelationLocalTimestamp                = 3   // [Type: LocalDateTime, Base: uint32]; timestamp epoch expressed in local time used to convert timestamps to local time
	TimestampCorrelationSystemTimestamp               = 1   // [Type: DateTime, Base: uint32]; Whole second part of the system timestamp
	TimestampCorrelationSystemTimestampMs             = 5   // [Type: Uint16, Base: uint16]; Millisecond part of the system timestamp
	TimestampCorrelationTimestamp                     = 253 // [Type: DateTime, Base: uint32]; Whole second part of UTC timestamp at the time the system timestamp was recorded.
	TimestampCorrelationTimestampMs                   = 4   // [Type: Uint16, Base: uint16]; Millisecond part of the UTC timestamp at the time the system timestamp was recorded.
	TotalsActiveTime                                  = 6   // [Type: Uint32, Base: uint32];
	TotalsCalories                                    = 2   // [Type: Uint32, Base: uint32];
	TotalsDistance                                    = 1   // [Type: Uint32, Base: uint32];
	TotalsElapsedTime                                 = 4   // [Type: Uint32, Base: uint32]; Includes pauses
	TotalsMessageIndex                                = 254 // [Type: MessageIndex, Base: uint16];
	TotalsSessions                                    = 5   // [Type: Uint16, Base: uint16];
	TotalsSport                                       = 3   // [Type: Sport, Base: enum];
	TotalsSportIndex                                  = 9   // [Type: Uint8, Base: uint8];
	TotalsTimerTime                                   = 0   // [Type: Uint32, Base: uint32]; Excludes pauses
	TotalsTimestamp                                   = 253 // [Type: DateTime, Base: uint32];
	TrainingFileManufacturer                          = 1   // [Type: Manufacturer, Base: uint16];
	TrainingFileProduct                               = 2   // [Type: Uint16, Base: uint16];
	TrainingFileSerialNumber                          = 3   // [Type: Uint32z, Base: uint32z];
	TrainingFileTimeCreated                           = 4   // [Type: DateTime, Base: uint32];
	TrainingFileTimestamp                             = 253 // [Type: DateTime, Base: uint32];
	TrainingFileType                                  = 0   // [Type: File, Base: enum];
	UserProfileActivityClass                          = 17  // [Type: ActivityClass, Base: enum];
	UserProfileAge                                    = 2   // [Type: Uint8, Base: uint8];
	UserProfileDefaultMaxBikingHeartRate              = 10  // [Type: Uint8, Base: uint8];
	UserProfileDefaultMaxHeartRate                    = 11  // [Type: Uint8, Base: uint8];
	UserProfileDefaultMaxRunningHeartRate             = 9   // [Type: Uint8, Base: uint8];
	UserProfileDepthSetting                           = 47  // [Type: DisplayMeasure, Base: enum];
	UserProfileDistSetting                            = 14  // [Type: DisplayMeasure, Base: enum];
	UserProfileDiveCount                              = 49  // [Type: Uint32, Base: uint32];
	UserProfileElevSetting                            = 6   // [Type: DisplayMeasure, Base: enum];
	UserProfileFriendlyName                           = 0   // [Type: String, Base: string];
	UserProfileGender                                 = 1   // [Type: Gender, Base: enum];
	UserProfileGlobalId                               = 23  // [Type: Byte, Base: byte];
	UserProfileHeight                                 = 3   // [Type: Uint8, Base: uint8, Scale: 100, Offset: 0];
	UserProfileHeightSetting                          = 30  // [Type: DisplayMeasure, Base: enum];
	UserProfileHrSetting                              = 12  // [Type: DisplayHeart, Base: enum];
	UserProfileLanguage                               = 5   // [Type: Language, Base: enum];
	UserProfileLocalId                                = 22  // [Type: UserLocalId, Base: uint16];
	UserProfileMessageIndex                           = 254 // [Type: MessageIndex, Base: uint16];
	UserProfilePositionSetting                        = 18  // [Type: DisplayPosition, Base: enum];
	UserProfilePowerSetting                           = 16  // [Type: DisplayPower, Base: enum];
	UserProfileRestingHeartRate                       = 8   // [Type: Uint8, Base: uint8];
	UserProfileSleepTime                              = 29  // [Type: LocaltimeIntoDay, Base: uint32]; Typical bed time
	UserProfileSpeedSetting                           = 13  // [Type: DisplayMeasure, Base: enum];
	UserProfileTemperatureSetting                     = 21  // [Type: DisplayMeasure, Base: enum];
	UserProfileUserRunningStepLength                  = 31  // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0]; User defined running step length set to 0 for auto length
	UserProfileUserWalkingStepLength                  = 32  // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0]; User defined walking step length set to 0 for auto length
	UserProfileWakeTime                               = 28  // [Type: LocaltimeIntoDay, Base: uint32]; Typical wake time
	UserProfileWeight                                 = 4   // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	UserProfileWeightSetting                          = 7   // [Type: DisplayMeasure, Base: enum];
	VideoClipClipEnd                                  = 7   // [Type: Uint32, Base: uint32]; End of clip in video time
	VideoClipClipNumber                               = 0   // [Type: Uint16, Base: uint16];
	VideoClipClipStart                                = 6   // [Type: Uint32, Base: uint32]; Start of clip in video time
	VideoClipEndTimestamp                             = 3   // [Type: DateTime, Base: uint32];
	VideoClipEndTimestampMs                           = 4   // [Type: Uint16, Base: uint16];
	VideoClipStartTimestamp                           = 1   // [Type: DateTime, Base: uint32];
	VideoClipStartTimestampMs                         = 2   // [Type: Uint16, Base: uint16];
	VideoDescriptionMessageCount                      = 0   // [Type: Uint16, Base: uint16]; Total number of description parts
	VideoDescriptionMessageIndex                      = 254 // [Type: MessageIndex, Base: uint16]; Long descriptions will be split into multiple parts
	VideoDescriptionText                              = 1   // [Type: String, Base: string];
	VideoDuration                                     = 2   // [Type: Uint32, Base: uint32]; Playback time of video
	VideoFrameFrameNumber                             = 1   // [Type: Uint32, Base: uint32]; Number of the frame that the timestamp and timestamp_ms correlate to
	VideoFrameTimestamp                               = 253 // [Type: DateTime, Base: uint32]; Whole second part of the timestamp
	VideoFrameTimestampMs                             = 0   // [Type: Uint16, Base: uint16]; Millisecond part of the timestamp.
	VideoHostingProvider                              = 1   // [Type: String, Base: string];
	VideoTitleMessageCount                            = 0   // [Type: Uint16, Base: uint16]; Total number of title parts
	VideoTitleMessageIndex                            = 254 // [Type: MessageIndex, Base: uint16]; Long titles will be split into multiple parts
	VideoTitleText                                    = 1   // [Type: String, Base: string];
	VideoUrl                                          = 0   // [Type: String, Base: string];
	WatchfaceSettingsLayout                           = 1   // [Type: Byte, Base: byte];
	WatchfaceSettingsMessageIndex                     = 254 // [Type: MessageIndex, Base: uint16];
	WatchfaceSettingsMode                             = 0   // [Type: WatchfaceMode, Base: enum];
	WeatherAlertExpireTime                            = 2   // [Type: DateTime, Base: uint32]; Time alert expires
	WeatherAlertIssueTime                             = 1   // [Type: DateTime, Base: uint32]; Time alert was issued
	WeatherAlertReportId                              = 0   // [Type: String, Base: string]; Unique identifier from GCS report ID string, length is 12
	WeatherAlertSeverity                              = 3   // [Type: WeatherSeverity, Base: enum]; Warning, Watch, Advisory, Statement
	WeatherAlertTimestamp                             = 253 // [Type: DateTime, Base: uint32];
	WeatherAlertType                                  = 4   // [Type: WeatherSevereType, Base: enum]; Tornado, Severe Thunderstorm, etc.
	WeatherConditionsCondition                        = 2   // [Type: WeatherStatus, Base: enum]; Corresponds to GSC Response weatherIcon field
	WeatherConditionsDayOfWeek                        = 12  // [Type: DayOfWeek, Base: enum];
	WeatherConditionsHighTemperature                  = 13  // [Type: Sint8, Base: sint8];
	WeatherConditionsLocation                         = 8   // [Type: String, Base: string]; string corresponding to GCS response location string
	WeatherConditionsLowTemperature                   = 14  // [Type: Sint8, Base: sint8];
	WeatherConditionsObservedAtTime                   = 9   // [Type: DateTime, Base: uint32];
	WeatherConditionsObservedLocationLat              = 10  // [Type: Sint32, Base: sint32];
	WeatherConditionsObservedLocationLong             = 11  // [Type: Sint32, Base: sint32];
	WeatherConditionsPrecipitationProbability         = 5   // [Type: Uint8, Base: uint8]; range 0-100
	WeatherConditionsRelativeHumidity                 = 7   // [Type: Uint8, Base: uint8];
	WeatherConditionsTemperature                      = 1   // [Type: Sint8, Base: sint8];
	WeatherConditionsTemperatureFeelsLike             = 6   // [Type: Sint8, Base: sint8]; Heat Index if GCS heatIdx above or equal to 90F or wind chill if GCS windChill below or equal to 32F
	WeatherConditionsTimestamp                        = 253 // [Type: DateTime, Base: uint32]; time of update for current conditions, else forecast time
	WeatherConditionsWeatherReport                    = 0   // [Type: WeatherReport, Base: enum]; Current or forecast
	WeatherConditionsWindDirection                    = 3   // [Type: Uint16, Base: uint16];
	WeatherConditionsWindSpeed                        = 4   // [Type: Uint16, Base: uint16, Scale: 1000, Offset: 0];
	WeightScaleActiveMet                              = 9   // [Type: Uint16, Base: uint16, Scale: 4, Offset: 0]; ~4kJ per kcal, 0.25 allows max 16384 kcal
	WeightScaleBasalMet                               = 7   // [Type: Uint16, Base: uint16, Scale: 4, Offset: 0];
	WeightScaleBmi                                    = 13  // [Type: Uint16, Base: uint16, Scale: 10, Offset: 0];
	WeightScaleBoneMass                               = 4   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	WeightScaleMetabolicAge                           = 10  // [Type: Uint8, Base: uint8];
	WeightScaleMuscleMass                             = 5   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	WeightScalePercentFat                             = 1   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	WeightScalePercentHydration                       = 2   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	WeightScalePhysiqueRating                         = 8   // [Type: Uint8, Base: uint8];
	WeightScaleTimestamp                              = 253 // [Type: DateTime, Base: uint32];
	WeightScaleUserProfileIndex                       = 12  // [Type: MessageIndex, Base: uint16]; Associates this weight scale message to a user. This corresponds to the index of the user profile message in the weight scale file.
	WeightScaleVisceralFatMass                        = 3   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	WeightScaleVisceralFatRating                      = 11  // [Type: Uint8, Base: uint8];
	WeightScaleWeight                                 = 0   // [Type: Weight, Base: uint16, Scale: 100, Offset: 0];
	WorkoutCapabilities                               = 5   // [Type: WorkoutCapabilities, Base: uint32z];
	WorkoutMessageIndex                               = 254 // [Type: MessageIndex, Base: uint16];
	WorkoutNumValidSteps                              = 6   // [Type: Uint16, Base: uint16]; number of valid steps
	WorkoutPoolLength                                 = 14  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	WorkoutPoolLengthUnit                             = 15  // [Type: DisplayMeasure, Base: enum];
	WorkoutSessionFirstStepIndex                      = 3   // [Type: Uint16, Base: uint16];
	WorkoutSessionMessageIndex                        = 254 // [Type: MessageIndex, Base: uint16];
	WorkoutSessionNumValidSteps                       = 2   // [Type: Uint16, Base: uint16];
	WorkoutSessionPoolLength                          = 4   // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	WorkoutSessionPoolLengthUnit                      = 5   // [Type: DisplayMeasure, Base: enum];
	WorkoutSessionSport                               = 0   // [Type: Sport, Base: enum];
	WorkoutSessionSubSport                            = 1   // [Type: SubSport, Base: enum];
	WorkoutSport                                      = 4   // [Type: Sport, Base: enum];
	WorkoutStepCustomTargetValueHigh                  = 6   // [Type: Uint32, Base: uint32];
	WorkoutStepCustomTargetValueLow                   = 5   // [Type: Uint32, Base: uint32];
	WorkoutStepDurationType                           = 1   // [Type: WktStepDuration, Base: enum];
	WorkoutStepDurationValue                          = 2   // [Type: Uint32, Base: uint32];
	WorkoutStepEquipment                              = 9   // [Type: WorkoutEquipment, Base: enum];
	WorkoutStepExerciseCategory                       = 10  // [Type: ExerciseCategory, Base: uint16];
	WorkoutStepExerciseName                           = 11  // [Type: Uint16, Base: uint16];
	WorkoutStepExerciseWeight                         = 12  // [Type: Uint16, Base: uint16, Scale: 100, Offset: 0];
	WorkoutStepIntensity                              = 7   // [Type: Intensity, Base: enum];
	WorkoutStepMessageIndex                           = 254 // [Type: MessageIndex, Base: uint16];
	WorkoutStepNotes                                  = 8   // [Type: String, Base: string];
	WorkoutStepSecondaryCustomTargetValueHigh         = 22  // [Type: Uint32, Base: uint32];
	WorkoutStepSecondaryCustomTargetValueLow          = 21  // [Type: Uint32, Base: uint32];
	WorkoutStepSecondaryTargetType                    = 19  // [Type: WktStepTarget, Base: enum];
	WorkoutStepSecondaryTargetValue                   = 20  // [Type: Uint32, Base: uint32];
	WorkoutStepTargetType                             = 3   // [Type: WktStepTarget, Base: enum];
	WorkoutStepTargetValue                            = 4   // [Type: Uint32, Base: uint32];
	WorkoutStepWeightDisplayUnit                      = 13  // [Type: FitBaseUnit, Base: uint16];
	WorkoutStepWktStepName                            = 0   // [Type: String, Base: string];
	WorkoutSubSport                                   = 11  // [Type: SubSport, Base: enum];
	WorkoutWktName                                    = 8   // [Type: String, Base: string];
	ZonesTargetFunctionalThresholdPower               = 3   // [Type: Uint16, Base: uint16];
	ZonesTargetHrCalcType                             = 5   // [Type: HrZoneCalc, Base: enum];
	ZonesTargetMaxHeartRate                           = 1   // [Type: Uint8, Base: uint8];
	ZonesTargetPwrCalcType                            = 7   // [Type: PwrZoneCalc, Base: enum];
	ZonesTargetThresholdHeartRate                     = 2   // [Type: Uint8, Base: uint8];
	Invalid                                           = 255
)

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL