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.
Click to show internal directories.
Click to hide internal directories.