README ¶
fit
fit is a Go package that implements decoding and encoding of the Flexible and Interoperable Data Transfer (FIT) Protocol. Fit is a "compact binary format designed for storing and sharing data from sport, fitness and health devices". Fit files are created by newer GPS enabled Garmin sport watches and cycling computers, such as the Forerunner/Edge/Fenix series.
The two latest versions of Go is supported. The core decoding package has no external dependencies. The latest release of Go and a few external dependencies are required for running the full test suite and benchmarks.
Latest release: 0.7.0
Note: 0.6.0 contains a breaking change, see #46.
FIT SDK Version Support
Current supported FIT SDK version: 21.38
Warning: Data Developers Fields are not yet supported (#21).
Older supported profile versions:
- 21.32
- 20.90
- 20.43
- 20.27
- 20.14
- 16.20
Other profile versions may work, but have not been tested.
Features
- Supports all FIT file types.
- Accessors for scaled fields.
- Accessors for dynamic fields.
- Field components expansion.
- Go code generation for custom FIT product profiles.
Installation
Using Go modules:
$ go get github.com/tormoder/fit@v0.7.0
Using $GOPATH
:
$ go get github.com/tormoder/fit
About fit
- Example Usage
- Data Types
- Main API Reference
- Custom Product Profiles
- Upcoming Features
- Contributing
- License
Contributors
Documentation ¶
Overview ¶
Package fit implements decoding of the Flexible and Interoperable Data Transfer (FIT) Protocol. For more information see https://github.com/tormoder/fit.
Example ¶
Output: 2012-04-09 21:22:26 +0000 UTC Hrm1 Activity 41.51393 -73.14859 Running
Index ¶
- Constants
- func CheckIntegrity(r io.Reader, headerOnly bool) error
- func DecodeHeaderAndFileID(r io.Reader) (Header, FileIdMsg, error)
- func Encode(w io.Writer, file *File, arch binary.ByteOrder) error
- func IsBaseTime(t time.Time) bool
- type AccelerometerDataMsg
- type ActivityClass
- type ActivityFile
- type ActivityLevel
- type ActivityMode
- type ActivityMsg
- type ActivitySubtype
- type ActivitySummaryFile
- type ActivityType
- type AnalogWatchfaceLayout
- type AntChannelIdMsg
- type AntNetwork
- type AntRxMsg
- type AntTxMsg
- type AntplusDeviceType
- type AttitudeStage
- type AttitudeValidity
- type AutoActivityDetect
- type AutoSyncFrequency
- type AutolapTrigger
- type Autoscroll
- type AviationAttitudeMsg
- func (x *AviationAttitudeMsg) GetAccelLateralScaled() []float64
- func (x *AviationAttitudeMsg) GetAccelNormalScaled() []float64
- func (x *AviationAttitudeMsg) GetPitchScaled() []float64
- func (x *AviationAttitudeMsg) GetRollScaled() []float64
- func (x *AviationAttitudeMsg) GetTrackScaled() []float64
- func (x *AviationAttitudeMsg) GetTurnRateScaled() []float64
- type BacklightMode
- type BacklightTimeout
- type BarometerDataMsg
- type BatteryStatus
- type BenchPressExerciseName
- type BikeLightBeamAngleMode
- type BikeLightNetworkConfigType
- type BikeProfileMsg
- func (x *BikeProfileMsg) GetAutoWheelsizeScaled() float64
- func (x *BikeProfileMsg) GetBikeWeightScaled() float64
- func (x *BikeProfileMsg) GetCrankLengthScaled() float64
- func (x *BikeProfileMsg) GetCustomWheelsizeScaled() float64
- func (x *BikeProfileMsg) GetOdometerScaled() float64
- func (x *BikeProfileMsg) GetPowerCalFactorScaled() float64
- type BloodPressureFile
- type BloodPressureMsg
- type BodyLocation
- type Bool
- type BpStatus
- type CadenceZoneMsg
- type CalfRaiseExerciseName
- type CameraEventMsg
- type CameraEventType
- type CameraOrientationType
- type CapabilitiesMsg
- type CardioExerciseName
- type CarryExerciseName
- type Checksum
- type ChopExerciseName
- type ClimbProEvent
- type ClimbProMsg
- type CommTimeoutType
- type ConnectivityCapabilities
- type ConnectivityMsg
- type CoreExerciseName
- type CourseCapabilities
- type CourseFile
- type CourseMsg
- type CoursePoint
- type CoursePointMsg
- type CrunchExerciseName
- type CurlExerciseName
- type DateMode
- type DayOfWeek
- type DeadliftExerciseName
- type DecodeOption
- type DeveloperDataIdMsg
- type DeviceFile
- type DeviceIndex
- type DeviceInfoMsg
- type DeviceSettingsMsg
- type DigitalWatchfaceLayout
- type DisplayHeart
- type DisplayMeasure
- type DisplayOrientation
- type DisplayPosition
- type DisplayPower
- type DiveAlarmMsg
- type DiveAlarmType
- type DiveBacklightMode
- type DiveGasMsg
- type DiveGasStatus
- type DiveSettingsMsg
- type DiveSummaryMsg
- type Event
- type EventMsg
- type EventType
- type ExdDataConceptConfigurationMsg
- type ExdDataFieldConfigurationMsg
- type ExdDataUnits
- type ExdDescriptors
- type ExdDisplayType
- type ExdLayout
- type ExdQualifiers
- type ExdScreenConfigurationMsg
- type ExerciseCategory
- type ExerciseTitleMsg
- type FaveroProduct
- type FieldCapabilitiesMsg
- type FieldDescriptionMsg
- type File
- func (f *File) Activity() (*ActivityFile, error)
- func (f *File) ActivitySummary() (*ActivitySummaryFile, error)
- func (f *File) BloodPressure() (*BloodPressureFile, error)
- func (f *File) Course() (*CourseFile, error)
- func (f *File) Device() (*DeviceFile, error)
- func (f *File) Goals() (*GoalsFile, error)
- func (f *File) MonitoringA() (*MonitoringAFile, error)
- func (f *File) MonitoringB() (*MonitoringBFile, error)
- func (f *File) MonitoringDaily() (*MonitoringDailyFile, error)
- func (f *File) Schedules() (*SchedulesFile, error)
- func (f *File) Segment() (*SegmentFile, error)
- func (f *File) SegmentList() (*SegmentListFile, error)
- func (f *File) Settings() (*SettingsFile, error)
- func (f *File) Sport() (*SportFile, error)
- func (f *File) Totals() (*TotalsFile, error)
- func (f *File) Type() FileType
- func (f *File) Weight() (*WeightFile, error)
- func (f *File) Workout() (*WorkoutFile, error)
- type FileCapabilitiesMsg
- type FileCreatorMsg
- type FileFlags
- type FileIdMsg
- type FileType
- type FitBaseType
- type FitBaseUnit
- type FitnessEquipmentState
- type FlyeExerciseName
- type FormatError
- type GarminProduct
- type Gender
- type Goal
- type GoalMsg
- type GoalRecurrence
- type GoalSource
- type GoalsFile
- type GpsMetadataMsg
- type GyroscopeDataMsg
- type Header
- type HipRaiseExerciseName
- type HipStabilityExerciseName
- type HipSwingExerciseName
- type HrMsg
- type HrType
- type HrZoneCalc
- type HrZoneMsg
- type HrmProfileMsg
- type HrvMsg
- type HyperextensionExerciseName
- type IntegrityError
- type Intensity
- type JumpMsg
- type Language
- type LanguageBits0
- type LanguageBits1
- type LanguageBits2
- type LanguageBits3
- type LanguageBits4
- type LapMsg
- func (x *LapMsg) GetAvgAltitudeScaled() float64
- func (x *LapMsg) GetAvgCadence() interface{}
- func (x *LapMsg) GetAvgFractionalCadenceScaled() float64
- func (x *LapMsg) GetAvgGradeScaled() float64
- func (x *LapMsg) GetAvgNegGradeScaled() float64
- func (x *LapMsg) GetAvgNegVerticalSpeedScaled() float64
- func (x *LapMsg) GetAvgPosGradeScaled() float64
- func (x *LapMsg) GetAvgPosVerticalSpeedScaled() float64
- func (x *LapMsg) GetAvgSaturatedHemoglobinPercentScaled() []float64
- func (x *LapMsg) GetAvgSpeedScaled() float64
- func (x *LapMsg) GetAvgStanceTimePercentScaled() float64
- func (x *LapMsg) GetAvgStanceTimeScaled() float64
- func (x *LapMsg) GetAvgStrokeDistanceScaled() float64
- func (x *LapMsg) GetAvgTotalHemoglobinConcScaled() []float64
- func (x *LapMsg) GetAvgVamScaled() float64
- func (x *LapMsg) GetAvgVerticalOscillationScaled() float64
- func (x *LapMsg) GetEnhancedAvgAltitudeScaled() float64
- func (x *LapMsg) GetEnhancedAvgSpeedScaled() float64
- func (x *LapMsg) GetEnhancedMaxAltitudeScaled() float64
- func (x *LapMsg) GetEnhancedMaxSpeedScaled() float64
- func (x *LapMsg) GetEnhancedMinAltitudeScaled() float64
- func (x *LapMsg) GetMaxAltitudeScaled() float64
- func (x *LapMsg) GetMaxCadence() interface{}
- func (x *LapMsg) GetMaxFractionalCadenceScaled() float64
- func (x *LapMsg) GetMaxNegGradeScaled() float64
- func (x *LapMsg) GetMaxNegVerticalSpeedScaled() float64
- func (x *LapMsg) GetMaxPosGradeScaled() float64
- func (x *LapMsg) GetMaxPosVerticalSpeedScaled() float64
- func (x *LapMsg) GetMaxSaturatedHemoglobinPercentScaled() []float64
- func (x *LapMsg) GetMaxSpeedScaled() float64
- func (x *LapMsg) GetMaxTotalHemoglobinConcScaled() []float64
- func (x *LapMsg) GetMinAltitudeScaled() float64
- func (x *LapMsg) GetMinSaturatedHemoglobinPercentScaled() []float64
- func (x *LapMsg) GetMinTotalHemoglobinConcScaled() []float64
- func (x *LapMsg) GetTimeInCadenceZoneScaled() []float64
- func (x *LapMsg) GetTimeInHrZoneScaled() []float64
- func (x *LapMsg) GetTimeInPowerZoneScaled() []float64
- func (x *LapMsg) GetTimeInSpeedZoneScaled() []float64
- func (x *LapMsg) GetTotalCycles() interface{}
- func (x *LapMsg) GetTotalDistanceScaled() float64
- func (x *LapMsg) GetTotalElapsedTimeScaled() float64
- func (x *LapMsg) GetTotalFractionalCyclesScaled() float64
- func (x *LapMsg) GetTotalMovingTimeScaled() float64
- func (x *LapMsg) GetTotalTimerTimeScaled() float64
- type LapTrigger
- type LateralRaiseExerciseName
- type Latitude
- type LeftRightBalance
- type LeftRightBalance100
- type LegCurlExerciseName
- type LegRaiseExerciseName
- type LengthMsg
- type LengthType
- type LocalDeviceType
- type LocaltimeIntoDay
- type Logger
- type Longitude
- type LungeExerciseName
- type MagnetometerDataMsg
- type Manufacturer
- type MemoGlobMsg
- type MesgCapabilitiesMsg
- type MesgCount
- type MesgNum
- type MessageIndex
- type MetZoneMsg
- type MonitoringAFile
- type MonitoringBFile
- type MonitoringDailyFile
- type MonitoringInfoMsg
- type MonitoringMsg
- type NmeaSentenceMsg
- type NotSupportedError
- type ObdiiDataMsg
- type OhrSettingsMsg
- type OlympicLiftExerciseName
- type OneDSensorCalibrationMsg
- type PlankExerciseName
- type PlyoExerciseName
- type PowerPhaseType
- type PowerZoneMsg
- type ProtocolVersion
- type PullUpExerciseName
- type PushUpExerciseName
- type PwrZoneCalc
- type RadarThreatLevelType
- type RecordMsg
- func (x *RecordMsg) GetAltitudeScaled() float64
- func (x *RecordMsg) GetBallSpeedScaled() float64
- func (x *RecordMsg) GetCadence256Scaled() float64
- func (x *RecordMsg) GetCombinedPedalSmoothnessScaled() float64
- func (x *RecordMsg) GetCycleLengthScaled() float64
- func (x *RecordMsg) GetDistanceFromCompressedSpeedDistance() float64
- func (x *RecordMsg) GetDistanceScaled() float64
- func (x *RecordMsg) GetEnhancedAltitudeScaled() float64
- func (x *RecordMsg) GetEnhancedSpeedScaled() float64
- func (x *RecordMsg) GetFractionalCadenceScaled() float64
- func (x *RecordMsg) GetGradeScaled() float64
- func (x *RecordMsg) GetLeftPedalSmoothnessScaled() float64
- func (x *RecordMsg) GetLeftTorqueEffectivenessScaled() float64
- func (x *RecordMsg) GetRightPedalSmoothnessScaled() float64
- func (x *RecordMsg) GetRightTorqueEffectivenessScaled() float64
- func (x *RecordMsg) GetSaturatedHemoglobinPercentMaxScaled() float64
- func (x *RecordMsg) GetSaturatedHemoglobinPercentMinScaled() float64
- func (x *RecordMsg) GetSaturatedHemoglobinPercentScaled() float64
- func (x *RecordMsg) GetSpeed1sScaled() []float64
- func (x *RecordMsg) GetSpeedFromCompressedSpeedDistance() float64
- func (x *RecordMsg) GetSpeedScaled() float64
- func (x *RecordMsg) GetStanceTimePercentScaled() float64
- func (x *RecordMsg) GetStanceTimeScaled() float64
- func (x *RecordMsg) GetTime128Scaled() float64
- func (x *RecordMsg) GetTimeFromCourseScaled() float64
- func (x *RecordMsg) GetTotalHemoglobinConcMaxScaled() float64
- func (x *RecordMsg) GetTotalHemoglobinConcMinScaled() float64
- func (x *RecordMsg) GetTotalHemoglobinConcScaled() float64
- func (x *RecordMsg) GetVerticalOscillationScaled() float64
- func (x *RecordMsg) GetVerticalSpeedScaled() float64
- type RiderPositionType
- type RowExerciseName
- type RunExerciseName
- type Schedule
- type ScheduleMsg
- type SchedulesFile
- type SdmProfileMsg
- type SegmentDeleteStatus
- type SegmentFile
- type SegmentFileMsg
- type SegmentIdMsg
- type SegmentLapMsg
- func (x *SegmentLapMsg) GetActiveTimeScaled() float64
- func (x *SegmentLapMsg) GetAvgAltitudeScaled() float64
- func (x *SegmentLapMsg) GetAvgCombinedPedalSmoothnessScaled() float64
- func (x *SegmentLapMsg) GetAvgFractionalCadenceScaled() float64
- func (x *SegmentLapMsg) GetAvgGradeScaled() float64
- func (x *SegmentLapMsg) GetAvgLeftPedalSmoothnessScaled() float64
- func (x *SegmentLapMsg) GetAvgLeftTorqueEffectivenessScaled() float64
- func (x *SegmentLapMsg) GetAvgNegGradeScaled() float64
- func (x *SegmentLapMsg) GetAvgNegVerticalSpeedScaled() float64
- func (x *SegmentLapMsg) GetAvgPosGradeScaled() float64
- func (x *SegmentLapMsg) GetAvgPosVerticalSpeedScaled() float64
- func (x *SegmentLapMsg) GetAvgRightPedalSmoothnessScaled() float64
- func (x *SegmentLapMsg) GetAvgRightTorqueEffectivenessScaled() float64
- func (x *SegmentLapMsg) GetAvgSpeedScaled() float64
- func (x *SegmentLapMsg) GetMaxAltitudeScaled() float64
- func (x *SegmentLapMsg) GetMaxFractionalCadenceScaled() float64
- func (x *SegmentLapMsg) GetMaxNegGradeScaled() float64
- func (x *SegmentLapMsg) GetMaxNegVerticalSpeedScaled() float64
- func (x *SegmentLapMsg) GetMaxPosGradeScaled() float64
- func (x *SegmentLapMsg) GetMaxPosVerticalSpeedScaled() float64
- func (x *SegmentLapMsg) GetMaxSpeedScaled() float64
- func (x *SegmentLapMsg) GetMinAltitudeScaled() float64
- func (x *SegmentLapMsg) GetTimeInCadenceZoneScaled() []float64
- func (x *SegmentLapMsg) GetTimeInHrZoneScaled() []float64
- func (x *SegmentLapMsg) GetTimeInPowerZoneScaled() []float64
- func (x *SegmentLapMsg) GetTimeInSpeedZoneScaled() []float64
- func (x *SegmentLapMsg) GetTotalCycles() interface{}
- func (x *SegmentLapMsg) GetTotalDistanceScaled() float64
- func (x *SegmentLapMsg) GetTotalElapsedTimeScaled() float64
- func (x *SegmentLapMsg) GetTotalFractionalCyclesScaled() float64
- func (x *SegmentLapMsg) GetTotalMovingTimeScaled() float64
- func (x *SegmentLapMsg) GetTotalTimerTimeScaled() float64
- type SegmentLapStatus
- type SegmentLeaderboardEntryMsg
- type SegmentLeaderboardType
- type SegmentListFile
- type SegmentPointMsg
- type SegmentSelectionType
- type SensorType
- type SessionMsg
- func (x *SessionMsg) GetAvgAltitudeScaled() float64
- func (x *SessionMsg) GetAvgBallSpeedScaled() float64
- func (x *SessionMsg) GetAvgCadence() interface{}
- func (x *SessionMsg) GetAvgFractionalCadenceScaled() float64
- func (x *SessionMsg) GetAvgGradeScaled() float64
- func (x *SessionMsg) GetAvgLapTimeScaled() float64
- func (x *SessionMsg) GetAvgNegGradeScaled() float64
- func (x *SessionMsg) GetAvgNegVerticalSpeedScaled() float64
- func (x *SessionMsg) GetAvgPosGradeScaled() float64
- func (x *SessionMsg) GetAvgPosVerticalSpeedScaled() float64
- func (x *SessionMsg) GetAvgSpeedScaled() float64
- func (x *SessionMsg) GetAvgStanceTimePercentScaled() float64
- func (x *SessionMsg) GetAvgStanceTimeScaled() float64
- func (x *SessionMsg) GetAvgStrokeCountScaled() float64
- func (x *SessionMsg) GetAvgStrokeDistanceScaled() float64
- func (x *SessionMsg) GetAvgVamScaled() float64
- func (x *SessionMsg) GetAvgVerticalOscillationScaled() float64
- func (x *SessionMsg) GetEnhancedAvgAltitudeScaled() float64
- func (x *SessionMsg) GetEnhancedAvgSpeedScaled() float64
- func (x *SessionMsg) GetEnhancedMaxAltitudeScaled() float64
- func (x *SessionMsg) GetEnhancedMaxSpeedScaled() float64
- func (x *SessionMsg) GetEnhancedMinAltitudeScaled() float64
- func (x *SessionMsg) GetIntensityFactorScaled() float64
- func (x *SessionMsg) GetMaxAltitudeScaled() float64
- func (x *SessionMsg) GetMaxBallSpeedScaled() float64
- func (x *SessionMsg) GetMaxCadence() interface{}
- func (x *SessionMsg) GetMaxFractionalCadenceScaled() float64
- func (x *SessionMsg) GetMaxNegGradeScaled() float64
- func (x *SessionMsg) GetMaxNegVerticalSpeedScaled() float64
- func (x *SessionMsg) GetMaxPosGradeScaled() float64
- func (x *SessionMsg) GetMaxPosVerticalSpeedScaled() float64
- func (x *SessionMsg) GetMaxSpeedScaled() float64
- func (x *SessionMsg) GetMinAltitudeScaled() float64
- func (x *SessionMsg) GetPoolLengthScaled() float64
- func (x *SessionMsg) GetTimeInCadenceZoneScaled() []float64
- func (x *SessionMsg) GetTimeInHrZoneScaled() []float64
- func (x *SessionMsg) GetTimeInPowerZoneScaled() []float64
- func (x *SessionMsg) GetTimeInSpeedZoneScaled() []float64
- func (x *SessionMsg) GetTotalAnaerobicTrainingEffectScaled() float64
- func (x *SessionMsg) GetTotalCycles() interface{}
- func (x *SessionMsg) GetTotalDistanceScaled() float64
- func (x *SessionMsg) GetTotalElapsedTimeScaled() float64
- func (x *SessionMsg) GetTotalFractionalCyclesScaled() float64
- func (x *SessionMsg) GetTotalMovingTimeScaled() float64
- func (x *SessionMsg) GetTotalTimerTimeScaled() float64
- func (x *SessionMsg) GetTotalTrainingEffectScaled() float64
- func (x *SessionMsg) GetTrainingStressScoreScaled() float64
- type SessionTrigger
- type SetMsg
- type SetType
- type SettingsFile
- type ShoulderPressExerciseName
- type ShoulderStabilityExerciseName
- type ShrugExerciseName
- type Side
- type SitUpExerciseName
- type SlaveDeviceMsg
- type SoftwareMsg
- type SourceType
- type SpeedZoneMsg
- type Sport
- type SportBits0
- type SportBits1
- type SportBits2
- type SportBits3
- type SportBits4
- type SportBits5
- type SportBits6
- type SportEvent
- type SportFile
- type SportMsg
- type SquatExerciseName
- type StressLevelMsg
- type StrokeType
- type SubSport
- type SupportedExdScreenLayouts
- type SwimStroke
- type Switch
- type TapSensitivity
- type ThreeDSensorCalibrationMsg
- type TimeIntoDay
- type TimeMode
- type TimeZone
- type TimerTrigger
- type TimestampCorrelationMsg
- type TissueModelType
- type Tone
- type TotalBodyExerciseName
- type TotalsFile
- type TotalsMsg
- type TrainingFileMsg
- type TricepsExtensionExerciseName
- type TurnType
- type UnknownField
- type UnknownMessage
- type UserLocalId
- type UserProfileMsg
- type VideoClipMsg
- type VideoDescriptionMsg
- type VideoFrameMsg
- type VideoMsg
- type VideoTitleMsg
- type WarmUpExerciseName
- type WatchfaceMode
- type WatchfaceSettingsMsg
- type WaterType
- type WeatherAlertMsg
- type WeatherConditionsMsg
- type WeatherReport
- type WeatherSevereType
- type WeatherSeverity
- type WeatherStatus
- type Weight
- type WeightFile
- type WeightScaleMsg
- func (x *WeightScaleMsg) GetActiveMetScaled() float64
- func (x *WeightScaleMsg) GetBasalMetScaled() float64
- func (x *WeightScaleMsg) GetBoneMassScaled() float64
- func (x *WeightScaleMsg) GetMuscleMassScaled() float64
- func (x *WeightScaleMsg) GetPercentFatScaled() float64
- func (x *WeightScaleMsg) GetPercentHydrationScaled() float64
- func (x *WeightScaleMsg) GetVisceralFatMassScaled() float64
- func (x *WeightScaleMsg) GetWeightScaled() float64
- type WktStepDuration
- type WktStepTarget
- type WorkoutCapabilities
- type WorkoutEquipment
- type WorkoutFile
- type WorkoutHr
- type WorkoutMsg
- type WorkoutPower
- type WorkoutSessionMsg
- type WorkoutStepMsg
- type ZonesTargetMsg
Examples ¶
Constants ¶
const ( // ProfileMajorVersion is the current supported profile major version of the FIT SDK. ProfileMajorVersion = 21 // ProfileMinorVersion is the current supported profile minor version of the FIT SDK. ProfileMinorVersion = 38 )
const ProfileVersion uint16 = ((ProfileMajorVersion * 100) + ProfileMinorVersion)
ProfileVersion is the current supported profile version of the FIT SDK.
Variables ¶
This section is empty.
Functions ¶
func CheckIntegrity ¶
CheckIntegrity verifies the FIT header and file CRC. Only the header CRC is verified if headerOnly is true.
func DecodeHeaderAndFileID ¶
DecodeHeaderAndFileID returns the FIT file header and FileId message without decoding the entire FIT file. The FileId message must be present in all FIT files.
func Encode ¶
Encode writes the given FIT file into the given Writer. file.CRC and file.Header.CRC will be updated to the correct values.
func IsBaseTime ¶
IsBaseTime reports if t represents the FIT base time.
Types ¶
type AccelerometerDataMsg ¶
type AccelerometerDataMsg struct { }
AccelerometerDataMsg represents the accelerometer_data FIT message type.
func NewAccelerometerDataMsg ¶
func NewAccelerometerDataMsg() *AccelerometerDataMsg
NewAccelerometerDataMsg returns a accelerometer_data FIT message initialized to all-invalid values.
type ActivityClass ¶
type ActivityClass byte
ActivityClass represents the activity_class FIT type.
const ( ActivityClassLevel ActivityClass = 0x7F // 0 to 100 ActivityClassLevelMax ActivityClass = 100 ActivityClassAthlete ActivityClass = 0x80 ActivityClassInvalid ActivityClass = 0xFF )
func (ActivityClass) String ¶
func (i ActivityClass) String() string
type ActivityFile ¶
type ActivityFile struct { Activity *ActivityMsg Sessions []*SessionMsg Laps []*LapMsg Lengths []*LengthMsg Records []*RecordMsg Events []*EventMsg Hrvs []*HrvMsg DeviceInfos []*DeviceInfoMsg }
ActivityFile represents the Activity FIT file type. Records sensor data and events from active sessions.
type ActivityLevel ¶
type ActivityLevel byte
ActivityLevel represents the activity_level FIT type.
const ( ActivityLevelLow ActivityLevel = 0 ActivityLevelMedium ActivityLevel = 1 ActivityLevelHigh ActivityLevel = 2 ActivityLevelInvalid ActivityLevel = 0xFF )
func (ActivityLevel) String ¶
func (i ActivityLevel) String() string
type ActivityMode ¶
type ActivityMode byte
ActivityMode represents the activity FIT type.
const ( ActivityModeManual ActivityMode = 0 ActivityModeAutoMultiSport ActivityMode = 1 ActivityModeInvalid ActivityMode = 0xFF )
func (ActivityMode) String ¶
func (i ActivityMode) String() string
type ActivityMsg ¶
type ActivityMsg struct { Timestamp time.Time TotalTimerTime uint32 // Exclude pauses NumSessions uint16 Type ActivityMode Event Event EventType EventType LocalTimestamp time.Time // timestamp epoch expressed in local time, used to convert activity timestamps to local time EventGroup uint8 }
ActivityMsg represents the activity FIT message type.
func NewActivityMsg ¶
func NewActivityMsg() *ActivityMsg
NewActivityMsg returns a activity FIT message initialized to all-invalid values.
func (*ActivityMsg) GetTotalTimerTimeScaled ¶
func (x *ActivityMsg) GetTotalTimerTimeScaled() float64
GetTotalTimerTimeScaled returns TotalTimerTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
type ActivitySubtype ¶
type ActivitySubtype byte
ActivitySubtype represents the activity_subtype FIT type.
const ( ActivitySubtypeGeneric ActivitySubtype = 0 ActivitySubtypeTreadmill ActivitySubtype = 1 // Run ActivitySubtypeStreet ActivitySubtype = 2 // Run ActivitySubtypeTrail ActivitySubtype = 3 // Run ActivitySubtypeTrack ActivitySubtype = 4 // Run ActivitySubtypeSpin ActivitySubtype = 5 // Cycling ActivitySubtypeIndoorCycling ActivitySubtype = 6 // Cycling ActivitySubtypeRoad ActivitySubtype = 7 // Cycling ActivitySubtypeMountain ActivitySubtype = 8 // Cycling ActivitySubtypeDownhill ActivitySubtype = 9 // Cycling ActivitySubtypeRecumbent ActivitySubtype = 10 // Cycling ActivitySubtypeCyclocross ActivitySubtype = 11 // Cycling ActivitySubtypeHandCycling ActivitySubtype = 12 // Cycling ActivitySubtypeTrackCycling ActivitySubtype = 13 // Cycling ActivitySubtypeIndoorRowing ActivitySubtype = 14 // Fitness Equipment ActivitySubtypeElliptical ActivitySubtype = 15 // Fitness Equipment ActivitySubtypeStairClimbing ActivitySubtype = 16 // Fitness Equipment ActivitySubtypeLapSwimming ActivitySubtype = 17 // Swimming ActivitySubtypeOpenWater ActivitySubtype = 18 // Swimming ActivitySubtypeAll ActivitySubtype = 254 ActivitySubtypeInvalid ActivitySubtype = 0xFF )
func (ActivitySubtype) String ¶
func (i ActivitySubtype) String() string
type ActivitySummaryFile ¶
type ActivitySummaryFile struct { Activity *ActivityMsg Sessions []*SessionMsg Laps []*LapMsg }
ActivitySummaryFile represents the Activity Summary FIT file type. Similar to Activity file, contains summary information only.
type ActivityType ¶
type ActivityType byte
ActivityType represents the activity_type FIT type.
const ( ActivityTypeGeneric ActivityType = 0 ActivityTypeRunning ActivityType = 1 ActivityTypeCycling ActivityType = 2 ActivityTypeTransition ActivityType = 3 // Mulitsport transition ActivityTypeFitnessEquipment ActivityType = 4 ActivityTypeSwimming ActivityType = 5 ActivityTypeWalking ActivityType = 6 ActivityTypeSedentary ActivityType = 8 ActivityTypeAll ActivityType = 254 // All is for goals only to include all sports. ActivityTypeInvalid ActivityType = 0xFF )
func (ActivityType) String ¶
func (i ActivityType) String() string
type AnalogWatchfaceLayout ¶
type AnalogWatchfaceLayout byte
AnalogWatchfaceLayout represents the analog_watchface_layout FIT type.
const ( AnalogWatchfaceLayoutMinimal AnalogWatchfaceLayout = 0 AnalogWatchfaceLayoutTraditional AnalogWatchfaceLayout = 1 AnalogWatchfaceLayoutModern AnalogWatchfaceLayout = 2 AnalogWatchfaceLayoutInvalid AnalogWatchfaceLayout = 0xFF )
func (AnalogWatchfaceLayout) String ¶
func (i AnalogWatchfaceLayout) String() string
type AntChannelIdMsg ¶
type AntChannelIdMsg struct { }
AntChannelIdMsg represents the ant_channel_id FIT message type.
func NewAntChannelIdMsg ¶
func NewAntChannelIdMsg() *AntChannelIdMsg
NewAntChannelIdMsg returns a ant_channel_id FIT message initialized to all-invalid values.
type AntNetwork ¶
type AntNetwork byte
AntNetwork represents the ant_network FIT type.
const ( AntNetworkPublic AntNetwork = 0 AntNetworkAntplus AntNetwork = 1 AntNetworkAntfs AntNetwork = 2 AntNetworkPrivate AntNetwork = 3 AntNetworkInvalid AntNetwork = 0xFF )
func (AntNetwork) String ¶
func (i AntNetwork) String() string
type AntRxMsg ¶
type AntRxMsg struct { Timestamp time.Time FractionalTimestamp uint16 MesgId byte MesgData []byte ChannelNumber uint8 Data []byte }
AntRxMsg represents the ant_rx FIT message type.
func NewAntRxMsg ¶
func NewAntRxMsg() *AntRxMsg
NewAntRxMsg returns a ant_rx FIT message initialized to all-invalid values.
func (*AntRxMsg) GetFractionalTimestampScaled ¶
GetFractionalTimestampScaled returns FractionalTimestamp with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
type AntTxMsg ¶
type AntTxMsg struct { Timestamp time.Time FractionalTimestamp uint16 MesgId byte MesgData []byte ChannelNumber uint8 Data []byte }
AntTxMsg represents the ant_tx FIT message type.
func NewAntTxMsg ¶
func NewAntTxMsg() *AntTxMsg
NewAntTxMsg returns a ant_tx FIT message initialized to all-invalid values.
func (*AntTxMsg) GetFractionalTimestampScaled ¶
GetFractionalTimestampScaled returns FractionalTimestamp with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
type AntplusDeviceType ¶
type AntplusDeviceType uint8
AntplusDeviceType represents the antplus_device_type FIT type.
const ( AntplusDeviceTypeAntfs AntplusDeviceType = 1 AntplusDeviceTypeBikePower AntplusDeviceType = 11 AntplusDeviceTypeEnvironmentSensorLegacy AntplusDeviceType = 12 AntplusDeviceTypeMultiSportSpeedDistance AntplusDeviceType = 15 AntplusDeviceTypeControl AntplusDeviceType = 16 AntplusDeviceTypeFitnessEquipment AntplusDeviceType = 17 AntplusDeviceTypeBloodPressure AntplusDeviceType = 18 AntplusDeviceTypeGeocacheNode AntplusDeviceType = 19 AntplusDeviceTypeLightElectricVehicle AntplusDeviceType = 20 AntplusDeviceTypeEnvSensor AntplusDeviceType = 25 AntplusDeviceTypeRacquet AntplusDeviceType = 26 AntplusDeviceTypeControlHub AntplusDeviceType = 27 AntplusDeviceTypeMuscleOxygen AntplusDeviceType = 31 AntplusDeviceTypeBikeLightMain AntplusDeviceType = 35 AntplusDeviceTypeExd AntplusDeviceType = 38 AntplusDeviceTypeBikeRadar AntplusDeviceType = 40 AntplusDeviceTypeBikeAero AntplusDeviceType = 46 AntplusDeviceTypeWeightScale AntplusDeviceType = 119 AntplusDeviceTypeHeartRate AntplusDeviceType = 120 AntplusDeviceTypeBikeSpeedCadence AntplusDeviceType = 121 AntplusDeviceTypeBikeCadence AntplusDeviceType = 122 AntplusDeviceTypeBikeSpeed AntplusDeviceType = 123 AntplusDeviceTypeStrideSpeedDistance AntplusDeviceType = 124 AntplusDeviceTypeInvalid AntplusDeviceType = 0xFF )
func (AntplusDeviceType) String ¶
func (i AntplusDeviceType) String() string
type AttitudeStage ¶
type AttitudeStage byte
AttitudeStage represents the attitude_stage FIT type.
const ( AttitudeStageFailed AttitudeStage = 0 AttitudeStageAligning AttitudeStage = 1 AttitudeStageDegraded AttitudeStage = 2 AttitudeStageValid AttitudeStage = 3 AttitudeStageInvalid AttitudeStage = 0xFF )
func (AttitudeStage) String ¶
func (i AttitudeStage) String() string
type AttitudeValidity ¶
type AttitudeValidity uint16
AttitudeValidity represents the attitude_validity FIT type.
const ( AttitudeValidityTrackAngleHeadingValid AttitudeValidity = 0x0001 AttitudeValidityPitchValid AttitudeValidity = 0x0002 AttitudeValidityRollValid AttitudeValidity = 0x0004 AttitudeValidityLateralBodyAccelValid AttitudeValidity = 0x0008 AttitudeValidityNormalBodyAccelValid AttitudeValidity = 0x0010 AttitudeValidityTurnRateValid AttitudeValidity = 0x0020 AttitudeValidityHwFail AttitudeValidity = 0x0040 AttitudeValidityMagInvalid AttitudeValidity = 0x0080 AttitudeValidityNoGps AttitudeValidity = 0x0100 AttitudeValidityGpsInvalid AttitudeValidity = 0x0200 AttitudeValiditySolutionCoasting AttitudeValidity = 0x0400 AttitudeValidityTrueTrackAngle AttitudeValidity = 0x0800 AttitudeValidityMagneticHeading AttitudeValidity = 0x1000 AttitudeValidityInvalid AttitudeValidity = 0xFFFF )
func (AttitudeValidity) String ¶
func (i AttitudeValidity) String() string
type AutoActivityDetect ¶
type AutoActivityDetect uint32
AutoActivityDetect represents the auto_activity_detect FIT type.
const ( AutoActivityDetectNone AutoActivityDetect = 0x00000000 AutoActivityDetectRunning AutoActivityDetect = 0x00000001 AutoActivityDetectCycling AutoActivityDetect = 0x00000002 AutoActivityDetectSwimming AutoActivityDetect = 0x00000004 AutoActivityDetectWalking AutoActivityDetect = 0x00000008 AutoActivityDetectElliptical AutoActivityDetect = 0x00000020 AutoActivityDetectSedentary AutoActivityDetect = 0x00000400 AutoActivityDetectInvalid AutoActivityDetect = 0xFFFFFFFF )
func (AutoActivityDetect) String ¶
func (i AutoActivityDetect) String() string
type AutoSyncFrequency ¶
type AutoSyncFrequency byte
AutoSyncFrequency represents the auto_sync_frequency FIT type.
const ( AutoSyncFrequencyNever AutoSyncFrequency = 0 AutoSyncFrequencyOccasionally AutoSyncFrequency = 1 AutoSyncFrequencyFrequent AutoSyncFrequency = 2 AutoSyncFrequencyOnceADay AutoSyncFrequency = 3 AutoSyncFrequencyRemote AutoSyncFrequency = 4 AutoSyncFrequencyInvalid AutoSyncFrequency = 0xFF )
func (AutoSyncFrequency) String ¶
func (i AutoSyncFrequency) String() string
type AutolapTrigger ¶
type AutolapTrigger byte
AutolapTrigger represents the autolap_trigger FIT type.
const ( AutolapTriggerTime AutolapTrigger = 0 AutolapTriggerDistance AutolapTrigger = 1 AutolapTriggerPositionStart AutolapTrigger = 2 AutolapTriggerPositionLap AutolapTrigger = 3 AutolapTriggerPositionWaypoint AutolapTrigger = 4 AutolapTriggerPositionMarked AutolapTrigger = 5 AutolapTriggerOff AutolapTrigger = 6 AutolapTriggerInvalid AutolapTrigger = 0xFF )
func (AutolapTrigger) String ¶
func (i AutolapTrigger) String() string
type Autoscroll ¶
type Autoscroll byte
Autoscroll represents the autoscroll FIT type.
const ( AutoscrollNone Autoscroll = 0 AutoscrollSlow Autoscroll = 1 AutoscrollMedium Autoscroll = 2 AutoscrollFast Autoscroll = 3 AutoscrollInvalid Autoscroll = 0xFF )
func (Autoscroll) String ¶
func (i Autoscroll) String() string
type AviationAttitudeMsg ¶
type AviationAttitudeMsg struct { Timestamp time.Time // Timestamp message was output TimestampMs uint16 // Fractional part of timestamp, added to timestamp SystemTime []uint32 // System time associated with sample expressed in ms. Pitch []int16 // Range -PI/2 to +PI/2 Roll []int16 // Range -PI to +PI AccelLateral []int16 // Range -78.4 to +78.4 (-8 Gs to 8 Gs) AccelNormal []int16 // Range -78.4 to +78.4 (-8 Gs to 8 Gs) TurnRate []int16 // Range -8.727 to +8.727 (-500 degs/sec to +500 degs/sec) Stage []AttitudeStage AttitudeStageComplete []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 Track []uint16 // Track Angle/Heading Range 0 - 2pi Validity []AttitudeValidity }
AviationAttitudeMsg represents the aviation_attitude FIT message type.
func NewAviationAttitudeMsg ¶
func NewAviationAttitudeMsg() *AviationAttitudeMsg
NewAviationAttitudeMsg returns a aviation_attitude FIT message initialized to all-invalid values.
func (*AviationAttitudeMsg) GetAccelLateralScaled ¶
func (x *AviationAttitudeMsg) GetAccelLateralScaled() []float64
GetAccelLateralScaled returns AccelLateral as a slice with scale and any offset applied to every element. Units: m/s^2
func (*AviationAttitudeMsg) GetAccelNormalScaled ¶
func (x *AviationAttitudeMsg) GetAccelNormalScaled() []float64
GetAccelNormalScaled returns AccelNormal as a slice with scale and any offset applied to every element. Units: m/s^2
func (*AviationAttitudeMsg) GetPitchScaled ¶
func (x *AviationAttitudeMsg) GetPitchScaled() []float64
GetPitchScaled returns Pitch as a slice with scale and any offset applied to every element. Units: radians
func (*AviationAttitudeMsg) GetRollScaled ¶
func (x *AviationAttitudeMsg) GetRollScaled() []float64
GetRollScaled returns Roll as a slice with scale and any offset applied to every element. Units: radians
func (*AviationAttitudeMsg) GetTrackScaled ¶
func (x *AviationAttitudeMsg) GetTrackScaled() []float64
GetTrackScaled returns Track as a slice with scale and any offset applied to every element. Units: radians
func (*AviationAttitudeMsg) GetTurnRateScaled ¶
func (x *AviationAttitudeMsg) GetTurnRateScaled() []float64
GetTurnRateScaled returns TurnRate as a slice with scale and any offset applied to every element. Units: radians/second
type BacklightMode ¶
type BacklightMode byte
BacklightMode represents the backlight_mode FIT type.
const ( BacklightModeOff BacklightMode = 0 BacklightModeManual BacklightMode = 1 BacklightModeKeyAndMessages BacklightMode = 2 BacklightModeAutoBrightness BacklightMode = 3 BacklightModeSmartNotifications BacklightMode = 4 BacklightModeKeyAndMessagesNight BacklightMode = 5 BacklightModeKeyAndMessagesAndSmartNotifications BacklightMode = 6 BacklightModeInvalid BacklightMode = 0xFF )
func (BacklightMode) String ¶
func (i BacklightMode) String() string
type BacklightTimeout ¶
type BacklightTimeout uint8
BacklightTimeout represents the backlight_timeout FIT type.
const ( BacklightTimeoutInfinite BacklightTimeout = 0 // Backlight stays on forever. BacklightTimeoutInvalid BacklightTimeout = 0xFF )
func (BacklightTimeout) String ¶
func (i BacklightTimeout) String() string
type BarometerDataMsg ¶
type BarometerDataMsg struct { }
BarometerDataMsg represents the barometer_data FIT message type.
func NewBarometerDataMsg ¶
func NewBarometerDataMsg() *BarometerDataMsg
NewBarometerDataMsg returns a barometer_data FIT message initialized to all-invalid values.
type BatteryStatus ¶
type BatteryStatus uint8
BatteryStatus represents the battery_status FIT type.
const ( BatteryStatusNew BatteryStatus = 1 BatteryStatusGood BatteryStatus = 2 BatteryStatusOk BatteryStatus = 3 BatteryStatusLow BatteryStatus = 4 BatteryStatusCritical BatteryStatus = 5 BatteryStatusCharging BatteryStatus = 6 BatteryStatusUnknown BatteryStatus = 7 BatteryStatusInvalid BatteryStatus = 0xFF )
func (BatteryStatus) String ¶
func (i BatteryStatus) String() string
type BenchPressExerciseName ¶
type BenchPressExerciseName uint16
BenchPressExerciseName represents the bench_press_exercise_name FIT type.
const ( BenchPressExerciseNameAlternatingDumbbellChestPressOnSwissBall BenchPressExerciseName = 0 BenchPressExerciseNameBarbellBenchPress BenchPressExerciseName = 1 BenchPressExerciseNameBarbellBoardBenchPress BenchPressExerciseName = 2 BenchPressExerciseNameBarbellFloorPress BenchPressExerciseName = 3 BenchPressExerciseNameCloseGripBarbellBenchPress BenchPressExerciseName = 4 BenchPressExerciseNameDeclineDumbbellBenchPress BenchPressExerciseName = 5 BenchPressExerciseNameDumbbellBenchPress BenchPressExerciseName = 6 BenchPressExerciseNameDumbbellFloorPress BenchPressExerciseName = 7 BenchPressExerciseNameInclineBarbellBenchPress BenchPressExerciseName = 8 BenchPressExerciseNameInclineDumbbellBenchPress BenchPressExerciseName = 9 BenchPressExerciseNameInclineSmithMachineBenchPress BenchPressExerciseName = 10 BenchPressExerciseNameIsometricBarbellBenchPress BenchPressExerciseName = 11 BenchPressExerciseNameKettlebellChestPress BenchPressExerciseName = 12 BenchPressExerciseNameNeutralGripDumbbellBenchPress BenchPressExerciseName = 13 BenchPressExerciseNameNeutralGripDumbbellInclineBenchPress BenchPressExerciseName = 14 BenchPressExerciseNameOneArmFloorPress BenchPressExerciseName = 15 BenchPressExerciseNameWeightedOneArmFloorPress BenchPressExerciseName = 16 BenchPressExerciseNamePartialLockout BenchPressExerciseName = 17 BenchPressExerciseNameReverseGripBarbellBenchPress BenchPressExerciseName = 18 BenchPressExerciseNameReverseGripInclineBenchPress BenchPressExerciseName = 19 BenchPressExerciseNameSingleArmCableChestPress BenchPressExerciseName = 20 BenchPressExerciseNameSingleArmDumbbellBenchPress BenchPressExerciseName = 21 BenchPressExerciseNameSmithMachineBenchPress BenchPressExerciseName = 22 BenchPressExerciseNameSwissBallDumbbellChestPress BenchPressExerciseName = 23 BenchPressExerciseNameTripleStopBarbellBenchPress BenchPressExerciseName = 24 BenchPressExerciseNameWideGripBarbellBenchPress BenchPressExerciseName = 25 BenchPressExerciseNameAlternatingDumbbellChestPress BenchPressExerciseName = 26 BenchPressExerciseNameInvalid BenchPressExerciseName = 0xFFFF )
func (BenchPressExerciseName) String ¶
func (i BenchPressExerciseName) String() string
type BikeLightBeamAngleMode ¶
type BikeLightBeamAngleMode uint8
BikeLightBeamAngleMode represents the bike_light_beam_angle_mode FIT type.
const ( BikeLightBeamAngleModeManual BikeLightBeamAngleMode = 0 BikeLightBeamAngleModeAuto BikeLightBeamAngleMode = 1 BikeLightBeamAngleModeInvalid BikeLightBeamAngleMode = 0xFF )
func (BikeLightBeamAngleMode) String ¶
func (i BikeLightBeamAngleMode) String() string
type BikeLightNetworkConfigType ¶
type BikeLightNetworkConfigType byte
BikeLightNetworkConfigType represents the bike_light_network_config_type FIT type.
const ( BikeLightNetworkConfigTypeAuto BikeLightNetworkConfigType = 0 BikeLightNetworkConfigTypeIndividual BikeLightNetworkConfigType = 4 BikeLightNetworkConfigTypeHighVisibility BikeLightNetworkConfigType = 5 BikeLightNetworkConfigTypeTrail BikeLightNetworkConfigType = 6 BikeLightNetworkConfigTypeInvalid BikeLightNetworkConfigType = 0xFF )
func (BikeLightNetworkConfigType) String ¶
func (i BikeLightNetworkConfigType) String() string
type BikeProfileMsg ¶
type BikeProfileMsg struct { MessageIndex MessageIndex Name string Sport Sport SubSport SubSport Odometer uint32 BikeSpdAntId uint16 BikeCadAntId uint16 BikeSpdcadAntId uint16 BikePowerAntId uint16 CustomWheelsize uint16 AutoWheelsize uint16 BikeWeight uint16 PowerCalFactor uint16 AutoWheelCal Bool AutoPowerZero Bool Id uint8 SpdEnabled Bool CadEnabled Bool SpdcadEnabled Bool PowerEnabled Bool CrankLength uint8 Enabled Bool BikeSpdAntIdTransType uint8 BikeCadAntIdTransType uint8 BikeSpdcadAntIdTransType uint8 BikePowerAntIdTransType uint8 OdometerRollover uint8 // Rollover counter that can be used to extend the odometer FrontGearNum uint8 // Number of front gears FrontGear []uint8 // Number of teeth on each gear 0 is innermost RearGearNum uint8 // Number of rear gears RearGear []uint8 // Number of teeth on each gear 0 is innermost ShimanoDi2Enabled Bool }
BikeProfileMsg represents the bike_profile FIT message type.
func NewBikeProfileMsg ¶
func NewBikeProfileMsg() *BikeProfileMsg
NewBikeProfileMsg returns a bike_profile FIT message initialized to all-invalid values.
func (*BikeProfileMsg) GetAutoWheelsizeScaled ¶
func (x *BikeProfileMsg) GetAutoWheelsizeScaled() float64
GetAutoWheelsizeScaled returns AutoWheelsize with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*BikeProfileMsg) GetBikeWeightScaled ¶
func (x *BikeProfileMsg) GetBikeWeightScaled() float64
GetBikeWeightScaled returns BikeWeight with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kg
func (*BikeProfileMsg) GetCrankLengthScaled ¶
func (x *BikeProfileMsg) GetCrankLengthScaled() float64
GetCrankLengthScaled returns CrankLength with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: mm
func (*BikeProfileMsg) GetCustomWheelsizeScaled ¶
func (x *BikeProfileMsg) GetCustomWheelsizeScaled() float64
GetCustomWheelsizeScaled returns CustomWheelsize with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*BikeProfileMsg) GetOdometerScaled ¶
func (x *BikeProfileMsg) GetOdometerScaled() float64
GetOdometerScaled returns Odometer with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*BikeProfileMsg) GetPowerCalFactorScaled ¶
func (x *BikeProfileMsg) GetPowerCalFactorScaled() float64
GetPowerCalFactorScaled returns PowerCalFactor with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
type BloodPressureFile ¶
type BloodPressureFile struct { UserProfile *UserProfileMsg BloodPressures []*BloodPressureMsg DeviceInfos []*DeviceInfoMsg }
BloodPressureFile represents the Bload Pressure FIT file type. Records blood pressure data.
type BloodPressureMsg ¶
type BloodPressureMsg struct { Timestamp time.Time SystolicPressure uint16 DiastolicPressure uint16 MeanArterialPressure uint16 Map3SampleMean uint16 MapMorningValues uint16 MapEveningValues uint16 HeartRate uint8 HeartRateType HrType Status BpStatus UserProfileIndex MessageIndex // Associates this blood pressure message to a user. This corresponds to the index of the user profile message in the blood pressure file. }
BloodPressureMsg represents the blood_pressure FIT message type.
func NewBloodPressureMsg ¶
func NewBloodPressureMsg() *BloodPressureMsg
NewBloodPressureMsg returns a blood_pressure FIT message initialized to all-invalid values.
type BodyLocation ¶
type BodyLocation byte
BodyLocation represents the body_location FIT type.
const ( BodyLocationLeftLeg BodyLocation = 0 BodyLocationLeftCalf BodyLocation = 1 BodyLocationLeftShin BodyLocation = 2 BodyLocationLeftHamstring BodyLocation = 3 BodyLocationLeftQuad BodyLocation = 4 BodyLocationLeftGlute BodyLocation = 5 BodyLocationRightLeg BodyLocation = 6 BodyLocationRightCalf BodyLocation = 7 BodyLocationRightShin BodyLocation = 8 BodyLocationRightHamstring BodyLocation = 9 BodyLocationRightQuad BodyLocation = 10 BodyLocationRightGlute BodyLocation = 11 BodyLocationTorsoBack BodyLocation = 12 BodyLocationLeftLowerBack BodyLocation = 13 BodyLocationLeftUpperBack BodyLocation = 14 BodyLocationRightLowerBack BodyLocation = 15 BodyLocationRightUpperBack BodyLocation = 16 BodyLocationTorsoFront BodyLocation = 17 BodyLocationLeftAbdomen BodyLocation = 18 BodyLocationLeftChest BodyLocation = 19 BodyLocationRightAbdomen BodyLocation = 20 BodyLocationRightChest BodyLocation = 21 BodyLocationLeftArm BodyLocation = 22 BodyLocationLeftShoulder BodyLocation = 23 BodyLocationLeftBicep BodyLocation = 24 BodyLocationLeftTricep BodyLocation = 25 BodyLocationLeftBrachioradialis BodyLocation = 26 // Left anterior forearm BodyLocationLeftForearmExtensors BodyLocation = 27 // Left posterior forearm BodyLocationRightArm BodyLocation = 28 BodyLocationRightShoulder BodyLocation = 29 BodyLocationRightBicep BodyLocation = 30 BodyLocationRightTricep BodyLocation = 31 BodyLocationRightBrachioradialis BodyLocation = 32 // Right anterior forearm BodyLocationRightForearmExtensors BodyLocation = 33 // Right posterior forearm BodyLocationNeck BodyLocation = 34 BodyLocationThroat BodyLocation = 35 BodyLocationWaistMidBack BodyLocation = 36 BodyLocationWaistFront BodyLocation = 37 BodyLocationWaistLeft BodyLocation = 38 BodyLocationWaistRight BodyLocation = 39 BodyLocationInvalid BodyLocation = 0xFF )
func (BodyLocation) String ¶
func (i BodyLocation) String() string
type CadenceZoneMsg ¶
type CadenceZoneMsg struct { MessageIndex MessageIndex HighValue uint8 Name string }
CadenceZoneMsg represents the cadence_zone FIT message type.
func NewCadenceZoneMsg ¶
func NewCadenceZoneMsg() *CadenceZoneMsg
NewCadenceZoneMsg returns a cadence_zone FIT message initialized to all-invalid values.
type CalfRaiseExerciseName ¶
type CalfRaiseExerciseName uint16
CalfRaiseExerciseName represents the calf_raise_exercise_name FIT type.
const ( CalfRaiseExerciseName3WayCalfRaise CalfRaiseExerciseName = 0 CalfRaiseExerciseName3WayWeightedCalfRaise CalfRaiseExerciseName = 1 CalfRaiseExerciseName3WaySingleLegCalfRaise CalfRaiseExerciseName = 2 CalfRaiseExerciseName3WayWeightedSingleLegCalfRaise CalfRaiseExerciseName = 3 CalfRaiseExerciseNameDonkeyCalfRaise CalfRaiseExerciseName = 4 CalfRaiseExerciseNameWeightedDonkeyCalfRaise CalfRaiseExerciseName = 5 CalfRaiseExerciseNameSeatedCalfRaise CalfRaiseExerciseName = 6 CalfRaiseExerciseNameWeightedSeatedCalfRaise CalfRaiseExerciseName = 7 CalfRaiseExerciseNameSeatedDumbbellToeRaise CalfRaiseExerciseName = 8 CalfRaiseExerciseNameSingleLegBentKneeCalfRaise CalfRaiseExerciseName = 9 CalfRaiseExerciseNameWeightedSingleLegBentKneeCalfRaise CalfRaiseExerciseName = 10 CalfRaiseExerciseNameSingleLegDeclinePushUp CalfRaiseExerciseName = 11 CalfRaiseExerciseNameSingleLegDonkeyCalfRaise CalfRaiseExerciseName = 12 CalfRaiseExerciseNameWeightedSingleLegDonkeyCalfRaise CalfRaiseExerciseName = 13 CalfRaiseExerciseNameSingleLegHipRaiseWithKneeHold CalfRaiseExerciseName = 14 CalfRaiseExerciseNameSingleLegStandingCalfRaise CalfRaiseExerciseName = 15 CalfRaiseExerciseNameSingleLegStandingDumbbellCalfRaise CalfRaiseExerciseName = 16 CalfRaiseExerciseNameStandingBarbellCalfRaise CalfRaiseExerciseName = 17 CalfRaiseExerciseNameStandingCalfRaise CalfRaiseExerciseName = 18 CalfRaiseExerciseNameWeightedStandingCalfRaise CalfRaiseExerciseName = 19 CalfRaiseExerciseNameStandingDumbbellCalfRaise CalfRaiseExerciseName = 20 CalfRaiseExerciseNameInvalid CalfRaiseExerciseName = 0xFFFF )
func (CalfRaiseExerciseName) String ¶
func (i CalfRaiseExerciseName) String() string
type CameraEventMsg ¶
type CameraEventMsg struct { }
CameraEventMsg represents the camera_event FIT message type.
func NewCameraEventMsg ¶
func NewCameraEventMsg() *CameraEventMsg
NewCameraEventMsg returns a camera_event FIT message initialized to all-invalid values.
type CameraEventType ¶
type CameraEventType byte
CameraEventType represents the camera_event_type FIT type.
const ( CameraEventTypeVideoStart CameraEventType = 0 // Start of video recording CameraEventTypeVideoSplit CameraEventType = 1 // Mark of video file split (end of one file, beginning of the other) CameraEventTypeVideoEnd CameraEventType = 2 // End of video recording CameraEventTypePhotoTaken CameraEventType = 3 // Still photo taken CameraEventTypeVideoSecondStreamStart CameraEventType = 4 CameraEventTypeVideoSecondStreamSplit CameraEventType = 5 CameraEventTypeVideoSecondStreamEnd CameraEventType = 6 CameraEventTypeVideoSplitStart CameraEventType = 7 // Mark of video file split start CameraEventTypeVideoSecondStreamSplitStart CameraEventType = 8 CameraEventTypeVideoPause CameraEventType = 11 // Mark when a video recording has been paused CameraEventTypeVideoSecondStreamPause CameraEventType = 12 CameraEventTypeVideoResume CameraEventType = 13 // Mark when a video recording has been resumed CameraEventTypeVideoSecondStreamResume CameraEventType = 14 CameraEventTypeInvalid CameraEventType = 0xFF )
func (CameraEventType) String ¶
func (i CameraEventType) String() string
type CameraOrientationType ¶
type CameraOrientationType byte
CameraOrientationType represents the camera_orientation_type FIT type.
const ( CameraOrientationTypeCameraOrientation0 CameraOrientationType = 0 CameraOrientationTypeCameraOrientation90 CameraOrientationType = 1 CameraOrientationTypeCameraOrientation180 CameraOrientationType = 2 CameraOrientationTypeCameraOrientation270 CameraOrientationType = 3 CameraOrientationTypeInvalid CameraOrientationType = 0xFF )
func (CameraOrientationType) String ¶
func (i CameraOrientationType) String() string
type CapabilitiesMsg ¶
type CapabilitiesMsg struct { Languages []uint8 // Use language_bits_x types where x is index of array. Sports []SportBits0 // Use sport_bits_x types where x is index of array. WorkoutsSupported WorkoutCapabilities ConnectivitySupported ConnectivityCapabilities }
CapabilitiesMsg represents the capabilities FIT message type.
func NewCapabilitiesMsg ¶
func NewCapabilitiesMsg() *CapabilitiesMsg
NewCapabilitiesMsg returns a capabilities FIT message initialized to all-invalid values.
type CardioExerciseName ¶
type CardioExerciseName uint16
CardioExerciseName represents the cardio_exercise_name FIT type.
const ( CardioExerciseNameBobAndWeaveCircle CardioExerciseName = 0 CardioExerciseNameWeightedBobAndWeaveCircle CardioExerciseName = 1 CardioExerciseNameCardioCoreCrawl CardioExerciseName = 2 CardioExerciseNameWeightedCardioCoreCrawl CardioExerciseName = 3 CardioExerciseNameDoubleUnder CardioExerciseName = 4 CardioExerciseNameWeightedDoubleUnder CardioExerciseName = 5 CardioExerciseNameJumpRope CardioExerciseName = 6 CardioExerciseNameWeightedJumpRope CardioExerciseName = 7 CardioExerciseNameJumpRopeCrossover CardioExerciseName = 8 CardioExerciseNameWeightedJumpRopeCrossover CardioExerciseName = 9 CardioExerciseNameJumpRopeJog CardioExerciseName = 10 CardioExerciseNameWeightedJumpRopeJog CardioExerciseName = 11 CardioExerciseNameJumpingJacks CardioExerciseName = 12 CardioExerciseNameWeightedJumpingJacks CardioExerciseName = 13 CardioExerciseNameSkiMoguls CardioExerciseName = 14 CardioExerciseNameWeightedSkiMoguls CardioExerciseName = 15 CardioExerciseNameSplitJacks CardioExerciseName = 16 CardioExerciseNameWeightedSplitJacks CardioExerciseName = 17 CardioExerciseNameSquatJacks CardioExerciseName = 18 CardioExerciseNameWeightedSquatJacks CardioExerciseName = 19 CardioExerciseNameTripleUnder CardioExerciseName = 20 CardioExerciseNameWeightedTripleUnder CardioExerciseName = 21 CardioExerciseNameInvalid CardioExerciseName = 0xFFFF )
func (CardioExerciseName) String ¶
func (i CardioExerciseName) String() string
type CarryExerciseName ¶
type CarryExerciseName uint16
CarryExerciseName represents the carry_exercise_name FIT type.
const ( CarryExerciseNameBarHolds CarryExerciseName = 0 CarryExerciseNameFarmersWalk CarryExerciseName = 1 CarryExerciseNameFarmersWalkOnToes CarryExerciseName = 2 CarryExerciseNameHexDumbbellHold CarryExerciseName = 3 CarryExerciseNameOverheadCarry CarryExerciseName = 4 CarryExerciseNameInvalid CarryExerciseName = 0xFFFF )
func (CarryExerciseName) String ¶
func (i CarryExerciseName) String() string
type Checksum ¶
type Checksum uint8
Checksum represents the checksum FIT type.
const ( ChecksumClear Checksum = 0 // Allows clear of checksum for flash memory where can only write 1 to 0 without erasing sector. ChecksumOk Checksum = 1 // Set to mark checksum as valid if computes to invalid values 0 or 0xFF. Checksum can also be set to ok to save encoding computation time. ChecksumInvalid Checksum = 0xFF )
type ChopExerciseName ¶
type ChopExerciseName uint16
ChopExerciseName represents the chop_exercise_name FIT type.
const ( ChopExerciseNameCablePullThrough ChopExerciseName = 0 ChopExerciseNameCableRotationalLift ChopExerciseName = 1 ChopExerciseNameCableWoodchop ChopExerciseName = 2 ChopExerciseNameCrossChopToKnee ChopExerciseName = 3 ChopExerciseNameWeightedCrossChopToKnee ChopExerciseName = 4 ChopExerciseNameDumbbellChop ChopExerciseName = 5 ChopExerciseNameHalfKneelingRotation ChopExerciseName = 6 ChopExerciseNameWeightedHalfKneelingRotation ChopExerciseName = 7 ChopExerciseNameHalfKneelingRotationalChop ChopExerciseName = 8 ChopExerciseNameHalfKneelingRotationalReverseChop ChopExerciseName = 9 ChopExerciseNameHalfKneelingStabilityChop ChopExerciseName = 10 ChopExerciseNameHalfKneelingStabilityReverseChop ChopExerciseName = 11 ChopExerciseNameKneelingRotationalChop ChopExerciseName = 12 ChopExerciseNameKneelingRotationalReverseChop ChopExerciseName = 13 ChopExerciseNameKneelingStabilityChop ChopExerciseName = 14 ChopExerciseNameKneelingWoodchopper ChopExerciseName = 15 ChopExerciseNameMedicineBallWoodChops ChopExerciseName = 16 ChopExerciseNamePowerSquatChops ChopExerciseName = 17 ChopExerciseNameWeightedPowerSquatChops ChopExerciseName = 18 ChopExerciseNameStandingRotationalChop ChopExerciseName = 19 ChopExerciseNameStandingSplitRotationalChop ChopExerciseName = 20 ChopExerciseNameStandingSplitRotationalReverseChop ChopExerciseName = 21 ChopExerciseNameStandingStabilityReverseChop ChopExerciseName = 22 ChopExerciseNameInvalid ChopExerciseName = 0xFFFF )
func (ChopExerciseName) String ¶
func (i ChopExerciseName) String() string
type ClimbProEvent ¶
type ClimbProEvent byte
ClimbProEvent represents the climb_pro_event FIT type.
const ( ClimbProEventApproach ClimbProEvent = 0 ClimbProEventStart ClimbProEvent = 1 ClimbProEventComplete ClimbProEvent = 2 ClimbProEventInvalid ClimbProEvent = 0xFF )
func (ClimbProEvent) String ¶
func (i ClimbProEvent) String() string
type ClimbProMsg ¶
type ClimbProMsg struct { }
ClimbProMsg represents the climb_pro FIT message type.
func NewClimbProMsg ¶
func NewClimbProMsg() *ClimbProMsg
NewClimbProMsg returns a climb_pro FIT message initialized to all-invalid values.
type CommTimeoutType ¶
type CommTimeoutType uint16
CommTimeoutType represents the comm_timeout_type FIT type.
const ( CommTimeoutTypeWildcardPairingTimeout CommTimeoutType = 0 // Timeout pairing to any device CommTimeoutTypePairingTimeout CommTimeoutType = 1 // Timeout pairing to previously paired device CommTimeoutTypeConnectionLost CommTimeoutType = 2 // Temporary loss of communications CommTimeoutTypeConnectionTimeout CommTimeoutType = 3 // Connection closed due to extended bad communications CommTimeoutTypeInvalid CommTimeoutType = 0xFFFF )
func (CommTimeoutType) String ¶
func (i CommTimeoutType) String() string
type ConnectivityCapabilities ¶
type ConnectivityCapabilities uint32
ConnectivityCapabilities represents the connectivity_capabilities FIT type.
const ( ConnectivityCapabilitiesBluetooth ConnectivityCapabilities = 0x00000001 ConnectivityCapabilitiesBluetoothLe ConnectivityCapabilities = 0x00000002 ConnectivityCapabilitiesAnt ConnectivityCapabilities = 0x00000004 ConnectivityCapabilitiesActivityUpload ConnectivityCapabilities = 0x00000008 ConnectivityCapabilitiesCourseDownload ConnectivityCapabilities = 0x00000010 ConnectivityCapabilitiesWorkoutDownload ConnectivityCapabilities = 0x00000020 ConnectivityCapabilitiesLiveTrack ConnectivityCapabilities = 0x00000040 ConnectivityCapabilitiesWeatherConditions ConnectivityCapabilities = 0x00000080 ConnectivityCapabilitiesWeatherAlerts ConnectivityCapabilities = 0x00000100 ConnectivityCapabilitiesGpsEphemerisDownload ConnectivityCapabilities = 0x00000200 ConnectivityCapabilitiesExplicitArchive ConnectivityCapabilities = 0x00000400 ConnectivityCapabilitiesSetupIncomplete ConnectivityCapabilities = 0x00000800 ConnectivityCapabilitiesContinueSyncAfterSoftwareUpdate ConnectivityCapabilities = 0x00001000 ConnectivityCapabilitiesConnectIqAppDownload ConnectivityCapabilities = 0x00002000 ConnectivityCapabilitiesGolfCourseDownload ConnectivityCapabilities = 0x00004000 ConnectivityCapabilitiesDeviceInitiatesSync ConnectivityCapabilities = 0x00008000 // Indicates device is in control of initiating all syncs ConnectivityCapabilitiesConnectIqWatchAppDownload ConnectivityCapabilities = 0x00010000 ConnectivityCapabilitiesConnectIqWidgetDownload ConnectivityCapabilities = 0x00020000 ConnectivityCapabilitiesConnectIqWatchFaceDownload ConnectivityCapabilities = 0x00040000 ConnectivityCapabilitiesConnectIqDataFieldDownload ConnectivityCapabilities = 0x00080000 ConnectivityCapabilitiesConnectIqAppManagment ConnectivityCapabilities = 0x00100000 // Device supports delete and reorder of apps via GCM ConnectivityCapabilitiesSwingSensor ConnectivityCapabilities = 0x00200000 ConnectivityCapabilitiesSwingSensorRemote ConnectivityCapabilities = 0x00400000 ConnectivityCapabilitiesIncidentDetection ConnectivityCapabilities = 0x00800000 // Device supports incident detection ConnectivityCapabilitiesAudioPrompts ConnectivityCapabilities = 0x01000000 ConnectivityCapabilitiesWifiVerification ConnectivityCapabilities = 0x02000000 // Device supports reporting wifi verification via GCM ConnectivityCapabilitiesTrueUp ConnectivityCapabilities = 0x04000000 // Device supports True Up ConnectivityCapabilitiesFindMyWatch ConnectivityCapabilities = 0x08000000 // Device supports Find My Watch ConnectivityCapabilitiesRemoteManualSync ConnectivityCapabilities = 0x10000000 ConnectivityCapabilitiesLiveTrackAutoStart ConnectivityCapabilities = 0x20000000 // Device supports LiveTrack auto start ConnectivityCapabilitiesLiveTrackMessaging ConnectivityCapabilities = 0x40000000 // Device supports LiveTrack Messaging ConnectivityCapabilitiesInstantInput ConnectivityCapabilities = 0x80000000 // Device supports instant input feature ConnectivityCapabilitiesInvalid ConnectivityCapabilities = 0x00000000 )
func (ConnectivityCapabilities) String ¶
func (i ConnectivityCapabilities) String() string
type ConnectivityMsg ¶
type ConnectivityMsg struct { BluetoothEnabled Bool // Use Bluetooth for connectivity features BluetoothLeEnabled Bool // Use Bluetooth Low Energy for connectivity features AntEnabled Bool // Use ANT for connectivity features Name string LiveTrackingEnabled Bool WeatherConditionsEnabled Bool WeatherAlertsEnabled Bool AutoActivityUploadEnabled Bool CourseDownloadEnabled Bool WorkoutDownloadEnabled Bool GpsEphemerisDownloadEnabled Bool IncidentDetectionEnabled Bool GrouptrackEnabled Bool }
ConnectivityMsg represents the connectivity FIT message type.
func NewConnectivityMsg ¶
func NewConnectivityMsg() *ConnectivityMsg
NewConnectivityMsg returns a connectivity FIT message initialized to all-invalid values.
type CoreExerciseName ¶
type CoreExerciseName uint16
CoreExerciseName represents the core_exercise_name FIT type.
const ( CoreExerciseNameAbsJabs CoreExerciseName = 0 CoreExerciseNameWeightedAbsJabs CoreExerciseName = 1 CoreExerciseNameAlternatingPlateReach CoreExerciseName = 2 CoreExerciseNameBarbellRollout CoreExerciseName = 3 CoreExerciseNameWeightedBarbellRollout CoreExerciseName = 4 CoreExerciseNameBodyBarObliqueTwist CoreExerciseName = 5 CoreExerciseNameCableCorePress CoreExerciseName = 6 CoreExerciseNameCableSideBend CoreExerciseName = 7 CoreExerciseNameSideBend CoreExerciseName = 8 CoreExerciseNameWeightedSideBend CoreExerciseName = 9 CoreExerciseNameCrescentCircle CoreExerciseName = 10 CoreExerciseNameWeightedCrescentCircle CoreExerciseName = 11 CoreExerciseNameCyclingRussianTwist CoreExerciseName = 12 CoreExerciseNameWeightedCyclingRussianTwist CoreExerciseName = 13 CoreExerciseNameElevatedFeetRussianTwist CoreExerciseName = 14 CoreExerciseNameWeightedElevatedFeetRussianTwist CoreExerciseName = 15 CoreExerciseNameHalfTurkishGetUp CoreExerciseName = 16 CoreExerciseNameKettlebellWindmill CoreExerciseName = 17 CoreExerciseNameKneelingAbWheel CoreExerciseName = 18 CoreExerciseNameWeightedKneelingAbWheel CoreExerciseName = 19 CoreExerciseNameModifiedFrontLever CoreExerciseName = 20 CoreExerciseNameOpenKneeTucks CoreExerciseName = 21 CoreExerciseNameWeightedOpenKneeTucks CoreExerciseName = 22 CoreExerciseNameSideAbsLegLift CoreExerciseName = 23 CoreExerciseNameWeightedSideAbsLegLift CoreExerciseName = 24 CoreExerciseNameSwissBallJackknife CoreExerciseName = 25 CoreExerciseNameWeightedSwissBallJackknife CoreExerciseName = 26 CoreExerciseNameSwissBallPike CoreExerciseName = 27 CoreExerciseNameWeightedSwissBallPike CoreExerciseName = 28 CoreExerciseNameSwissBallRollout CoreExerciseName = 29 CoreExerciseNameWeightedSwissBallRollout CoreExerciseName = 30 CoreExerciseNameTriangleHipPress CoreExerciseName = 31 CoreExerciseNameWeightedTriangleHipPress CoreExerciseName = 32 CoreExerciseNameTrxSuspendedJackknife CoreExerciseName = 33 CoreExerciseNameWeightedTrxSuspendedJackknife CoreExerciseName = 34 CoreExerciseNameUBoat CoreExerciseName = 35 CoreExerciseNameWeightedUBoat CoreExerciseName = 36 CoreExerciseNameWindmillSwitches CoreExerciseName = 37 CoreExerciseNameWeightedWindmillSwitches CoreExerciseName = 38 CoreExerciseNameAlternatingSlideOut CoreExerciseName = 39 CoreExerciseNameWeightedAlternatingSlideOut CoreExerciseName = 40 CoreExerciseNameGhdBackExtensions CoreExerciseName = 41 CoreExerciseNameWeightedGhdBackExtensions CoreExerciseName = 42 CoreExerciseNameOverheadWalk CoreExerciseName = 43 CoreExerciseNameInchworm CoreExerciseName = 44 CoreExerciseNameWeightedModifiedFrontLever CoreExerciseName = 45 CoreExerciseNameRussianTwist CoreExerciseName = 46 CoreExerciseNameAbdominalLegRotations CoreExerciseName = 47 // Deprecated do not use CoreExerciseNameArmAndLegExtensionOnKnees CoreExerciseName = 48 CoreExerciseNameBicycle CoreExerciseName = 49 CoreExerciseNameBicepCurlWithLegExtension CoreExerciseName = 50 CoreExerciseNameCatCow CoreExerciseName = 51 CoreExerciseNameCorkscrew CoreExerciseName = 52 CoreExerciseNameCrissCross CoreExerciseName = 53 CoreExerciseNameCrissCrossWithBall CoreExerciseName = 54 // Deprecated do not use CoreExerciseNameDoubleLegStretch CoreExerciseName = 55 CoreExerciseNameKneeFolds CoreExerciseName = 56 CoreExerciseNameLowerLift CoreExerciseName = 57 CoreExerciseNameNeckPull CoreExerciseName = 58 CoreExerciseNamePelvicClocks CoreExerciseName = 59 CoreExerciseNameRollOver CoreExerciseName = 60 CoreExerciseNameRollUp CoreExerciseName = 61 CoreExerciseNameRolling CoreExerciseName = 62 CoreExerciseNameRowing1 CoreExerciseName = 63 CoreExerciseNameRowing2 CoreExerciseName = 64 CoreExerciseNameScissors CoreExerciseName = 65 CoreExerciseNameSingleLegCircles CoreExerciseName = 66 CoreExerciseNameSingleLegStretch CoreExerciseName = 67 CoreExerciseNameSnakeTwist1And2 CoreExerciseName = 68 // Deprecated do not use CoreExerciseNameSwan CoreExerciseName = 69 CoreExerciseNameSwimming CoreExerciseName = 70 CoreExerciseNameTheHundred CoreExerciseName = 72 CoreExerciseNameInvalid CoreExerciseName = 0xFFFF )
func (CoreExerciseName) String ¶
func (i CoreExerciseName) String() string
type CourseCapabilities ¶
type CourseCapabilities uint32
CourseCapabilities represents the course_capabilities FIT type.
const ( CourseCapabilitiesProcessed CourseCapabilities = 0x00000001 CourseCapabilitiesValid CourseCapabilities = 0x00000002 CourseCapabilitiesTime CourseCapabilities = 0x00000004 CourseCapabilitiesDistance CourseCapabilities = 0x00000008 CourseCapabilitiesPosition CourseCapabilities = 0x00000010 CourseCapabilitiesHeartRate CourseCapabilities = 0x00000020 CourseCapabilitiesPower CourseCapabilities = 0x00000040 CourseCapabilitiesCadence CourseCapabilities = 0x00000080 CourseCapabilitiesTraining CourseCapabilities = 0x00000100 CourseCapabilitiesBikeway CourseCapabilities = 0x00000400 CourseCapabilitiesInvalid CourseCapabilities = 0x00000000 )
func (CourseCapabilities) String ¶
func (i CourseCapabilities) String() string
type CourseFile ¶
type CourseFile struct { Course *CourseMsg Laps []*LapMsg CoursePoints []*CoursePointMsg Records []*RecordMsg }
CourseFile represents the Course FIT file type. Uses data from an activity to recreate a course.
type CourseMsg ¶
type CourseMsg struct { Sport Sport Name string Capabilities CourseCapabilities SubSport SubSport }
CourseMsg represents the course FIT message type.
func NewCourseMsg ¶
func NewCourseMsg() *CourseMsg
NewCourseMsg returns a course FIT message initialized to all-invalid values.
type CoursePoint ¶
type CoursePoint byte
CoursePoint represents the course_point FIT type.
const ( CoursePointGeneric CoursePoint = 0 CoursePointSummit CoursePoint = 1 CoursePointValley CoursePoint = 2 CoursePointWater CoursePoint = 3 CoursePointFood CoursePoint = 4 CoursePointDanger CoursePoint = 5 CoursePointLeft CoursePoint = 6 CoursePointRight CoursePoint = 7 CoursePointStraight CoursePoint = 8 CoursePointFirstAid CoursePoint = 9 CoursePointFourthCategory CoursePoint = 10 CoursePointThirdCategory CoursePoint = 11 CoursePointSecondCategory CoursePoint = 12 CoursePointFirstCategory CoursePoint = 13 CoursePointHorsCategory CoursePoint = 14 CoursePointSprint CoursePoint = 15 CoursePointLeftFork CoursePoint = 16 CoursePointRightFork CoursePoint = 17 CoursePointMiddleFork CoursePoint = 18 CoursePointSlightLeft CoursePoint = 19 CoursePointSharpLeft CoursePoint = 20 CoursePointSlightRight CoursePoint = 21 CoursePointSharpRight CoursePoint = 22 CoursePointUTurn CoursePoint = 23 CoursePointSegmentStart CoursePoint = 24 CoursePointSegmentEnd CoursePoint = 25 CoursePointInvalid CoursePoint = 0xFF )
func (CoursePoint) String ¶
func (i CoursePoint) String() string
type CoursePointMsg ¶
type CoursePointMsg struct { MessageIndex MessageIndex Timestamp time.Time PositionLat Latitude PositionLong Longitude Distance uint32 Type CoursePoint Name string Favorite Bool }
CoursePointMsg represents the course_point FIT message type.
func NewCoursePointMsg ¶
func NewCoursePointMsg() *CoursePointMsg
NewCoursePointMsg returns a course_point FIT message initialized to all-invalid values.
func (*CoursePointMsg) GetDistanceScaled ¶
func (x *CoursePointMsg) GetDistanceScaled() float64
GetDistanceScaled returns Distance with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
type CrunchExerciseName ¶
type CrunchExerciseName uint16
CrunchExerciseName represents the crunch_exercise_name FIT type.
const ( CrunchExerciseNameBicycleCrunch CrunchExerciseName = 0 CrunchExerciseNameCableCrunch CrunchExerciseName = 1 CrunchExerciseNameCircularArmCrunch CrunchExerciseName = 2 CrunchExerciseNameCrossedArmsCrunch CrunchExerciseName = 3 CrunchExerciseNameWeightedCrossedArmsCrunch CrunchExerciseName = 4 CrunchExerciseNameCrossLegReverseCrunch CrunchExerciseName = 5 CrunchExerciseNameWeightedCrossLegReverseCrunch CrunchExerciseName = 6 CrunchExerciseNameCrunchChop CrunchExerciseName = 7 CrunchExerciseNameWeightedCrunchChop CrunchExerciseName = 8 CrunchExerciseNameDoubleCrunch CrunchExerciseName = 9 CrunchExerciseNameWeightedDoubleCrunch CrunchExerciseName = 10 CrunchExerciseNameElbowToKneeCrunch CrunchExerciseName = 11 CrunchExerciseNameWeightedElbowToKneeCrunch CrunchExerciseName = 12 CrunchExerciseNameFlutterKicks CrunchExerciseName = 13 CrunchExerciseNameWeightedFlutterKicks CrunchExerciseName = 14 CrunchExerciseNameFoamRollerReverseCrunchOnBench CrunchExerciseName = 15 CrunchExerciseNameWeightedFoamRollerReverseCrunchOnBench CrunchExerciseName = 16 CrunchExerciseNameFoamRollerReverseCrunchWithDumbbell CrunchExerciseName = 17 CrunchExerciseNameFoamRollerReverseCrunchWithMedicineBall CrunchExerciseName = 18 CrunchExerciseNameFrogPress CrunchExerciseName = 19 CrunchExerciseNameHangingKneeRaiseObliqueCrunch CrunchExerciseName = 20 CrunchExerciseNameWeightedHangingKneeRaiseObliqueCrunch CrunchExerciseName = 21 CrunchExerciseNameHipCrossover CrunchExerciseName = 22 CrunchExerciseNameWeightedHipCrossover CrunchExerciseName = 23 CrunchExerciseNameHollowRock CrunchExerciseName = 24 CrunchExerciseNameWeightedHollowRock CrunchExerciseName = 25 CrunchExerciseNameInclineReverseCrunch CrunchExerciseName = 26 CrunchExerciseNameWeightedInclineReverseCrunch CrunchExerciseName = 27 CrunchExerciseNameKneelingCableCrunch CrunchExerciseName = 28 CrunchExerciseNameKneelingCrossCrunch CrunchExerciseName = 29 CrunchExerciseNameWeightedKneelingCrossCrunch CrunchExerciseName = 30 CrunchExerciseNameKneelingObliqueCableCrunch CrunchExerciseName = 31 CrunchExerciseNameKneesToElbow CrunchExerciseName = 32 CrunchExerciseNameLegExtensions CrunchExerciseName = 33 CrunchExerciseNameWeightedLegExtensions CrunchExerciseName = 34 CrunchExerciseNameLegLevers CrunchExerciseName = 35 CrunchExerciseNameMcgillCurlUp CrunchExerciseName = 36 CrunchExerciseNameWeightedMcgillCurlUp CrunchExerciseName = 37 CrunchExerciseNameModifiedPilatesRollUpWithBall CrunchExerciseName = 38 CrunchExerciseNameWeightedModifiedPilatesRollUpWithBall CrunchExerciseName = 39 CrunchExerciseNamePilatesCrunch CrunchExerciseName = 40 CrunchExerciseNameWeightedPilatesCrunch CrunchExerciseName = 41 CrunchExerciseNamePilatesRollUpWithBall CrunchExerciseName = 42 CrunchExerciseNameWeightedPilatesRollUpWithBall CrunchExerciseName = 43 CrunchExerciseNameRaisedLegsCrunch CrunchExerciseName = 44 CrunchExerciseNameWeightedRaisedLegsCrunch CrunchExerciseName = 45 CrunchExerciseNameReverseCrunch CrunchExerciseName = 46 CrunchExerciseNameWeightedReverseCrunch CrunchExerciseName = 47 CrunchExerciseNameReverseCrunchOnABench CrunchExerciseName = 48 CrunchExerciseNameWeightedReverseCrunchOnABench CrunchExerciseName = 49 CrunchExerciseNameReverseCurlAndLift CrunchExerciseName = 50 CrunchExerciseNameWeightedReverseCurlAndLift CrunchExerciseName = 51 CrunchExerciseNameRotationalLift CrunchExerciseName = 52 CrunchExerciseNameWeightedRotationalLift CrunchExerciseName = 53 CrunchExerciseNameSeatedAlternatingReverseCrunch CrunchExerciseName = 54 CrunchExerciseNameWeightedSeatedAlternatingReverseCrunch CrunchExerciseName = 55 CrunchExerciseNameSeatedLegU CrunchExerciseName = 56 CrunchExerciseNameWeightedSeatedLegU CrunchExerciseName = 57 CrunchExerciseNameSideToSideCrunchAndWeave CrunchExerciseName = 58 CrunchExerciseNameWeightedSideToSideCrunchAndWeave CrunchExerciseName = 59 CrunchExerciseNameSingleLegReverseCrunch CrunchExerciseName = 60 CrunchExerciseNameWeightedSingleLegReverseCrunch CrunchExerciseName = 61 CrunchExerciseNameSkaterCrunchCross CrunchExerciseName = 62 CrunchExerciseNameWeightedSkaterCrunchCross CrunchExerciseName = 63 CrunchExerciseNameStandingCableCrunch CrunchExerciseName = 64 CrunchExerciseNameStandingSideCrunch CrunchExerciseName = 65 CrunchExerciseNameStepClimb CrunchExerciseName = 66 CrunchExerciseNameWeightedStepClimb CrunchExerciseName = 67 CrunchExerciseNameSwissBallCrunch CrunchExerciseName = 68 CrunchExerciseNameSwissBallReverseCrunch CrunchExerciseName = 69 CrunchExerciseNameWeightedSwissBallReverseCrunch CrunchExerciseName = 70 CrunchExerciseNameSwissBallRussianTwist CrunchExerciseName = 71 CrunchExerciseNameWeightedSwissBallRussianTwist CrunchExerciseName = 72 CrunchExerciseNameSwissBallSideCrunch CrunchExerciseName = 73 CrunchExerciseNameWeightedSwissBallSideCrunch CrunchExerciseName = 74 CrunchExerciseNameThoracicCrunchesOnFoamRoller CrunchExerciseName = 75 CrunchExerciseNameWeightedThoracicCrunchesOnFoamRoller CrunchExerciseName = 76 CrunchExerciseNameTricepsCrunch CrunchExerciseName = 77 CrunchExerciseNameWeightedBicycleCrunch CrunchExerciseName = 78 CrunchExerciseNameWeightedCrunch CrunchExerciseName = 79 CrunchExerciseNameWeightedSwissBallCrunch CrunchExerciseName = 80 CrunchExerciseNameToesToBar CrunchExerciseName = 81 CrunchExerciseNameWeightedToesToBar CrunchExerciseName = 82 CrunchExerciseNameCrunch CrunchExerciseName = 83 CrunchExerciseNameStraightLegCrunchWithBall CrunchExerciseName = 84 CrunchExerciseNameInvalid CrunchExerciseName = 0xFFFF )
func (CrunchExerciseName) String ¶
func (i CrunchExerciseName) String() string
type CurlExerciseName ¶
type CurlExerciseName uint16
CurlExerciseName represents the curl_exercise_name FIT type.
const ( CurlExerciseNameAlternatingDumbbellBicepsCurl CurlExerciseName = 0 CurlExerciseNameAlternatingDumbbellBicepsCurlOnSwissBall CurlExerciseName = 1 CurlExerciseNameAlternatingInclineDumbbellBicepsCurl CurlExerciseName = 2 CurlExerciseNameBarbellBicepsCurl CurlExerciseName = 3 CurlExerciseNameBarbellReverseWristCurl CurlExerciseName = 4 CurlExerciseNameBarbellWristCurl CurlExerciseName = 5 CurlExerciseNameBehindTheBackBarbellReverseWristCurl CurlExerciseName = 6 CurlExerciseNameBehindTheBackOneArmCableCurl CurlExerciseName = 7 CurlExerciseNameCableBicepsCurl CurlExerciseName = 8 CurlExerciseNameCableHammerCurl CurlExerciseName = 9 CurlExerciseNameCheatingBarbellBicepsCurl CurlExerciseName = 10 CurlExerciseNameCloseGripEzBarBicepsCurl CurlExerciseName = 11 CurlExerciseNameCrossBodyDumbbellHammerCurl CurlExerciseName = 12 CurlExerciseNameDeadHangBicepsCurl CurlExerciseName = 13 CurlExerciseNameDeclineHammerCurl CurlExerciseName = 14 CurlExerciseNameDumbbellBicepsCurlWithStaticHold CurlExerciseName = 15 CurlExerciseNameDumbbellHammerCurl CurlExerciseName = 16 CurlExerciseNameDumbbellReverseWristCurl CurlExerciseName = 17 CurlExerciseNameDumbbellWristCurl CurlExerciseName = 18 CurlExerciseNameEzBarPreacherCurl CurlExerciseName = 19 CurlExerciseNameForwardBendBicepsCurl CurlExerciseName = 20 CurlExerciseNameHammerCurlToPress CurlExerciseName = 21 CurlExerciseNameInclineDumbbellBicepsCurl CurlExerciseName = 22 CurlExerciseNameInclineOffsetThumbDumbbellCurl CurlExerciseName = 23 CurlExerciseNameKettlebellBicepsCurl CurlExerciseName = 24 CurlExerciseNameLyingConcentrationCableCurl CurlExerciseName = 25 CurlExerciseNameOneArmPreacherCurl CurlExerciseName = 26 CurlExerciseNamePlatePinchCurl CurlExerciseName = 27 CurlExerciseNamePreacherCurlWithCable CurlExerciseName = 28 CurlExerciseNameReverseEzBarCurl CurlExerciseName = 29 CurlExerciseNameReverseGripWristCurl CurlExerciseName = 30 CurlExerciseNameReverseGripBarbellBicepsCurl CurlExerciseName = 31 CurlExerciseNameSeatedAlternatingDumbbellBicepsCurl CurlExerciseName = 32 CurlExerciseNameSeatedDumbbellBicepsCurl CurlExerciseName = 33 CurlExerciseNameSeatedReverseDumbbellCurl CurlExerciseName = 34 CurlExerciseNameSplitStanceOffsetPinkyDumbbellCurl CurlExerciseName = 35 CurlExerciseNameStandingAlternatingDumbbellCurls CurlExerciseName = 36 CurlExerciseNameStandingDumbbellBicepsCurl CurlExerciseName = 37 CurlExerciseNameStandingEzBarBicepsCurl CurlExerciseName = 38 CurlExerciseNameStaticCurl CurlExerciseName = 39 CurlExerciseNameSwissBallDumbbellOverheadTricepsExtension CurlExerciseName = 40 CurlExerciseNameSwissBallEzBarPreacherCurl CurlExerciseName = 41 CurlExerciseNameTwistingStandingDumbbellBicepsCurl CurlExerciseName = 42 CurlExerciseNameWideGripEzBarBicepsCurl CurlExerciseName = 43 CurlExerciseNameInvalid CurlExerciseName = 0xFFFF )
func (CurlExerciseName) String ¶
func (i CurlExerciseName) String() string
type DeadliftExerciseName ¶
type DeadliftExerciseName uint16
DeadliftExerciseName represents the deadlift_exercise_name FIT type.
const ( DeadliftExerciseNameBarbellDeadlift DeadliftExerciseName = 0 DeadliftExerciseNameBarbellStraightLegDeadlift DeadliftExerciseName = 1 DeadliftExerciseNameDumbbellDeadlift DeadliftExerciseName = 2 DeadliftExerciseNameDumbbellSingleLegDeadliftToRow DeadliftExerciseName = 3 DeadliftExerciseNameDumbbellStraightLegDeadlift DeadliftExerciseName = 4 DeadliftExerciseNameKettlebellFloorToShelf DeadliftExerciseName = 5 DeadliftExerciseNameOneArmOneLegDeadlift DeadliftExerciseName = 6 DeadliftExerciseNameRackPull DeadliftExerciseName = 7 DeadliftExerciseNameRotationalDumbbellStraightLegDeadlift DeadliftExerciseName = 8 DeadliftExerciseNameSingleArmDeadlift DeadliftExerciseName = 9 DeadliftExerciseNameSingleLegBarbellDeadlift DeadliftExerciseName = 10 DeadliftExerciseNameSingleLegBarbellStraightLegDeadlift DeadliftExerciseName = 11 DeadliftExerciseNameSingleLegDeadliftWithBarbell DeadliftExerciseName = 12 DeadliftExerciseNameSingleLegRdlCircuit DeadliftExerciseName = 13 DeadliftExerciseNameSingleLegRomanianDeadliftWithDumbbell DeadliftExerciseName = 14 DeadliftExerciseNameSumoDeadlift DeadliftExerciseName = 15 DeadliftExerciseNameSumoDeadliftHighPull DeadliftExerciseName = 16 DeadliftExerciseNameTrapBarDeadlift DeadliftExerciseName = 17 DeadliftExerciseNameWideGripBarbellDeadlift DeadliftExerciseName = 18 DeadliftExerciseNameInvalid DeadliftExerciseName = 0xFFFF )
func (DeadliftExerciseName) String ¶
func (i DeadliftExerciseName) String() string
type DecodeOption ¶
type DecodeOption func(*decodeOptions)
DecodeOption configures a decoder.
func WithLogger ¶
func WithLogger(logger Logger) DecodeOption
WithLogger configures the decoder to enable debug logging using the provided logger.
func WithStdLogger ¶
func WithStdLogger() DecodeOption
WithStdLogger configures the decoder to enable debug logging using the standard library's logger.
func WithUnknownFields ¶
func WithUnknownFields() DecodeOption
WithUnknownFields configures the decoder to record information about unknown fields encountered when decoding a known message type. Currently message number, field number and number of occurrences are recorded.
func WithUnknownMessages ¶
func WithUnknownMessages() DecodeOption
WithUnknownMessages configures the decoder to record information about unknown messages encountered during decoding of a FIT file. Currently message number and number of occurrences are recorded.
type DeveloperDataIdMsg ¶
type DeveloperDataIdMsg struct { DeveloperId []byte ApplicationId []byte ManufacturerId Manufacturer DeveloperDataIndex uint8 ApplicationVersion uint32 }
DeveloperDataIdMsg represents the developer_data_id FIT message type.
func NewDeveloperDataIdMsg ¶
func NewDeveloperDataIdMsg() *DeveloperDataIdMsg
NewDeveloperDataIdMsg returns a developer_data_id FIT message initialized to all-invalid values.
type DeviceFile ¶
type DeviceFile struct { Softwares []*SoftwareMsg Capabilities []*CapabilitiesMsg FileCapabilities []*FileCapabilitiesMsg MesgCapabilities []*MesgCapabilitiesMsg FieldCapabilities []*FieldCapabilitiesMsg }
DeviceFile represents the Device FIT file type. Describes a device's file structure and capabilities.
type DeviceIndex ¶
type DeviceIndex uint8
DeviceIndex represents the device_index FIT type.
const ( DeviceIndexCreator DeviceIndex = 0 // Creator of the file is always device index 0. DeviceIndexInvalid DeviceIndex = 0xFF )
func (DeviceIndex) String ¶
func (i DeviceIndex) String() string
type DeviceInfoMsg ¶
type DeviceInfoMsg struct { Timestamp time.Time DeviceIndex DeviceIndex DeviceType uint8 Manufacturer Manufacturer SerialNumber uint32 Product uint16 SoftwareVersion uint16 HardwareVersion uint8 CumOperatingTime uint32 // Reset by new battery or charge. BatteryVoltage uint16 BatteryStatus BatteryStatus SensorPosition BodyLocation // Indicates the location of the sensor Descriptor string // Used to describe the sensor or location AntTransmissionType uint8 AntDeviceNumber uint16 AntNetwork AntNetwork SourceType SourceType ProductName string // Optional free form string to indicate the devices name or model }
DeviceInfoMsg represents the device_info FIT message type.
func NewDeviceInfoMsg ¶
func NewDeviceInfoMsg() *DeviceInfoMsg
NewDeviceInfoMsg returns a device_info FIT message initialized to all-invalid values.
func (*DeviceInfoMsg) GetBatteryVoltageScaled ¶
func (x *DeviceInfoMsg) GetBatteryVoltageScaled() float64
GetBatteryVoltageScaled returns BatteryVoltage with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: V
func (*DeviceInfoMsg) GetDeviceType ¶
func (x *DeviceInfoMsg) GetDeviceType() interface{}
GetDeviceType returns the appropriate DeviceType subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*DeviceInfoMsg) GetProduct ¶
func (x *DeviceInfoMsg) GetProduct() interface{}
GetProduct returns the appropriate Product subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*DeviceInfoMsg) GetSoftwareVersionScaled ¶
func (x *DeviceInfoMsg) GetSoftwareVersionScaled() float64
GetSoftwareVersionScaled returns SoftwareVersion with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set).
type DeviceSettingsMsg ¶
type DeviceSettingsMsg struct { ActiveTimeZone uint8 // Index into time zone arrays. UtcOffset uint32 // Offset from system time. Required to convert timestamp from system time to UTC. TimeOffset []uint32 // Offset from system time. TimeMode []TimeMode // Display mode for the time TimeZoneOffset []int8 // timezone offset in 1/4 hour increments BacklightMode BacklightMode // Mode for backlight ActivityTrackerEnabled Bool // Enabled state of the activity tracker functionality ClockTime time.Time // UTC timestamp used to set the devices clock and date PagesEnabled []uint16 // Bitfield to configure enabled screens for each supported loop MoveAlertEnabled Bool // Enabled state of the move alert DateMode DateMode // Display mode for the date DisplayOrientation DisplayOrientation MountingSide Side DefaultPage []uint16 // Bitfield to indicate one page as default for each supported loop AutosyncMinSteps uint16 // Minimum steps before an autosync can occur AutosyncMinTime uint16 // Minimum minutes before an autosync can occur TapSensitivity TapSensitivity // Used to hold the tap threshold setting }
DeviceSettingsMsg represents the device_settings FIT message type.
func NewDeviceSettingsMsg ¶
func NewDeviceSettingsMsg() *DeviceSettingsMsg
NewDeviceSettingsMsg returns a device_settings FIT message initialized to all-invalid values.
func (*DeviceSettingsMsg) GetTimeZoneOffsetScaled ¶
func (x *DeviceSettingsMsg) GetTimeZoneOffsetScaled() []float64
GetTimeZoneOffsetScaled returns TimeZoneOffset as a slice with scale and any offset applied to every element. Units: hr
type DigitalWatchfaceLayout ¶
type DigitalWatchfaceLayout byte
DigitalWatchfaceLayout represents the digital_watchface_layout FIT type.
const ( DigitalWatchfaceLayoutTraditional DigitalWatchfaceLayout = 0 DigitalWatchfaceLayoutModern DigitalWatchfaceLayout = 1 DigitalWatchfaceLayoutBold DigitalWatchfaceLayout = 2 DigitalWatchfaceLayoutInvalid DigitalWatchfaceLayout = 0xFF )
func (DigitalWatchfaceLayout) String ¶
func (i DigitalWatchfaceLayout) String() string
type DisplayHeart ¶
type DisplayHeart byte
DisplayHeart represents the display_heart FIT type.
const ( DisplayHeartBpm DisplayHeart = 0 DisplayHeartMax DisplayHeart = 1 DisplayHeartReserve DisplayHeart = 2 DisplayHeartInvalid DisplayHeart = 0xFF )
func (DisplayHeart) String ¶
func (i DisplayHeart) String() string
type DisplayMeasure ¶
type DisplayMeasure byte
DisplayMeasure represents the display_measure FIT type.
const ( DisplayMeasureMetric DisplayMeasure = 0 DisplayMeasureStatute DisplayMeasure = 1 DisplayMeasureNautical DisplayMeasure = 2 DisplayMeasureInvalid DisplayMeasure = 0xFF )
func (DisplayMeasure) String ¶
func (i DisplayMeasure) String() string
type DisplayOrientation ¶
type DisplayOrientation byte
DisplayOrientation represents the display_orientation FIT type.
const ( DisplayOrientationAuto DisplayOrientation = 0 // automatic if the device supports it DisplayOrientationPortrait DisplayOrientation = 1 DisplayOrientationLandscape DisplayOrientation = 2 DisplayOrientationPortraitFlipped DisplayOrientation = 3 // portrait mode but rotated 180 degrees DisplayOrientationLandscapeFlipped DisplayOrientation = 4 // landscape mode but rotated 180 degrees DisplayOrientationInvalid DisplayOrientation = 0xFF )
func (DisplayOrientation) String ¶
func (i DisplayOrientation) String() string
type DisplayPosition ¶
type DisplayPosition byte
DisplayPosition represents the display_position FIT type.
const ( DisplayPositionDegree DisplayPosition = 0 // dd.dddddd DisplayPositionDegreeMinute DisplayPosition = 1 // dddmm.mmm DisplayPositionDegreeMinuteSecond DisplayPosition = 2 // dddmmss DisplayPositionAustrianGrid DisplayPosition = 3 // Austrian Grid (BMN) DisplayPositionBritishGrid DisplayPosition = 4 // British National Grid DisplayPositionDutchGrid DisplayPosition = 5 // Dutch grid system DisplayPositionHungarianGrid DisplayPosition = 6 // Hungarian grid system DisplayPositionFinnishGrid DisplayPosition = 7 // Finnish grid system Zone3 KKJ27 DisplayPositionGermanGrid DisplayPosition = 8 // Gausss Krueger (German) DisplayPositionIcelandicGrid DisplayPosition = 9 // Icelandic Grid DisplayPositionIndonesianEquatorial DisplayPosition = 10 // Indonesian Equatorial LCO DisplayPositionIndonesianIrian DisplayPosition = 11 // Indonesian Irian LCO DisplayPositionIndonesianSouthern DisplayPosition = 12 // Indonesian Southern LCO DisplayPositionIndiaZone0 DisplayPosition = 13 // India zone 0 DisplayPositionIndiaZoneIA DisplayPosition = 14 // India zone IA DisplayPositionIndiaZoneIB DisplayPosition = 15 // India zone IB DisplayPositionIndiaZoneIIA DisplayPosition = 16 // India zone IIA DisplayPositionIndiaZoneIIB DisplayPosition = 17 // India zone IIB DisplayPositionIndiaZoneIIIA DisplayPosition = 18 // India zone IIIA DisplayPositionIndiaZoneIIIB DisplayPosition = 19 // India zone IIIB DisplayPositionIndiaZoneIVA DisplayPosition = 20 // India zone IVA DisplayPositionIndiaZoneIVB DisplayPosition = 21 // India zone IVB DisplayPositionIrishTransverse DisplayPosition = 22 // Irish Transverse Mercator DisplayPositionIrishGrid DisplayPosition = 23 // Irish Grid DisplayPositionLoran DisplayPosition = 24 // Loran TD DisplayPositionMaidenheadGrid DisplayPosition = 25 // Maidenhead grid system DisplayPositionMgrsGrid DisplayPosition = 26 // MGRS grid system DisplayPositionNewZealandGrid DisplayPosition = 27 // New Zealand grid system DisplayPositionNewZealandTransverse DisplayPosition = 28 // New Zealand Transverse Mercator DisplayPositionQatarGrid DisplayPosition = 29 // Qatar National Grid DisplayPositionModifiedSwedishGrid DisplayPosition = 30 // Modified RT-90 (Sweden) DisplayPositionSwedishGrid DisplayPosition = 31 // RT-90 (Sweden) DisplayPositionSouthAfricanGrid DisplayPosition = 32 // South African Grid DisplayPositionSwissGrid DisplayPosition = 33 // Swiss CH-1903 grid DisplayPositionTaiwanGrid DisplayPosition = 34 // Taiwan Grid DisplayPositionUnitedStatesGrid DisplayPosition = 35 // United States National Grid DisplayPositionUtmUpsGrid DisplayPosition = 36 // UTM/UPS grid system DisplayPositionWestMalayan DisplayPosition = 37 // West Malayan RSO DisplayPositionBorneoRso DisplayPosition = 38 // Borneo RSO DisplayPositionEstonianGrid DisplayPosition = 39 // Estonian grid system DisplayPositionLatvianGrid DisplayPosition = 40 // Latvian Transverse Mercator DisplayPositionSwedishRef99Grid DisplayPosition = 41 // Reference Grid 99 TM (Swedish) DisplayPositionInvalid DisplayPosition = 0xFF )
func (DisplayPosition) String ¶
func (i DisplayPosition) String() string
type DisplayPower ¶
type DisplayPower byte
DisplayPower represents the display_power FIT type.
const ( DisplayPowerWatts DisplayPower = 0 DisplayPowerPercentFtp DisplayPower = 1 DisplayPowerInvalid DisplayPower = 0xFF )
func (DisplayPower) String ¶
func (i DisplayPower) String() string
type DiveAlarmMsg ¶
type DiveAlarmMsg struct { }
DiveAlarmMsg represents the dive_alarm FIT message type.
func NewDiveAlarmMsg ¶
func NewDiveAlarmMsg() *DiveAlarmMsg
NewDiveAlarmMsg returns a dive_alarm FIT message initialized to all-invalid values.
type DiveAlarmType ¶
type DiveAlarmType byte
DiveAlarmType represents the dive_alarm_type FIT type.
const ( DiveAlarmTypeDepth DiveAlarmType = 0 DiveAlarmTypeTime DiveAlarmType = 1 DiveAlarmTypeInvalid DiveAlarmType = 0xFF )
func (DiveAlarmType) String ¶
func (i DiveAlarmType) String() string
type DiveBacklightMode ¶
type DiveBacklightMode byte
DiveBacklightMode represents the dive_backlight_mode FIT type.
const ( DiveBacklightModeAtDepth DiveBacklightMode = 0 DiveBacklightModeAlwaysOn DiveBacklightMode = 1 DiveBacklightModeInvalid DiveBacklightMode = 0xFF )
func (DiveBacklightMode) String ¶
func (i DiveBacklightMode) String() string
type DiveGasMsg ¶
type DiveGasMsg struct { }
DiveGasMsg represents the dive_gas FIT message type.
func NewDiveGasMsg ¶
func NewDiveGasMsg() *DiveGasMsg
NewDiveGasMsg returns a dive_gas FIT message initialized to all-invalid values.
type DiveGasStatus ¶
type DiveGasStatus byte
DiveGasStatus represents the dive_gas_status FIT type.
const ( DiveGasStatusDisabled DiveGasStatus = 0 DiveGasStatusEnabled DiveGasStatus = 1 DiveGasStatusBackupOnly DiveGasStatus = 2 DiveGasStatusInvalid DiveGasStatus = 0xFF )
func (DiveGasStatus) String ¶
func (i DiveGasStatus) String() string
type DiveSettingsMsg ¶
type DiveSettingsMsg struct { Name string HeartRateSourceType SourceType HeartRateSource uint8 }
DiveSettingsMsg represents the dive_settings FIT message type.
func NewDiveSettingsMsg ¶
func NewDiveSettingsMsg() *DiveSettingsMsg
NewDiveSettingsMsg returns a dive_settings FIT message initialized to all-invalid values.
func (*DiveSettingsMsg) GetHeartRateSource ¶
func (x *DiveSettingsMsg) GetHeartRateSource() interface{}
GetHeartRateSource returns the appropriate HeartRateSource subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
type DiveSummaryMsg ¶
type DiveSummaryMsg struct { }
DiveSummaryMsg represents the dive_summary FIT message type.
func NewDiveSummaryMsg ¶
func NewDiveSummaryMsg() *DiveSummaryMsg
NewDiveSummaryMsg returns a dive_summary FIT message initialized to all-invalid values.
type Event ¶
type Event byte
Event represents the event FIT type.
const ( EventTimer Event = 0 // Group 0. Start / stop_all EventWorkout Event = 3 // start / stop EventWorkoutStep Event = 4 // Start at beginning of workout. Stop at end of each step. EventPowerDown Event = 5 // stop_all group 0 EventPowerUp Event = 6 // stop_all group 0 EventOffCourse Event = 7 // start / stop group 0 EventSession Event = 8 // Stop at end of each session. EventLap Event = 9 // Stop at end of each lap. EventCoursePoint Event = 10 // marker EventBattery Event = 11 // marker EventVirtualPartnerPace Event = 12 // Group 1. Start at beginning of activity if VP enabled, when VP pace is changed during activity or VP enabled mid activity. stop_disable when VP disabled. EventHrHighAlert Event = 13 // Group 0. Start / stop when in alert condition. EventHrLowAlert Event = 14 // Group 0. Start / stop when in alert condition. EventSpeedHighAlert Event = 15 // Group 0. Start / stop when in alert condition. EventSpeedLowAlert Event = 16 // Group 0. Start / stop when in alert condition. EventCadHighAlert Event = 17 // Group 0. Start / stop when in alert condition. EventCadLowAlert Event = 18 // Group 0. Start / stop when in alert condition. EventPowerHighAlert Event = 19 // Group 0. Start / stop when in alert condition. EventPowerLowAlert Event = 20 // Group 0. Start / stop when in alert condition. EventRecoveryHr Event = 21 // marker EventBatteryLow Event = 22 // marker EventTimeDurationAlert Event = 23 // Group 1. Start if enabled mid activity (not required at start of activity). Stop when duration is reached. stop_disable if disabled. EventDistanceDurationAlert Event = 24 // Group 1. Start if enabled mid activity (not required at start of activity). Stop when duration is reached. stop_disable if disabled. EventCalorieDurationAlert Event = 25 // Group 1. Start if enabled mid activity (not required at start of activity). Stop when duration is reached. stop_disable if disabled. EventActivity Event = 26 // Group 1.. Stop at end of activity. EventFitnessEquipment Event = 27 // marker EventLength Event = 28 // Stop at end of each length. EventUserMarker Event = 32 // marker EventSportPoint Event = 33 // marker EventCalibration Event = 36 // start/stop/marker EventFrontGearChange Event = 42 // marker EventRearGearChange Event = 43 // marker EventRiderPositionChange Event = 44 // marker EventElevHighAlert Event = 45 // Group 0. Start / stop when in alert condition. EventElevLowAlert Event = 46 // Group 0. Start / stop when in alert condition. EventCommTimeout Event = 47 // marker EventRadarThreatAlert Event = 75 // start/stop/marker EventInvalid Event = 0xFF )
type EventMsg ¶
type EventMsg struct { Timestamp time.Time Event Event EventType EventType Data16 uint16 Data uint32 EventGroup uint8 Score uint16 // Do not populate directly. Autogenerated by decoder for sport_point subfield components OpponentScore uint16 // Do not populate directly. Autogenerated by decoder for sport_point subfield components FrontGearNum uint8 // Do not populate directly. Autogenerated by decoder for gear_change subfield components. Front gear number. 1 is innermost. FrontGear uint8 // Do not populate directly. Autogenerated by decoder for gear_change subfield components. Number of front teeth. RearGearNum uint8 // Do not populate directly. Autogenerated by decoder for gear_change subfield components. Rear gear number. 1 is innermost. RearGear uint8 // Do not populate directly. Autogenerated by decoder for gear_change subfield components. Number of rear teeth. RadarThreatLevelMax RadarThreatLevelType // Do not populate directly. Autogenerated by decoder for threat_alert subfield components. RadarThreatCount uint8 // Do not populate directly. Autogenerated by decoder for threat_alert subfield components. }
EventMsg represents the event FIT message type.
func NewEventMsg ¶
func NewEventMsg() *EventMsg
NewEventMsg returns a event FIT message initialized to all-invalid values.
type EventType ¶
type EventType byte
EventType represents the event_type FIT type.
const ( EventTypeStart EventType = 0 EventTypeStop EventType = 1 EventTypeConsecutiveDepreciated EventType = 2 EventTypeMarker EventType = 3 EventTypeStopAll EventType = 4 EventTypeBeginDepreciated EventType = 5 EventTypeEndDepreciated EventType = 6 EventTypeEndAllDepreciated EventType = 7 EventTypeStopDisable EventType = 8 EventTypeStopDisableAll EventType = 9 EventTypeInvalid EventType = 0xFF )
type ExdDataConceptConfigurationMsg ¶
type ExdDataConceptConfigurationMsg struct { ScreenIndex uint8 ConceptField byte FieldId uint8 ConceptIndex uint8 DataPage uint8 ConceptKey uint8 Scaling uint8 DataUnits ExdDataUnits Qualifier ExdQualifiers Descriptor ExdDescriptors IsSigned Bool }
ExdDataConceptConfigurationMsg represents the exd_data_concept_configuration FIT message type.
func NewExdDataConceptConfigurationMsg ¶
func NewExdDataConceptConfigurationMsg() *ExdDataConceptConfigurationMsg
NewExdDataConceptConfigurationMsg returns a exd_data_concept_configuration FIT message initialized to all-invalid values.
type ExdDataFieldConfigurationMsg ¶
type ExdDataFieldConfigurationMsg struct { ScreenIndex uint8 ConceptField byte FieldId uint8 ConceptCount uint8 DisplayType ExdDisplayType Title []string }
ExdDataFieldConfigurationMsg represents the exd_data_field_configuration FIT message type.
func NewExdDataFieldConfigurationMsg ¶
func NewExdDataFieldConfigurationMsg() *ExdDataFieldConfigurationMsg
NewExdDataFieldConfigurationMsg returns a exd_data_field_configuration FIT message initialized to all-invalid values.
type ExdDataUnits ¶
type ExdDataUnits byte
ExdDataUnits represents the exd_data_units FIT type.
const ( ExdDataUnitsNoUnits ExdDataUnits = 0 ExdDataUnitsLaps ExdDataUnits = 1 ExdDataUnitsMilesPerHour ExdDataUnits = 2 ExdDataUnitsKilometersPerHour ExdDataUnits = 3 ExdDataUnitsFeetPerHour ExdDataUnits = 4 ExdDataUnitsMetersPerHour ExdDataUnits = 5 ExdDataUnitsDegreesCelsius ExdDataUnits = 6 ExdDataUnitsDegreesFarenheit ExdDataUnits = 7 ExdDataUnitsZone ExdDataUnits = 8 ExdDataUnitsGear ExdDataUnits = 9 ExdDataUnitsRpm ExdDataUnits = 10 ExdDataUnitsBpm ExdDataUnits = 11 ExdDataUnitsDegrees ExdDataUnits = 12 ExdDataUnitsMillimeters ExdDataUnits = 13 ExdDataUnitsMeters ExdDataUnits = 14 ExdDataUnitsKilometers ExdDataUnits = 15 ExdDataUnitsFeet ExdDataUnits = 16 ExdDataUnitsYards ExdDataUnits = 17 ExdDataUnitsKilofeet ExdDataUnits = 18 ExdDataUnitsMiles ExdDataUnits = 19 ExdDataUnitsTime ExdDataUnits = 20 ExdDataUnitsEnumTurnType ExdDataUnits = 21 ExdDataUnitsPercent ExdDataUnits = 22 ExdDataUnitsWatts ExdDataUnits = 23 ExdDataUnitsWattsPerKilogram ExdDataUnits = 24 ExdDataUnitsEnumBatteryStatus ExdDataUnits = 25 ExdDataUnitsEnumBikeLightBeamAngleMode ExdDataUnits = 26 ExdDataUnitsEnumBikeLightBatteryStatus ExdDataUnits = 27 ExdDataUnitsEnumBikeLightNetworkConfigType ExdDataUnits = 28 ExdDataUnitsLights ExdDataUnits = 29 ExdDataUnitsSeconds ExdDataUnits = 30 ExdDataUnitsMinutes ExdDataUnits = 31 ExdDataUnitsHours ExdDataUnits = 32 ExdDataUnitsCalories ExdDataUnits = 33 ExdDataUnitsKilojoules ExdDataUnits = 34 ExdDataUnitsMilliseconds ExdDataUnits = 35 ExdDataUnitsSecondPerMile ExdDataUnits = 36 ExdDataUnitsSecondPerKilometer ExdDataUnits = 37 ExdDataUnitsCentimeter ExdDataUnits = 38 ExdDataUnitsEnumCoursePoint ExdDataUnits = 39 ExdDataUnitsBradians ExdDataUnits = 40 ExdDataUnitsEnumSport ExdDataUnits = 41 ExdDataUnitsInchesHg ExdDataUnits = 42 ExdDataUnitsMmHg ExdDataUnits = 43 ExdDataUnitsMbars ExdDataUnits = 44 ExdDataUnitsHectoPascals ExdDataUnits = 45 ExdDataUnitsFeetPerMin ExdDataUnits = 46 ExdDataUnitsMetersPerMin ExdDataUnits = 47 ExdDataUnitsMetersPerSec ExdDataUnits = 48 ExdDataUnitsEightCardinal ExdDataUnits = 49 ExdDataUnitsInvalid ExdDataUnits = 0xFF )
func (ExdDataUnits) String ¶
func (i ExdDataUnits) String() string
type ExdDescriptors ¶
type ExdDescriptors byte
ExdDescriptors represents the exd_descriptors FIT type.
const ( ExdDescriptorsBikeLightBatteryStatus ExdDescriptors = 0 ExdDescriptorsBeamAngleStatus ExdDescriptors = 1 ExdDescriptorsBateryLevel ExdDescriptors = 2 ExdDescriptorsLightNetworkMode ExdDescriptors = 3 ExdDescriptorsNumberLightsConnected ExdDescriptors = 4 ExdDescriptorsCadence ExdDescriptors = 5 ExdDescriptorsDistance ExdDescriptors = 6 ExdDescriptorsEstimatedTimeOfArrival ExdDescriptors = 7 ExdDescriptorsHeading ExdDescriptors = 8 ExdDescriptorsTime ExdDescriptors = 9 ExdDescriptorsBatteryLevel ExdDescriptors = 10 ExdDescriptorsTrainerResistance ExdDescriptors = 11 ExdDescriptorsTrainerTargetPower ExdDescriptors = 12 ExdDescriptorsTimeSeated ExdDescriptors = 13 ExdDescriptorsTimeStanding ExdDescriptors = 14 ExdDescriptorsElevation ExdDescriptors = 15 ExdDescriptorsGrade ExdDescriptors = 16 ExdDescriptorsAscent ExdDescriptors = 17 ExdDescriptorsDescent ExdDescriptors = 18 ExdDescriptorsVerticalSpeed ExdDescriptors = 19 ExdDescriptorsDi2BatteryLevel ExdDescriptors = 20 ExdDescriptorsFrontGear ExdDescriptors = 21 ExdDescriptorsRearGear ExdDescriptors = 22 ExdDescriptorsGearRatio ExdDescriptors = 23 ExdDescriptorsHeartRate ExdDescriptors = 24 ExdDescriptorsHeartRateZone ExdDescriptors = 25 ExdDescriptorsTimeInHeartRateZone ExdDescriptors = 26 ExdDescriptorsHeartRateReserve ExdDescriptors = 27 ExdDescriptorsCalories ExdDescriptors = 28 ExdDescriptorsGpsAccuracy ExdDescriptors = 29 ExdDescriptorsGpsSignalStrength ExdDescriptors = 30 ExdDescriptorsTemperature ExdDescriptors = 31 ExdDescriptorsTimeOfDay ExdDescriptors = 32 ExdDescriptorsBalance ExdDescriptors = 33 ExdDescriptorsPedalSmoothness ExdDescriptors = 34 ExdDescriptorsPower ExdDescriptors = 35 ExdDescriptorsFunctionalThresholdPower ExdDescriptors = 36 ExdDescriptorsIntensityFactor ExdDescriptors = 37 ExdDescriptorsWork ExdDescriptors = 38 ExdDescriptorsPowerRatio ExdDescriptors = 39 ExdDescriptorsNormalizedPower ExdDescriptors = 40 ExdDescriptorsTrainingStressScore ExdDescriptors = 41 ExdDescriptorsTimeOnZone ExdDescriptors = 42 ExdDescriptorsSpeed ExdDescriptors = 43 ExdDescriptorsLaps ExdDescriptors = 44 ExdDescriptorsReps ExdDescriptors = 45 ExdDescriptorsWorkoutStep ExdDescriptors = 46 ExdDescriptorsCourseDistance ExdDescriptors = 47 ExdDescriptorsCourseEstimatedTimeOfArrival ExdDescriptors = 49 ExdDescriptorsCourseTime ExdDescriptors = 51 ExdDescriptorsCourseHeading ExdDescriptors = 53 ExdDescriptorsPowerZone ExdDescriptors = 55 ExdDescriptorsTorqueEffectiveness ExdDescriptors = 56 ExdDescriptorsTimerTime ExdDescriptors = 57 ExdDescriptorsPowerWeightRatio ExdDescriptors = 58 ExdDescriptorsLeftPlatformCenterOffset ExdDescriptors = 59 ExdDescriptorsRightPlatformCenterOffset ExdDescriptors = 60 ExdDescriptorsLeftPowerPhaseStartAngle ExdDescriptors = 61 ExdDescriptorsRightPowerPhaseStartAngle ExdDescriptors = 62 ExdDescriptorsLeftPowerPhaseFinishAngle ExdDescriptors = 63 ExdDescriptorsRightPowerPhaseFinishAngle ExdDescriptors = 64 ExdDescriptorsGears ExdDescriptors = 65 // Combined gear information ExdDescriptorsPace ExdDescriptors = 66 ExdDescriptorsTrainingEffect ExdDescriptors = 67 ExdDescriptorsVerticalOscillation ExdDescriptors = 68 ExdDescriptorsVerticalRatio ExdDescriptors = 69 ExdDescriptorsGroundContactTime ExdDescriptors = 70 ExdDescriptorsLeftGroundContactTimeBalance ExdDescriptors = 71 ExdDescriptorsRightGroundContactTimeBalance ExdDescriptors = 72 ExdDescriptorsStrideLength ExdDescriptors = 73 ExdDescriptorsRunningCadence ExdDescriptors = 74 ExdDescriptorsPerformanceCondition ExdDescriptors = 75 ExdDescriptorsCourseType ExdDescriptors = 76 ExdDescriptorsTimeInPowerZone ExdDescriptors = 77 ExdDescriptorsCourseLocation ExdDescriptors = 79 ExdDescriptorsCompass ExdDescriptors = 81 ExdDescriptorsGearCombo ExdDescriptors = 82 ExdDescriptorsMuscleOxygen ExdDescriptors = 83 ExdDescriptorsIcon ExdDescriptors = 84 ExdDescriptorsCompassHeading ExdDescriptors = 85 ExdDescriptorsGpsHeading ExdDescriptors = 86 ExdDescriptorsGpsElevation ExdDescriptors = 87 ExdDescriptorsAnaerobicTrainingEffect ExdDescriptors = 88 ExdDescriptorsCourse ExdDescriptors = 89 ExdDescriptorsOffCourse ExdDescriptors = 90 ExdDescriptorsGlideRatio ExdDescriptors = 91 ExdDescriptorsVerticalDistance ExdDescriptors = 92 ExdDescriptorsVmg ExdDescriptors = 93 ExdDescriptorsAmbientPressure ExdDescriptors = 94 ExdDescriptorsPressure ExdDescriptors = 95 ExdDescriptorsVam ExdDescriptors = 96 ExdDescriptorsInvalid ExdDescriptors = 0xFF )
func (ExdDescriptors) String ¶
func (i ExdDescriptors) String() string
type ExdDisplayType ¶
type ExdDisplayType byte
ExdDisplayType represents the exd_display_type FIT type.
const ( ExdDisplayTypeNumerical ExdDisplayType = 0 ExdDisplayTypeSimple ExdDisplayType = 1 ExdDisplayTypeGraph ExdDisplayType = 2 ExdDisplayTypeBar ExdDisplayType = 3 ExdDisplayTypeCircleGraph ExdDisplayType = 4 ExdDisplayTypeVirtualPartner ExdDisplayType = 5 ExdDisplayTypeBalance ExdDisplayType = 6 ExdDisplayTypeStringList ExdDisplayType = 7 ExdDisplayTypeString ExdDisplayType = 8 ExdDisplayTypeSimpleDynamicIcon ExdDisplayType = 9 ExdDisplayTypeGauge ExdDisplayType = 10 ExdDisplayTypeInvalid ExdDisplayType = 0xFF )
func (ExdDisplayType) String ¶
func (i ExdDisplayType) String() string
type ExdLayout ¶
type ExdLayout byte
ExdLayout represents the exd_layout FIT type.
const ( ExdLayoutFullScreen ExdLayout = 0 ExdLayoutHalfVertical ExdLayout = 1 ExdLayoutHalfHorizontal ExdLayout = 2 ExdLayoutHalfVerticalRightSplit ExdLayout = 3 ExdLayoutHalfHorizontalBottomSplit ExdLayout = 4 ExdLayoutFullQuarterSplit ExdLayout = 5 ExdLayoutHalfVerticalLeftSplit ExdLayout = 6 ExdLayoutHalfHorizontalTopSplit ExdLayout = 7 ExdLayoutInvalid ExdLayout = 0xFF )
type ExdQualifiers ¶
type ExdQualifiers byte
ExdQualifiers represents the exd_qualifiers FIT type.
const ( ExdQualifiersNoQualifier ExdQualifiers = 0 ExdQualifiersInstantaneous ExdQualifiers = 1 ExdQualifiersAverage ExdQualifiers = 2 ExdQualifiersLap ExdQualifiers = 3 ExdQualifiersMaximum ExdQualifiers = 4 ExdQualifiersMaximumAverage ExdQualifiers = 5 ExdQualifiersMaximumLap ExdQualifiers = 6 ExdQualifiersLastLap ExdQualifiers = 7 ExdQualifiersAverageLap ExdQualifiers = 8 ExdQualifiersToDestination ExdQualifiers = 9 ExdQualifiersToGo ExdQualifiers = 10 ExdQualifiersToNext ExdQualifiers = 11 ExdQualifiersNextCoursePoint ExdQualifiers = 12 ExdQualifiersTotal ExdQualifiers = 13 ExdQualifiersThreeSecondAverage ExdQualifiers = 14 ExdQualifiersTenSecondAverage ExdQualifiers = 15 ExdQualifiersThirtySecondAverage ExdQualifiers = 16 ExdQualifiersPercentMaximum ExdQualifiers = 17 ExdQualifiersPercentMaximumAverage ExdQualifiers = 18 ExdQualifiersLapPercentMaximum ExdQualifiers = 19 ExdQualifiersElapsed ExdQualifiers = 20 ExdQualifiersSunrise ExdQualifiers = 21 ExdQualifiersSunset ExdQualifiers = 22 ExdQualifiersComparedToVirtualPartner ExdQualifiers = 23 ExdQualifiersMaximum24h ExdQualifiers = 24 ExdQualifiersMinimum24h ExdQualifiers = 25 ExdQualifiersMinimum ExdQualifiers = 26 ExdQualifiersFirst ExdQualifiers = 27 ExdQualifiersSecond ExdQualifiers = 28 ExdQualifiersThird ExdQualifiers = 29 ExdQualifiersShifter ExdQualifiers = 30 ExdQualifiersLastSport ExdQualifiers = 31 ExdQualifiersMoving ExdQualifiers = 32 ExdQualifiersStopped ExdQualifiers = 33 ExdQualifiersEstimatedTotal ExdQualifiers = 34 ExdQualifiersZone9 ExdQualifiers = 242 ExdQualifiersZone8 ExdQualifiers = 243 ExdQualifiersZone7 ExdQualifiers = 244 ExdQualifiersZone6 ExdQualifiers = 245 ExdQualifiersZone5 ExdQualifiers = 246 ExdQualifiersZone4 ExdQualifiers = 247 ExdQualifiersZone3 ExdQualifiers = 248 ExdQualifiersZone2 ExdQualifiers = 249 ExdQualifiersZone1 ExdQualifiers = 250 ExdQualifiersInvalid ExdQualifiers = 0xFF )
func (ExdQualifiers) String ¶
func (i ExdQualifiers) String() string
type ExdScreenConfigurationMsg ¶
type ExdScreenConfigurationMsg struct { ScreenIndex uint8 FieldCount uint8 // number of fields in screen Layout ExdLayout ScreenEnabled Bool }
ExdScreenConfigurationMsg represents the exd_screen_configuration FIT message type.
func NewExdScreenConfigurationMsg ¶
func NewExdScreenConfigurationMsg() *ExdScreenConfigurationMsg
NewExdScreenConfigurationMsg returns a exd_screen_configuration FIT message initialized to all-invalid values.
type ExerciseCategory ¶
type ExerciseCategory uint16
ExerciseCategory represents the exercise_category FIT type.
const ( ExerciseCategoryBenchPress ExerciseCategory = 0 ExerciseCategoryCalfRaise ExerciseCategory = 1 ExerciseCategoryCardio ExerciseCategory = 2 ExerciseCategoryCarry ExerciseCategory = 3 ExerciseCategoryChop ExerciseCategory = 4 ExerciseCategoryCore ExerciseCategory = 5 ExerciseCategoryCrunch ExerciseCategory = 6 ExerciseCategoryCurl ExerciseCategory = 7 ExerciseCategoryDeadlift ExerciseCategory = 8 ExerciseCategoryFlye ExerciseCategory = 9 ExerciseCategoryHipRaise ExerciseCategory = 10 ExerciseCategoryHipStability ExerciseCategory = 11 ExerciseCategoryHipSwing ExerciseCategory = 12 ExerciseCategoryHyperextension ExerciseCategory = 13 ExerciseCategoryLateralRaise ExerciseCategory = 14 ExerciseCategoryLegCurl ExerciseCategory = 15 ExerciseCategoryLegRaise ExerciseCategory = 16 ExerciseCategoryLunge ExerciseCategory = 17 ExerciseCategoryOlympicLift ExerciseCategory = 18 ExerciseCategoryPlank ExerciseCategory = 19 ExerciseCategoryPlyo ExerciseCategory = 20 ExerciseCategoryPullUp ExerciseCategory = 21 ExerciseCategoryPushUp ExerciseCategory = 22 ExerciseCategoryRow ExerciseCategory = 23 ExerciseCategoryShoulderPress ExerciseCategory = 24 ExerciseCategoryShoulderStability ExerciseCategory = 25 ExerciseCategoryShrug ExerciseCategory = 26 ExerciseCategorySitUp ExerciseCategory = 27 ExerciseCategorySquat ExerciseCategory = 28 ExerciseCategoryTotalBody ExerciseCategory = 29 ExerciseCategoryTricepsExtension ExerciseCategory = 30 ExerciseCategoryWarmUp ExerciseCategory = 31 ExerciseCategoryRun ExerciseCategory = 32 ExerciseCategoryUnknown ExerciseCategory = 65534 ExerciseCategoryInvalid ExerciseCategory = 0xFFFF )
func (ExerciseCategory) String ¶
func (i ExerciseCategory) String() string
type ExerciseTitleMsg ¶
type ExerciseTitleMsg struct { MessageIndex MessageIndex ExerciseCategory ExerciseCategory ExerciseName uint16 WktStepName []string }
ExerciseTitleMsg represents the exercise_title FIT message type.
func NewExerciseTitleMsg ¶
func NewExerciseTitleMsg() *ExerciseTitleMsg
NewExerciseTitleMsg returns a exercise_title FIT message initialized to all-invalid values.
type FaveroProduct ¶
type FaveroProduct uint16
FaveroProduct represents the favero_product FIT type.
const ( FaveroProductAssiomaUno FaveroProduct = 10 FaveroProductAssiomaDuo FaveroProduct = 12 FaveroProductInvalid FaveroProduct = 0xFFFF )
func (FaveroProduct) String ¶
func (i FaveroProduct) String() string
type FieldCapabilitiesMsg ¶
type FieldCapabilitiesMsg struct { MessageIndex MessageIndex File FileType MesgNum MesgNum FieldNum uint8 Count uint16 }
FieldCapabilitiesMsg represents the field_capabilities FIT message type.
func NewFieldCapabilitiesMsg ¶
func NewFieldCapabilitiesMsg() *FieldCapabilitiesMsg
NewFieldCapabilitiesMsg returns a field_capabilities FIT message initialized to all-invalid values.
type FieldDescriptionMsg ¶
type FieldDescriptionMsg struct { DeveloperDataIndex uint8 FieldDefinitionNumber uint8 FitBaseTypeId FitBaseType FieldName []string Scale uint8 Offset int8 Units []string FitBaseUnitId FitBaseUnit NativeMesgNum MesgNum NativeFieldNum uint8 }
FieldDescriptionMsg represents the field_description FIT message type.
func NewFieldDescriptionMsg ¶
func NewFieldDescriptionMsg() *FieldDescriptionMsg
NewFieldDescriptionMsg returns a field_description FIT message initialized to all-invalid values.
type File ¶
type File struct { // Header is the FIT file header. Header Header // CRC is the FIT file CRC. CRC uint16 // FileId is a message required for all FIT files. FileId FileIdMsg // Common messages for all FIT file types. FileCreator *FileCreatorMsg TimestampCorrelation *TimestampCorrelationMsg // UnknownMessages is a slice of unknown messages encountered during // decoding. It is sorted by message number. UnknownMessages []UnknownMessage // UnknownFields is a slice of unknown fields for known messages // encountered during decoding. It is sorted by message number. UnknownFields []UnknownField // contains filtered or unexported fields }
File represents a decoded FIT file.
func Decode ¶
func Decode(r io.Reader, opts ...DecodeOption) (*File, error)
Decode reads a FIT file from r and returns it as a *File. If error is non-nil, all data decoded before the error was encountered is also returned.
func DecodeChained ¶
func DecodeChained(r io.Reader, opts ...DecodeOption) ([]*File, error)
DecodeChained reads chained FIT files from r until an error is encountered or no more data is available. If error is non-nil, all data decoded before the error was encountered is also returned for the last file read.
func (*File) Activity ¶
func (f *File) Activity() (*ActivityFile, error)
Activity returns f's Activity file. An error is returned if the FIT file is not of type activity.
func (*File) ActivitySummary ¶
func (f *File) ActivitySummary() (*ActivitySummaryFile, error)
ActivitySummary returns f's ActivitySummary file. An error is returned if the FIT file is not of type activity summary.
func (*File) BloodPressure ¶
func (f *File) BloodPressure() (*BloodPressureFile, error)
BloodPressure returns f's BloodPressure file. An error is returned if the FIT file is not of type blood pressure.
func (*File) Course ¶
func (f *File) Course() (*CourseFile, error)
Course returns f's Course file. An error is returned if the FIT file is not of type course.
func (*File) Device ¶
func (f *File) Device() (*DeviceFile, error)
Device returns f's Device file. An error is returned if the FIT file is not of type device.
func (*File) Goals ¶
Goals returns f's Goals file. An error is returned if the FIT file is not of type goals.
func (*File) MonitoringA ¶
func (f *File) MonitoringA() (*MonitoringAFile, error)
MonitoringA returns f's MonitoringA file. An error is returned if the FIT file is not of type monitoring A.
func (*File) MonitoringB ¶
func (f *File) MonitoringB() (*MonitoringBFile, error)
MonitoringB returns f's MonitoringB file. An error is returned if the FIT file is not of type monitoring B.
func (*File) MonitoringDaily ¶
func (f *File) MonitoringDaily() (*MonitoringDailyFile, error)
MonitoringDaily returns f's MonitoringDaily file. An error is returned if the FIT file is not of type monitoring daily.
func (*File) Schedules ¶
func (f *File) Schedules() (*SchedulesFile, error)
Schedules returns f's Schedules file. An error is returned if the FIT file is not of type schedules.
func (*File) Segment ¶
func (f *File) Segment() (*SegmentFile, error)
Segment returns f's Segment file. An error is returned if the FIT file is not of type segment.
func (*File) SegmentList ¶
func (f *File) SegmentList() (*SegmentListFile, error)
SegmentList returns f's SegmentList file. An error is returned if the FIT file is not of type segment list.
func (*File) Settings ¶
func (f *File) Settings() (*SettingsFile, error)
Settings returns f's Settings file. An error is returned if the FIT file is not of type settings.
func (*File) Sport ¶
Sport returns f's Sport file. An error is returned if the FIT file is not of type sport.
func (*File) Totals ¶
func (f *File) Totals() (*TotalsFile, error)
Totals returns f's Totals file. An error is returned if the FIT file is not of type totals.
func (*File) Weight ¶
func (f *File) Weight() (*WeightFile, error)
Weight returns f's Weight file. An error is returned if the FIT file is not of type weight.
func (*File) Workout ¶
func (f *File) Workout() (*WorkoutFile, error)
Workout returns f's Workout file. An error is returned if the FIT file is not of type workout.
type FileCapabilitiesMsg ¶
type FileCapabilitiesMsg struct { MessageIndex MessageIndex Type FileType Flags FileFlags Directory string MaxCount uint16 MaxSize uint32 }
FileCapabilitiesMsg represents the file_capabilities FIT message type.
func NewFileCapabilitiesMsg ¶
func NewFileCapabilitiesMsg() *FileCapabilitiesMsg
NewFileCapabilitiesMsg returns a file_capabilities FIT message initialized to all-invalid values.
type FileCreatorMsg ¶
FileCreatorMsg represents the file_creator FIT message type.
func NewFileCreatorMsg ¶
func NewFileCreatorMsg() *FileCreatorMsg
NewFileCreatorMsg returns a file_creator FIT message initialized to all-invalid values.
type FileIdMsg ¶
type FileIdMsg struct { Type FileType Manufacturer Manufacturer Product uint16 SerialNumber uint32 TimeCreated time.Time // Only set for files that are can be created/erased. Number uint16 // Only set for files that are not created/erased. ProductName string // Optional free form string to indicate the devices name or model }
FileIdMsg represents the file_id FIT message type.
func NewFileIdMsg ¶
func NewFileIdMsg() *FileIdMsg
NewFileIdMsg returns a file_id FIT message initialized to all-invalid values.
func (*FileIdMsg) GetProduct ¶
func (x *FileIdMsg) GetProduct() interface{}
GetProduct returns the appropriate Product subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
type FileType ¶
type FileType byte
FileType represents the file FIT type.
const ( FileTypeDevice FileType = 1 // Read only, single file. Must be in root directory. FileTypeSettings FileType = 2 // Read/write, single file. Directory=Settings FileTypeSport FileType = 3 // Read/write, multiple files, file number = sport type. Directory=Sports FileTypeActivity FileType = 4 // Read/erase, multiple files. Directory=Activities FileTypeWorkout FileType = 5 // Read/write/erase, multiple files. Directory=Workouts FileTypeCourse FileType = 6 // Read/write/erase, multiple files. Directory=Courses FileTypeSchedules FileType = 7 // Read/write, single file. Directory=Schedules FileTypeWeight FileType = 9 // Read only, single file. Circular buffer. All message definitions at start of file. Directory=Weight FileTypeTotals FileType = 10 // Read only, single file. Directory=Totals FileTypeGoals FileType = 11 // Read/write, single file. Directory=Goals FileTypeBloodPressure FileType = 14 // Read only. Directory=Blood Pressure FileTypeMonitoringA FileType = 15 // Read only. Directory=Monitoring. File number=sub type. FileTypeActivitySummary FileType = 20 // Read/erase, multiple files. Directory=Activities FileTypeMonitoringDaily FileType = 28 FileTypeMonitoringB FileType = 32 // Read only. Directory=Monitoring. File number=identifier FileTypeSegment FileType = 34 // Read/write/erase. Multiple Files. Directory=Segments FileTypeSegmentList FileType = 35 // Read/write/erase. Single File. Directory=Segments FileTypeExdConfiguration FileType = 40 // Read/write/erase. Single File. Directory=Settings FileTypeMfgRangeMin FileType = 0xF7 // 0xF7 - 0xFE reserved for manufacturer specific file types FileTypeMfgRangeMax FileType = 0xFE // 0xF7 - 0xFE reserved for manufacturer specific file types FileTypeInvalid FileType = 0xFF )
type FitBaseType ¶
type FitBaseType uint8
FitBaseType represents the fit_base_type FIT type.
const ( FitBaseTypeEnum FitBaseType = 0 FitBaseTypeSint8 FitBaseType = 1 FitBaseTypeUint8 FitBaseType = 2 FitBaseTypeSint16 FitBaseType = 131 FitBaseTypeUint16 FitBaseType = 132 FitBaseTypeSint32 FitBaseType = 133 FitBaseTypeUint32 FitBaseType = 134 FitBaseTypeString FitBaseType = 7 FitBaseTypeFloat32 FitBaseType = 136 FitBaseTypeFloat64 FitBaseType = 137 FitBaseTypeUint8z FitBaseType = 10 FitBaseTypeUint16z FitBaseType = 139 FitBaseTypeUint32z FitBaseType = 140 FitBaseTypeByte FitBaseType = 13 FitBaseTypeSint64 FitBaseType = 142 FitBaseTypeUint64 FitBaseType = 143 FitBaseTypeUint64z FitBaseType = 144 FitBaseTypeInvalid FitBaseType = 0xFF )
func (FitBaseType) String ¶
func (i FitBaseType) String() string
type FitBaseUnit ¶
type FitBaseUnit uint16
FitBaseUnit represents the fit_base_unit FIT type.
const ( FitBaseUnitOther FitBaseUnit = 0 FitBaseUnitKilogram FitBaseUnit = 1 FitBaseUnitPound FitBaseUnit = 2 FitBaseUnitInvalid FitBaseUnit = 0xFFFF )
func (FitBaseUnit) String ¶
func (i FitBaseUnit) String() string
type FitnessEquipmentState ¶
type FitnessEquipmentState byte
FitnessEquipmentState represents the fitness_equipment_state FIT type.
const ( FitnessEquipmentStateReady FitnessEquipmentState = 0 FitnessEquipmentStateInUse FitnessEquipmentState = 1 FitnessEquipmentStatePaused FitnessEquipmentState = 2 FitnessEquipmentStateUnknown FitnessEquipmentState = 3 // lost connection to fitness equipment FitnessEquipmentStateInvalid FitnessEquipmentState = 0xFF )
func (FitnessEquipmentState) String ¶
func (i FitnessEquipmentState) String() string
type FlyeExerciseName ¶
type FlyeExerciseName uint16
FlyeExerciseName represents the flye_exercise_name FIT type.
const ( FlyeExerciseNameCableCrossover FlyeExerciseName = 0 FlyeExerciseNameDeclineDumbbellFlye FlyeExerciseName = 1 FlyeExerciseNameDumbbellFlye FlyeExerciseName = 2 FlyeExerciseNameInclineDumbbellFlye FlyeExerciseName = 3 FlyeExerciseNameKettlebellFlye FlyeExerciseName = 4 FlyeExerciseNameKneelingRearFlye FlyeExerciseName = 5 FlyeExerciseNameSingleArmStandingCableReverseFlye FlyeExerciseName = 6 FlyeExerciseNameSwissBallDumbbellFlye FlyeExerciseName = 7 FlyeExerciseNameArmRotations FlyeExerciseName = 8 FlyeExerciseNameHugATree FlyeExerciseName = 9 FlyeExerciseNameInvalid FlyeExerciseName = 0xFFFF )
func (FlyeExerciseName) String ¶
func (i FlyeExerciseName) String() string
type FormatError ¶
type FormatError string
A FormatError reports that the input is not valid FIT.
func (FormatError) Error ¶
func (e FormatError) Error() string
type GarminProduct ¶
type GarminProduct uint16
GarminProduct represents the garmin_product FIT type.
const ( GarminProductHrm1 GarminProduct = 1 GarminProductAxh01 GarminProduct = 2 // AXH01 HRM chipset GarminProductAxb01 GarminProduct = 3 GarminProductAxb02 GarminProduct = 4 GarminProductHrm2ss GarminProduct = 5 GarminProductDsiAlf02 GarminProduct = 6 GarminProductHrm3ss GarminProduct = 7 GarminProductHrmRunSingleByteProductId GarminProduct = 8 // hrm_run model for HRM ANT+ messaging GarminProductBsm GarminProduct = 9 // BSM model for ANT+ messaging GarminProductBcm GarminProduct = 10 // BCM model for ANT+ messaging GarminProductAxs01 GarminProduct = 11 // AXS01 HRM Bike Chipset model for ANT+ messaging GarminProductHrmTriSingleByteProductId GarminProduct = 12 // hrm_tri model for HRM ANT+ messaging GarminProductHrm4RunSingleByteProductId GarminProduct = 13 // hrm4 run model for HRM ANT+ messaging GarminProductFr225SingleByteProductId GarminProduct = 14 // fr225 model for HRM ANT+ messaging GarminProductGen3BsmSingleByteProductId GarminProduct = 15 // gen3_bsm model for Bike Speed ANT+ messaging GarminProductGen3BcmSingleByteProductId GarminProduct = 16 // gen3_bcm model for Bike Cadence ANT+ messaging GarminProductFr301China GarminProduct = 473 GarminProductFr301Japan GarminProduct = 474 GarminProductFr301Korea GarminProduct = 475 GarminProductFr301Taiwan GarminProduct = 494 GarminProductFr405 GarminProduct = 717 // Forerunner 405 GarminProductFr50 GarminProduct = 782 // Forerunner 50 GarminProductFr405Japan GarminProduct = 987 GarminProductFr60 GarminProduct = 988 // Forerunner 60 GarminProductDsiAlf01 GarminProduct = 1011 GarminProductFr310xt GarminProduct = 1018 // Forerunner 310 GarminProductEdge500 GarminProduct = 1036 GarminProductFr110 GarminProduct = 1124 // Forerunner 110 GarminProductEdge800 GarminProduct = 1169 GarminProductEdge500Taiwan GarminProduct = 1199 GarminProductEdge500Japan GarminProduct = 1213 GarminProductChirp GarminProduct = 1253 GarminProductFr110Japan GarminProduct = 1274 GarminProductEdge200 GarminProduct = 1325 GarminProductFr910xt GarminProduct = 1328 GarminProductEdge800Taiwan GarminProduct = 1333 GarminProductEdge800Japan GarminProduct = 1334 GarminProductAlf04 GarminProduct = 1341 GarminProductFr610 GarminProduct = 1345 GarminProductFr210Japan GarminProduct = 1360 GarminProductVectorSs GarminProduct = 1380 GarminProductVectorCp GarminProduct = 1381 GarminProductEdge800China GarminProduct = 1386 GarminProductEdge500China GarminProduct = 1387 GarminProductApproachG10 GarminProduct = 1405 GarminProductFr610Japan GarminProduct = 1410 GarminProductEdge500Korea GarminProduct = 1422 GarminProductFr70 GarminProduct = 1436 GarminProductFr310xt4t GarminProduct = 1446 GarminProductAmx GarminProduct = 1461 GarminProductFr10 GarminProduct = 1482 GarminProductEdge800Korea GarminProduct = 1497 GarminProductSwim GarminProduct = 1499 GarminProductFr910xtChina GarminProduct = 1537 GarminProductFenix GarminProduct = 1551 GarminProductEdge200Taiwan GarminProduct = 1555 GarminProductEdge510 GarminProduct = 1561 GarminProductEdge810 GarminProduct = 1567 GarminProductTempe GarminProduct = 1570 GarminProductFr910xtJapan GarminProduct = 1600 GarminProductFr620 GarminProduct = 1623 GarminProductFr220 GarminProduct = 1632 GarminProductFr910xtKorea GarminProduct = 1664 GarminProductFr10Japan GarminProduct = 1688 GarminProductEdge810Japan GarminProduct = 1721 GarminProductVirbElite GarminProduct = 1735 GarminProductEdgeTouring GarminProduct = 1736 // Also Edge Touring Plus GarminProductEdge510Japan GarminProduct = 1742 GarminProductHrmTri GarminProduct = 1743 GarminProductHrmRun GarminProduct = 1752 GarminProductFr920xt GarminProduct = 1765 GarminProductEdge510Asia GarminProduct = 1821 GarminProductEdge810China GarminProduct = 1822 GarminProductEdge810Taiwan GarminProduct = 1823 GarminProductEdge1000 GarminProduct = 1836 GarminProductVivoFit GarminProduct = 1837 GarminProductVirbRemote GarminProduct = 1853 GarminProductVivoKi GarminProduct = 1885 GarminProductFr15 GarminProduct = 1903 GarminProductVivoActive GarminProduct = 1907 GarminProductEdge510Korea GarminProduct = 1918 GarminProductFr620Japan GarminProduct = 1928 GarminProductFr620China GarminProduct = 1929 GarminProductFr220Japan GarminProduct = 1930 GarminProductFr220China GarminProduct = 1931 GarminProductApproachS6 GarminProduct = 1936 GarminProductVivoSmart GarminProduct = 1956 GarminProductFenix2 GarminProduct = 1967 GarminProductEpix GarminProduct = 1988 GarminProductFenix3 GarminProduct = 2050 GarminProductEdge1000Taiwan GarminProduct = 2052 GarminProductEdge1000Japan GarminProduct = 2053 GarminProductFr15Japan GarminProduct = 2061 GarminProductEdge520 GarminProduct = 2067 GarminProductEdge1000China GarminProduct = 2070 GarminProductFr620Russia GarminProduct = 2072 GarminProductFr220Russia GarminProduct = 2073 GarminProductVectorS GarminProduct = 2079 GarminProductEdge1000Korea GarminProduct = 2100 GarminProductFr920xtTaiwan GarminProduct = 2130 GarminProductFr920xtChina GarminProduct = 2131 GarminProductFr920xtJapan GarminProduct = 2132 GarminProductVirbx GarminProduct = 2134 GarminProductVivoSmartApac GarminProduct = 2135 GarminProductEtrexTouch GarminProduct = 2140 GarminProductEdge25 GarminProduct = 2147 GarminProductFr25 GarminProduct = 2148 GarminProductVivoFit2 GarminProduct = 2150 GarminProductFr225 GarminProduct = 2153 GarminProductFr630 GarminProduct = 2156 GarminProductFr230 GarminProduct = 2157 GarminProductFr735xt GarminProduct = 2158 GarminProductVivoActiveApac GarminProduct = 2160 GarminProductVector2 GarminProduct = 2161 GarminProductVector2s GarminProduct = 2162 GarminProductVirbxe GarminProduct = 2172 GarminProductFr620Taiwan GarminProduct = 2173 GarminProductFr220Taiwan GarminProduct = 2174 GarminProductTruswing GarminProduct = 2175 GarminProductFenix3China GarminProduct = 2188 GarminProductFenix3Twn GarminProduct = 2189 GarminProductVariaHeadlight GarminProduct = 2192 GarminProductVariaTaillightOld GarminProduct = 2193 GarminProductEdgeExplore1000 GarminProduct = 2204 GarminProductFr225Asia GarminProduct = 2219 GarminProductVariaRadarTaillight GarminProduct = 2225 GarminProductVariaRadarDisplay GarminProduct = 2226 GarminProductEdge20 GarminProduct = 2238 GarminProductEdge520Asia GarminProduct = 2260 GarminProductEdge520Japan GarminProduct = 2261 GarminProductD2Bravo GarminProduct = 2262 GarminProductApproachS20 GarminProduct = 2266 GarminProductVivoSmart2 GarminProduct = 2271 GarminProductEdge1000Thai GarminProduct = 2274 GarminProductVariaRemote GarminProduct = 2276 GarminProductEdge25Asia GarminProduct = 2288 GarminProductEdge25Jpn GarminProduct = 2289 GarminProductEdge20Asia GarminProduct = 2290 GarminProductApproachX40 GarminProduct = 2292 GarminProductFenix3Japan GarminProduct = 2293 GarminProductVivoSmartEmea GarminProduct = 2294 GarminProductFr630Asia GarminProduct = 2310 GarminProductFr630Jpn GarminProduct = 2311 GarminProductFr230Jpn GarminProduct = 2313 GarminProductHrm4Run GarminProduct = 2327 GarminProductEpixJapan GarminProduct = 2332 GarminProductVivoActiveHr GarminProduct = 2337 GarminProductVivoSmartGpsHr GarminProduct = 2347 GarminProductVivoSmartHr GarminProduct = 2348 GarminProductVivoSmartHrAsia GarminProduct = 2361 GarminProductVivoSmartGpsHrAsia GarminProduct = 2362 GarminProductVivoMove GarminProduct = 2368 GarminProductVariaTaillight GarminProduct = 2379 GarminProductFr235Japan GarminProduct = 2397 GarminProductVariaVision GarminProduct = 2398 GarminProductVivoFit3 GarminProduct = 2406 GarminProductFenix3Korea GarminProduct = 2407 GarminProductFenix3Sea GarminProduct = 2408 GarminProductFenix3Hr GarminProduct = 2413 GarminProductVirbUltra30 GarminProduct = 2417 GarminProductIndexSmartScale GarminProduct = 2429 GarminProductFr235 GarminProduct = 2431 GarminProductFenix3Chronos GarminProduct = 2432 GarminProductOregon7xx GarminProduct = 2441 GarminProductRino7xx GarminProduct = 2444 GarminProductEpixKorea GarminProduct = 2457 GarminProductFenix3HrChn GarminProduct = 2473 GarminProductFenix3HrTwn GarminProduct = 2474 GarminProductFenix3HrJpn GarminProduct = 2475 GarminProductFenix3HrSea GarminProduct = 2476 GarminProductFenix3HrKor GarminProduct = 2477 GarminProductNautix GarminProduct = 2496 GarminProductVivoActiveHrApac GarminProduct = 2497 GarminProductOregon7xxWw GarminProduct = 2512 GarminProductEdge820 GarminProduct = 2530 GarminProductEdgeExplore820 GarminProduct = 2531 GarminProductFr735xtApac GarminProduct = 2533 GarminProductFr735xtJapan GarminProduct = 2534 GarminProductFenix5s GarminProduct = 2544 GarminProductD2BravoTitanium GarminProduct = 2547 GarminProductVariaUt800 GarminProduct = 2567 // Varia UT 800 SW GarminProductRunningDynamicsPod GarminProduct = 2593 GarminProductEdge820China GarminProduct = 2599 GarminProductEdge820Japan GarminProduct = 2600 GarminProductFenix5x GarminProduct = 2604 GarminProductVivoFitJr GarminProduct = 2606 GarminProductVivoSmart3 GarminProduct = 2622 GarminProductVivoSport GarminProduct = 2623 GarminProductEdge820Taiwan GarminProduct = 2628 GarminProductEdge820Korea GarminProduct = 2629 GarminProductEdge820Sea GarminProduct = 2630 GarminProductFr35Hebrew GarminProduct = 2650 GarminProductApproachS60 GarminProduct = 2656 GarminProductFr35Apac GarminProduct = 2667 GarminProductFr35Japan GarminProduct = 2668 GarminProductFenix3ChronosAsia GarminProduct = 2675 GarminProductVirb360 GarminProduct = 2687 GarminProductFr935 GarminProduct = 2691 GarminProductFenix5 GarminProduct = 2697 GarminProductVivoactive3 GarminProduct = 2700 GarminProductFr235ChinaNfc GarminProduct = 2733 GarminProductForetrex601701 GarminProduct = 2769 GarminProductVivoMoveHr GarminProduct = 2772 GarminProductEdge1030 GarminProduct = 2713 GarminProductFenix5Asia GarminProduct = 2796 GarminProductFenix5sAsia GarminProduct = 2797 GarminProductFenix5xAsia GarminProduct = 2798 GarminProductApproachZ80 GarminProduct = 2806 GarminProductFr35Korea GarminProduct = 2814 GarminProductD2charlie GarminProduct = 2819 GarminProductVivoSmart3Apac GarminProduct = 2831 GarminProductVivoSportApac GarminProduct = 2832 GarminProductFr935Asia GarminProduct = 2833 GarminProductDescent GarminProduct = 2859 GarminProductFr645 GarminProduct = 2886 GarminProductFr645m GarminProduct = 2888 GarminProductFr30 GarminProduct = 2891 GarminProductFenix5sPlus GarminProduct = 2900 GarminProductEdge130 GarminProduct = 2909 GarminProductEdge1030Asia GarminProduct = 2924 GarminProductVivosmart4 GarminProduct = 2927 GarminProductVivoMoveHrAsia GarminProduct = 2945 GarminProductApproachX10 GarminProduct = 2962 GarminProductFr30Asia GarminProduct = 2977 GarminProductVivoactive3mW GarminProduct = 2988 GarminProductFr645Asia GarminProduct = 3003 GarminProductFr645mAsia GarminProduct = 3004 GarminProductEdgeExplore GarminProduct = 3011 GarminProductGpsmap66 GarminProduct = 3028 GarminProductApproachS10 GarminProduct = 3049 GarminProductVivoactive3mL GarminProduct = 3066 GarminProductApproachG80 GarminProduct = 3085 GarminProductEdge130Asia GarminProduct = 3092 GarminProductEdge1030Bontrager GarminProduct = 3095 GarminProductFenix5Plus GarminProduct = 3110 GarminProductFenix5xPlus GarminProduct = 3111 GarminProductEdge520Plus GarminProduct = 3112 GarminProductFr945 GarminProduct = 3113 GarminProductEdge530 GarminProduct = 3121 GarminProductEdge830 GarminProduct = 3122 GarminProductFenix5sPlusApac GarminProduct = 3134 GarminProductFenix5xPlusApac GarminProduct = 3135 GarminProductEdge520PlusApac GarminProduct = 3142 GarminProductFr235lAsia GarminProduct = 3144 GarminProductFr245Asia GarminProduct = 3145 GarminProductVivoActive3mApac GarminProduct = 3163 GarminProductGen3Bsm GarminProduct = 3192 // gen3 bike speed sensor GarminProductGen3Bcm GarminProduct = 3193 // gen3 bike cadence sensor GarminProductVivoSmart4Asia GarminProduct = 3218 GarminProductVivoactive4Small GarminProduct = 3224 GarminProductVivoactive4Large GarminProduct = 3225 GarminProductVenu GarminProduct = 3226 GarminProductMarqDriver GarminProduct = 3246 GarminProductMarqAviator GarminProduct = 3247 GarminProductMarqCaptain GarminProduct = 3248 GarminProductMarqCommander GarminProduct = 3249 GarminProductMarqExpedition GarminProduct = 3250 GarminProductMarqAthlete GarminProduct = 3251 GarminProductFenix6SSport GarminProduct = 3287 GarminProductFenix6S GarminProduct = 3288 GarminProductFenix6Sport GarminProduct = 3289 GarminProductFenix6 GarminProduct = 3290 GarminProductFenix6x GarminProduct = 3291 GarminProductHrmDual GarminProduct = 3299 // HRM-Dual GarminProductVivoMove3Premium GarminProduct = 3308 GarminProductApproachS40 GarminProduct = 3314 GarminProductFr245mAsia GarminProduct = 3321 GarminProductEdge530Apac GarminProduct = 3349 GarminProductEdge830Apac GarminProduct = 3350 GarminProductVivoMove3 GarminProduct = 3378 GarminProductVivoActive4SmallAsia GarminProduct = 3387 GarminProductVivoActive4LargeAsia GarminProduct = 3388 GarminProductVivoActive4OledAsia GarminProduct = 3389 GarminProductSwim2 GarminProduct = 3405 GarminProductMarqDriverAsia GarminProduct = 3420 GarminProductMarqAviatorAsia GarminProduct = 3421 GarminProductVivoMove3Asia GarminProduct = 3422 GarminProductFr945Asia GarminProduct = 3441 GarminProductVivoActive3tChn GarminProduct = 3446 GarminProductMarqCaptainAsia GarminProduct = 3448 GarminProductMarqCommanderAsia GarminProduct = 3449 GarminProductMarqExpeditionAsia GarminProduct = 3450 GarminProductMarqAthleteAsia GarminProduct = 3451 GarminProductFr45Asia GarminProduct = 3469 GarminProductVivoactive3Daimler GarminProduct = 3473 GarminProductFenix6sSportAsia GarminProduct = 3512 GarminProductFenix6sAsia GarminProduct = 3513 GarminProductFenix6SportAsia GarminProduct = 3514 GarminProductFenix6Asia GarminProduct = 3515 GarminProductFenix6xAsia GarminProduct = 3516 GarminProductEdge130Plus GarminProduct = 3558 GarminProductEdge1030Plus GarminProduct = 3570 GarminProductMarqAdventurer GarminProduct = 3624 GarminProductMarqAdventurerAsia GarminProduct = 3648 GarminProductSwim2Apac GarminProduct = 3639 GarminProductVenuDaimlerAsia GarminProduct = 3737 GarminProductMarqGolfer GarminProduct = 3739 GarminProductVenuDaimler GarminProduct = 3740 GarminProductEdge1030PlusAsia GarminProduct = 3812 GarminProductEdge130PlusAsia GarminProduct = 3813 GarminProductMarqGolferAsia GarminProduct = 3850 GarminProductSdm4 GarminProduct = 10007 // SDM4 footpod GarminProductEdgeRemote GarminProduct = 10014 GarminProductTacxTrainingAppWin GarminProduct = 20533 GarminProductTacxTrainingAppMac GarminProduct = 20534 GarminProductTrainingCenter GarminProduct = 20119 GarminProductTacxTrainingAppAndroid GarminProduct = 30045 GarminProductTacxTrainingAppIos GarminProduct = 30046 GarminProductTacxTrainingAppLegacy GarminProduct = 30047 GarminProductConnectiqSimulator GarminProduct = 65531 GarminProductAndroidAntplusPlugin GarminProduct = 65532 GarminProductConnect GarminProduct = 65534 // Garmin Connect website GarminProductInvalid GarminProduct = 0xFFFF )
func (GarminProduct) String ¶
func (i GarminProduct) String() string
type GoalMsg ¶
type GoalMsg struct { MessageIndex MessageIndex Sport Sport SubSport SubSport StartDate time.Time EndDate time.Time Type Goal Value uint32 Repeat Bool TargetValue uint32 Recurrence GoalRecurrence RecurrenceValue uint16 Enabled Bool Source GoalSource }
GoalMsg represents the goal FIT message type.
func NewGoalMsg ¶
func NewGoalMsg() *GoalMsg
NewGoalMsg returns a goal FIT message initialized to all-invalid values.
type GoalRecurrence ¶
type GoalRecurrence byte
GoalRecurrence represents the goal_recurrence FIT type.
const ( GoalRecurrenceOff GoalRecurrence = 0 GoalRecurrenceDaily GoalRecurrence = 1 GoalRecurrenceWeekly GoalRecurrence = 2 GoalRecurrenceMonthly GoalRecurrence = 3 GoalRecurrenceYearly GoalRecurrence = 4 GoalRecurrenceCustom GoalRecurrence = 5 GoalRecurrenceInvalid GoalRecurrence = 0xFF )
func (GoalRecurrence) String ¶
func (i GoalRecurrence) String() string
type GoalSource ¶
type GoalSource byte
GoalSource represents the goal_source FIT type.
const ( GoalSourceAuto GoalSource = 0 // Device generated GoalSourceCommunity GoalSource = 1 // Social network sourced goal GoalSourceUser GoalSource = 2 // Manually generated GoalSourceInvalid GoalSource = 0xFF )
func (GoalSource) String ¶
func (i GoalSource) String() string
type GoalsFile ¶
type GoalsFile struct {
Goals []*GoalMsg
}
GoalsFile represents the Goals FIT file type. Describes a user’s exercise/health goals.
type GpsMetadataMsg ¶
type GpsMetadataMsg struct { }
GpsMetadataMsg represents the gps_metadata FIT message type.
func NewGpsMetadataMsg ¶
func NewGpsMetadataMsg() *GpsMetadataMsg
NewGpsMetadataMsg returns a gps_metadata FIT message initialized to all-invalid values.
type GyroscopeDataMsg ¶
type GyroscopeDataMsg struct { }
GyroscopeDataMsg represents the gyroscope_data FIT message type.
func NewGyroscopeDataMsg ¶
func NewGyroscopeDataMsg() *GyroscopeDataMsg
NewGyroscopeDataMsg returns a gyroscope_data FIT message initialized to all-invalid values.
type Header ¶
type Header struct { Size byte ProtocolVersion byte ProfileVersion uint16 DataSize uint32 DataType [4]byte CRC uint16 }
Header represents a FIT file header.
func DecodeHeader ¶
DecodeHeader returns the FIT file header without decoding the entire FIT file.
func NewHeader ¶
func NewHeader(v ProtocolVersion, crc bool) Header
NewHeader creates a new Header with required info.
func (Header) CheckIntegrity ¶
CheckIntegrity verifies the FIT header CRC.
func (Header) MarshalBinary ¶
MarshalBinary implements the encoding.BinaryMarshaler interface.
func (Header) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface.
type HipRaiseExerciseName ¶
type HipRaiseExerciseName uint16
HipRaiseExerciseName represents the hip_raise_exercise_name FIT type.
const ( HipRaiseExerciseNameBarbellHipThrustOnFloor HipRaiseExerciseName = 0 HipRaiseExerciseNameBarbellHipThrustWithBench HipRaiseExerciseName = 1 HipRaiseExerciseNameBentKneeSwissBallReverseHipRaise HipRaiseExerciseName = 2 HipRaiseExerciseNameWeightedBentKneeSwissBallReverseHipRaise HipRaiseExerciseName = 3 HipRaiseExerciseNameBridgeWithLegExtension HipRaiseExerciseName = 4 HipRaiseExerciseNameWeightedBridgeWithLegExtension HipRaiseExerciseName = 5 HipRaiseExerciseNameClamBridge HipRaiseExerciseName = 6 HipRaiseExerciseNameFrontKickTabletop HipRaiseExerciseName = 7 HipRaiseExerciseNameWeightedFrontKickTabletop HipRaiseExerciseName = 8 HipRaiseExerciseNameHipExtensionAndCross HipRaiseExerciseName = 9 HipRaiseExerciseNameWeightedHipExtensionAndCross HipRaiseExerciseName = 10 HipRaiseExerciseNameHipRaise HipRaiseExerciseName = 11 HipRaiseExerciseNameWeightedHipRaise HipRaiseExerciseName = 12 HipRaiseExerciseNameHipRaiseWithFeetOnSwissBall HipRaiseExerciseName = 13 HipRaiseExerciseNameWeightedHipRaiseWithFeetOnSwissBall HipRaiseExerciseName = 14 HipRaiseExerciseNameHipRaiseWithHeadOnBosuBall HipRaiseExerciseName = 15 HipRaiseExerciseNameWeightedHipRaiseWithHeadOnBosuBall HipRaiseExerciseName = 16 HipRaiseExerciseNameHipRaiseWithHeadOnSwissBall HipRaiseExerciseName = 17 HipRaiseExerciseNameWeightedHipRaiseWithHeadOnSwissBall HipRaiseExerciseName = 18 HipRaiseExerciseNameHipRaiseWithKneeSqueeze HipRaiseExerciseName = 19 HipRaiseExerciseNameWeightedHipRaiseWithKneeSqueeze HipRaiseExerciseName = 20 HipRaiseExerciseNameInclineRearLegExtension HipRaiseExerciseName = 21 HipRaiseExerciseNameWeightedInclineRearLegExtension HipRaiseExerciseName = 22 HipRaiseExerciseNameKettlebellSwing HipRaiseExerciseName = 23 HipRaiseExerciseNameMarchingHipRaise HipRaiseExerciseName = 24 HipRaiseExerciseNameWeightedMarchingHipRaise HipRaiseExerciseName = 25 HipRaiseExerciseNameMarchingHipRaiseWithFeetOnASwissBall HipRaiseExerciseName = 26 HipRaiseExerciseNameWeightedMarchingHipRaiseWithFeetOnASwissBall HipRaiseExerciseName = 27 HipRaiseExerciseNameReverseHipRaise HipRaiseExerciseName = 28 HipRaiseExerciseNameWeightedReverseHipRaise HipRaiseExerciseName = 29 HipRaiseExerciseNameSingleLegHipRaise HipRaiseExerciseName = 30 HipRaiseExerciseNameWeightedSingleLegHipRaise HipRaiseExerciseName = 31 HipRaiseExerciseNameSingleLegHipRaiseWithFootOnBench HipRaiseExerciseName = 32 HipRaiseExerciseNameWeightedSingleLegHipRaiseWithFootOnBench HipRaiseExerciseName = 33 HipRaiseExerciseNameSingleLegHipRaiseWithFootOnBosuBall HipRaiseExerciseName = 34 HipRaiseExerciseNameWeightedSingleLegHipRaiseWithFootOnBosuBall HipRaiseExerciseName = 35 HipRaiseExerciseNameSingleLegHipRaiseWithFootOnFoamRoller HipRaiseExerciseName = 36 HipRaiseExerciseNameWeightedSingleLegHipRaiseWithFootOnFoamRoller HipRaiseExerciseName = 37 HipRaiseExerciseNameSingleLegHipRaiseWithFootOnMedicineBall HipRaiseExerciseName = 38 HipRaiseExerciseNameWeightedSingleLegHipRaiseWithFootOnMedicineBall HipRaiseExerciseName = 39 HipRaiseExerciseNameSingleLegHipRaiseWithHeadOnBosuBall HipRaiseExerciseName = 40 HipRaiseExerciseNameWeightedSingleLegHipRaiseWithHeadOnBosuBall HipRaiseExerciseName = 41 HipRaiseExerciseNameWeightedClamBridge HipRaiseExerciseName = 42 HipRaiseExerciseNameSingleLegSwissBallHipRaiseAndLegCurl HipRaiseExerciseName = 43 HipRaiseExerciseNameClams HipRaiseExerciseName = 44 HipRaiseExerciseNameInnerThighCircles HipRaiseExerciseName = 45 // Deprecated do not use HipRaiseExerciseNameInnerThighSideLift HipRaiseExerciseName = 46 // Deprecated do not use HipRaiseExerciseNameLegCircles HipRaiseExerciseName = 47 HipRaiseExerciseNameLegLift HipRaiseExerciseName = 48 HipRaiseExerciseNameLegLiftInExternalRotation HipRaiseExerciseName = 49 HipRaiseExerciseNameInvalid HipRaiseExerciseName = 0xFFFF )
func (HipRaiseExerciseName) String ¶
func (i HipRaiseExerciseName) String() string
type HipStabilityExerciseName ¶
type HipStabilityExerciseName uint16
HipStabilityExerciseName represents the hip_stability_exercise_name FIT type.
const ( HipStabilityExerciseNameBandSideLyingLegRaise HipStabilityExerciseName = 0 HipStabilityExerciseNameDeadBug HipStabilityExerciseName = 1 HipStabilityExerciseNameWeightedDeadBug HipStabilityExerciseName = 2 HipStabilityExerciseNameExternalHipRaise HipStabilityExerciseName = 3 HipStabilityExerciseNameWeightedExternalHipRaise HipStabilityExerciseName = 4 HipStabilityExerciseNameFireHydrantKicks HipStabilityExerciseName = 5 HipStabilityExerciseNameWeightedFireHydrantKicks HipStabilityExerciseName = 6 HipStabilityExerciseNameHipCircles HipStabilityExerciseName = 7 HipStabilityExerciseNameWeightedHipCircles HipStabilityExerciseName = 8 HipStabilityExerciseNameInnerThighLift HipStabilityExerciseName = 9 HipStabilityExerciseNameWeightedInnerThighLift HipStabilityExerciseName = 10 HipStabilityExerciseNameLateralWalksWithBandAtAnkles HipStabilityExerciseName = 11 HipStabilityExerciseNamePretzelSideKick HipStabilityExerciseName = 12 HipStabilityExerciseNameWeightedPretzelSideKick HipStabilityExerciseName = 13 HipStabilityExerciseNameProneHipInternalRotation HipStabilityExerciseName = 14 HipStabilityExerciseNameWeightedProneHipInternalRotation HipStabilityExerciseName = 15 HipStabilityExerciseNameQuadruped HipStabilityExerciseName = 16 HipStabilityExerciseNameQuadrupedHipExtension HipStabilityExerciseName = 17 HipStabilityExerciseNameWeightedQuadrupedHipExtension HipStabilityExerciseName = 18 HipStabilityExerciseNameQuadrupedWithLegLift HipStabilityExerciseName = 19 HipStabilityExerciseNameWeightedQuadrupedWithLegLift HipStabilityExerciseName = 20 HipStabilityExerciseNameSideLyingLegRaise HipStabilityExerciseName = 21 HipStabilityExerciseNameWeightedSideLyingLegRaise HipStabilityExerciseName = 22 HipStabilityExerciseNameSlidingHipAdduction HipStabilityExerciseName = 23 HipStabilityExerciseNameWeightedSlidingHipAdduction HipStabilityExerciseName = 24 HipStabilityExerciseNameStandingAdduction HipStabilityExerciseName = 25 HipStabilityExerciseNameWeightedStandingAdduction HipStabilityExerciseName = 26 HipStabilityExerciseNameStandingCableHipAbduction HipStabilityExerciseName = 27 HipStabilityExerciseNameStandingHipAbduction HipStabilityExerciseName = 28 HipStabilityExerciseNameWeightedStandingHipAbduction HipStabilityExerciseName = 29 HipStabilityExerciseNameStandingRearLegRaise HipStabilityExerciseName = 30 HipStabilityExerciseNameWeightedStandingRearLegRaise HipStabilityExerciseName = 31 HipStabilityExerciseNameSupineHipInternalRotation HipStabilityExerciseName = 32 HipStabilityExerciseNameWeightedSupineHipInternalRotation HipStabilityExerciseName = 33 HipStabilityExerciseNameInvalid HipStabilityExerciseName = 0xFFFF )
func (HipStabilityExerciseName) String ¶
func (i HipStabilityExerciseName) String() string
type HipSwingExerciseName ¶
type HipSwingExerciseName uint16
HipSwingExerciseName represents the hip_swing_exercise_name FIT type.
const ( HipSwingExerciseNameSingleArmKettlebellSwing HipSwingExerciseName = 0 HipSwingExerciseNameSingleArmDumbbellSwing HipSwingExerciseName = 1 HipSwingExerciseNameStepOutSwing HipSwingExerciseName = 2 HipSwingExerciseNameInvalid HipSwingExerciseName = 0xFFFF )
func (HipSwingExerciseName) String ¶
func (i HipSwingExerciseName) String() string
type HrMsg ¶
type HrMsg struct { Timestamp time.Time FractionalTimestamp uint16 Time256 uint8 FilteredBpm []uint8 EventTimestamp []uint32 EventTimestamp12 []byte }
HrMsg represents the hr FIT message type.
func NewHrMsg ¶
func NewHrMsg() *HrMsg
NewHrMsg returns a hr FIT message initialized to all-invalid values.
func (*HrMsg) GetEventTimestampScaled ¶
GetEventTimestampScaled returns EventTimestamp as a slice with scale and any offset applied to every element. Units: s
func (*HrMsg) GetFractionalTimestampScaled ¶
GetFractionalTimestampScaled returns FractionalTimestamp with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*HrMsg) GetTime256Scaled ¶
GetTime256Scaled returns Time256 with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
type HrZoneCalc ¶
type HrZoneCalc byte
HrZoneCalc represents the hr_zone_calc FIT type.
const ( HrZoneCalcCustom HrZoneCalc = 0 HrZoneCalcPercentMaxHr HrZoneCalc = 1 HrZoneCalcPercentHrr HrZoneCalc = 2 HrZoneCalcInvalid HrZoneCalc = 0xFF )
func (HrZoneCalc) String ¶
func (i HrZoneCalc) String() string
type HrZoneMsg ¶
type HrZoneMsg struct { MessageIndex MessageIndex HighBpm uint8 Name string }
HrZoneMsg represents the hr_zone FIT message type.
func NewHrZoneMsg ¶
func NewHrZoneMsg() *HrZoneMsg
NewHrZoneMsg returns a hr_zone FIT message initialized to all-invalid values.
type HrmProfileMsg ¶
type HrmProfileMsg struct { MessageIndex MessageIndex Enabled Bool HrmAntId uint16 LogHrv Bool HrmAntIdTransType uint8 }
HrmProfileMsg represents the hrm_profile FIT message type.
func NewHrmProfileMsg ¶
func NewHrmProfileMsg() *HrmProfileMsg
NewHrmProfileMsg returns a hrm_profile FIT message initialized to all-invalid values.
type HrvMsg ¶
type HrvMsg struct {
Time []uint16 // Time between beats
}
HrvMsg represents the hrv FIT message type.
func NewHrvMsg ¶
func NewHrvMsg() *HrvMsg
NewHrvMsg returns a hrv FIT message initialized to all-invalid values.
func (*HrvMsg) GetTimeScaled ¶
GetTimeScaled returns Time as a slice with scale and any offset applied to every element. Units: s
type HyperextensionExerciseName ¶
type HyperextensionExerciseName uint16
HyperextensionExerciseName represents the hyperextension_exercise_name FIT type.
const ( HyperextensionExerciseNameBackExtensionWithOppositeArmAndLegReach HyperextensionExerciseName = 0 HyperextensionExerciseNameWeightedBackExtensionWithOppositeArmAndLegReach HyperextensionExerciseName = 1 HyperextensionExerciseNameBaseRotations HyperextensionExerciseName = 2 HyperextensionExerciseNameWeightedBaseRotations HyperextensionExerciseName = 3 HyperextensionExerciseNameBentKneeReverseHyperextension HyperextensionExerciseName = 4 HyperextensionExerciseNameWeightedBentKneeReverseHyperextension HyperextensionExerciseName = 5 HyperextensionExerciseNameHollowHoldAndRoll HyperextensionExerciseName = 6 HyperextensionExerciseNameWeightedHollowHoldAndRoll HyperextensionExerciseName = 7 HyperextensionExerciseNameKicks HyperextensionExerciseName = 8 HyperextensionExerciseNameWeightedKicks HyperextensionExerciseName = 9 HyperextensionExerciseNameKneeRaises HyperextensionExerciseName = 10 HyperextensionExerciseNameWeightedKneeRaises HyperextensionExerciseName = 11 HyperextensionExerciseNameKneelingSuperman HyperextensionExerciseName = 12 HyperextensionExerciseNameWeightedKneelingSuperman HyperextensionExerciseName = 13 HyperextensionExerciseNameLatPullDownWithRow HyperextensionExerciseName = 14 HyperextensionExerciseNameMedicineBallDeadliftToReach HyperextensionExerciseName = 15 HyperextensionExerciseNameOneArmOneLegRow HyperextensionExerciseName = 16 HyperextensionExerciseNameOneArmRowWithBand HyperextensionExerciseName = 17 HyperextensionExerciseNameOverheadLungeWithMedicineBall HyperextensionExerciseName = 18 HyperextensionExerciseNamePlankKneeTucks HyperextensionExerciseName = 19 HyperextensionExerciseNameWeightedPlankKneeTucks HyperextensionExerciseName = 20 HyperextensionExerciseNameSideStep HyperextensionExerciseName = 21 HyperextensionExerciseNameWeightedSideStep HyperextensionExerciseName = 22 HyperextensionExerciseNameSingleLegBackExtension HyperextensionExerciseName = 23 HyperextensionExerciseNameWeightedSingleLegBackExtension HyperextensionExerciseName = 24 HyperextensionExerciseNameSpineExtension HyperextensionExerciseName = 25 HyperextensionExerciseNameWeightedSpineExtension HyperextensionExerciseName = 26 HyperextensionExerciseNameStaticBackExtension HyperextensionExerciseName = 27 HyperextensionExerciseNameWeightedStaticBackExtension HyperextensionExerciseName = 28 HyperextensionExerciseNameSupermanFromFloor HyperextensionExerciseName = 29 HyperextensionExerciseNameWeightedSupermanFromFloor HyperextensionExerciseName = 30 HyperextensionExerciseNameSwissBallBackExtension HyperextensionExerciseName = 31 HyperextensionExerciseNameWeightedSwissBallBackExtension HyperextensionExerciseName = 32 HyperextensionExerciseNameSwissBallHyperextension HyperextensionExerciseName = 33 HyperextensionExerciseNameWeightedSwissBallHyperextension HyperextensionExerciseName = 34 HyperextensionExerciseNameSwissBallOppositeArmAndLegLift HyperextensionExerciseName = 35 HyperextensionExerciseNameWeightedSwissBallOppositeArmAndLegLift HyperextensionExerciseName = 36 HyperextensionExerciseNameSupermanOnSwissBall HyperextensionExerciseName = 37 HyperextensionExerciseNameCobra HyperextensionExerciseName = 38 HyperextensionExerciseNameSupineFloorBarre HyperextensionExerciseName = 39 // Deprecated do not use HyperextensionExerciseNameInvalid HyperextensionExerciseName = 0xFFFF )
func (HyperextensionExerciseName) String ¶
func (i HyperextensionExerciseName) String() string
type IntegrityError ¶
type IntegrityError string
An IntegrityError reports that a header or file CRC check failed.
func (IntegrityError) Error ¶
func (e IntegrityError) Error() string
type JumpMsg ¶
type JumpMsg struct { }
JumpMsg represents the jump FIT message type.
func NewJumpMsg ¶
func NewJumpMsg() *JumpMsg
NewJumpMsg returns a jump FIT message initialized to all-invalid values.
type Language ¶
type Language byte
Language represents the language FIT type.
const ( LanguageEnglish Language = 0 LanguageFrench Language = 1 LanguageItalian Language = 2 LanguageGerman Language = 3 LanguageSpanish Language = 4 LanguageCroatian Language = 5 LanguageCzech Language = 6 LanguageDanish Language = 7 LanguageDutch Language = 8 LanguageFinnish Language = 9 LanguageGreek Language = 10 LanguageHungarian Language = 11 LanguageNorwegian Language = 12 LanguagePolish Language = 13 LanguagePortuguese Language = 14 LanguageSlovakian Language = 15 LanguageSlovenian Language = 16 LanguageSwedish Language = 17 LanguageRussian Language = 18 LanguageTurkish Language = 19 LanguageLatvian Language = 20 LanguageUkrainian Language = 21 LanguageArabic Language = 22 LanguageFarsi Language = 23 LanguageBulgarian Language = 24 LanguageRomanian Language = 25 LanguageChinese Language = 26 LanguageJapanese Language = 27 LanguageKorean Language = 28 LanguageTaiwanese Language = 29 LanguageThai Language = 30 LanguageHebrew Language = 31 LanguageBrazilianPortuguese Language = 32 LanguageIndonesian Language = 33 LanguageMalaysian Language = 34 LanguageVietnamese Language = 35 LanguageBurmese Language = 36 LanguageMongolian Language = 37 LanguageCustom Language = 254 LanguageInvalid Language = 0xFF )
type LanguageBits0 ¶
type LanguageBits0 uint8
LanguageBits0 represents the language_bits_0 FIT type.
const ( LanguageBits0English LanguageBits0 = 0x01 LanguageBits0French LanguageBits0 = 0x02 LanguageBits0Italian LanguageBits0 = 0x04 LanguageBits0German LanguageBits0 = 0x08 LanguageBits0Spanish LanguageBits0 = 0x10 LanguageBits0Croatian LanguageBits0 = 0x20 LanguageBits0Czech LanguageBits0 = 0x40 LanguageBits0Danish LanguageBits0 = 0x80 LanguageBits0Invalid LanguageBits0 = 0x00 )
func (LanguageBits0) String ¶
func (i LanguageBits0) String() string
type LanguageBits1 ¶
type LanguageBits1 uint8
LanguageBits1 represents the language_bits_1 FIT type.
const ( LanguageBits1Dutch LanguageBits1 = 0x01 LanguageBits1Finnish LanguageBits1 = 0x02 LanguageBits1Greek LanguageBits1 = 0x04 LanguageBits1Hungarian LanguageBits1 = 0x08 LanguageBits1Norwegian LanguageBits1 = 0x10 LanguageBits1Polish LanguageBits1 = 0x20 LanguageBits1Portuguese LanguageBits1 = 0x40 LanguageBits1Slovakian LanguageBits1 = 0x80 LanguageBits1Invalid LanguageBits1 = 0x00 )
func (LanguageBits1) String ¶
func (i LanguageBits1) String() string
type LanguageBits2 ¶
type LanguageBits2 uint8
LanguageBits2 represents the language_bits_2 FIT type.
const ( LanguageBits2Slovenian LanguageBits2 = 0x01 LanguageBits2Swedish LanguageBits2 = 0x02 LanguageBits2Russian LanguageBits2 = 0x04 LanguageBits2Turkish LanguageBits2 = 0x08 LanguageBits2Latvian LanguageBits2 = 0x10 LanguageBits2Ukrainian LanguageBits2 = 0x20 LanguageBits2Arabic LanguageBits2 = 0x40 LanguageBits2Farsi LanguageBits2 = 0x80 LanguageBits2Invalid LanguageBits2 = 0x00 )
func (LanguageBits2) String ¶
func (i LanguageBits2) String() string
type LanguageBits3 ¶
type LanguageBits3 uint8
LanguageBits3 represents the language_bits_3 FIT type.
const ( LanguageBits3Bulgarian LanguageBits3 = 0x01 LanguageBits3Romanian LanguageBits3 = 0x02 LanguageBits3Chinese LanguageBits3 = 0x04 LanguageBits3Japanese LanguageBits3 = 0x08 LanguageBits3Korean LanguageBits3 = 0x10 LanguageBits3Taiwanese LanguageBits3 = 0x20 LanguageBits3Thai LanguageBits3 = 0x40 LanguageBits3Hebrew LanguageBits3 = 0x80 LanguageBits3Invalid LanguageBits3 = 0x00 )
func (LanguageBits3) String ¶
func (i LanguageBits3) String() string
type LanguageBits4 ¶
type LanguageBits4 uint8
LanguageBits4 represents the language_bits_4 FIT type.
const ( LanguageBits4BrazilianPortuguese LanguageBits4 = 0x01 LanguageBits4Indonesian LanguageBits4 = 0x02 LanguageBits4Malaysian LanguageBits4 = 0x04 LanguageBits4Vietnamese LanguageBits4 = 0x08 LanguageBits4Burmese LanguageBits4 = 0x10 LanguageBits4Mongolian LanguageBits4 = 0x20 LanguageBits4Invalid LanguageBits4 = 0x00 )
func (LanguageBits4) String ¶
func (i LanguageBits4) String() string
type LapMsg ¶
type LapMsg struct { MessageIndex MessageIndex Timestamp time.Time // Lap end time. Event Event EventType EventType StartTime time.Time StartPositionLat Latitude StartPositionLong Longitude EndPositionLat Latitude EndPositionLong Longitude TotalElapsedTime uint32 // Time (includes pauses) TotalTimerTime uint32 // Timer Time (excludes pauses) TotalDistance uint32 TotalCycles uint32 TotalCalories uint16 TotalFatCalories uint16 // If New Leaf AvgSpeed uint16 MaxSpeed uint16 AvgHeartRate uint8 MaxHeartRate uint8 AvgCadence uint8 // total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles / total_elapsed_time MaxCadence uint8 AvgPower uint16 // total_power / total_timer_time if non_zero_avg_power otherwise total_power / total_elapsed_time MaxPower uint16 TotalAscent uint16 TotalDescent uint16 Intensity Intensity LapTrigger LapTrigger Sport Sport EventGroup uint8 NumLengths uint16 // # of lengths of swim pool NormalizedPower uint16 LeftRightBalance LeftRightBalance100 FirstLengthIndex uint16 AvgStrokeDistance uint16 SwimStroke SwimStroke SubSport SubSport NumActiveLengths uint16 // # of active lengths of swim pool TotalWork uint32 AvgAltitude uint16 MaxAltitude uint16 GpsAccuracy uint8 AvgGrade int16 AvgPosGrade int16 AvgNegGrade int16 MaxPosGrade int16 MaxNegGrade int16 AvgTemperature int8 MaxTemperature int8 TotalMovingTime uint32 AvgPosVerticalSpeed int16 AvgNegVerticalSpeed int16 MaxPosVerticalSpeed int16 MaxNegVerticalSpeed int16 TimeInHrZone []uint32 TimeInSpeedZone []uint32 TimeInCadenceZone []uint32 TimeInPowerZone []uint32 RepetitionNum uint16 MinAltitude uint16 MinHeartRate uint8 WktStepIndex MessageIndex OpponentScore uint16 StrokeCount []uint16 // stroke_type enum used as the index ZoneCount []uint16 // zone number used as the index AvgVerticalOscillation uint16 AvgStanceTimePercent uint16 AvgStanceTime uint16 AvgFractionalCadence uint8 // fractional part of the avg_cadence MaxFractionalCadence uint8 // fractional part of the max_cadence TotalFractionalCycles uint8 // fractional part of the total_cycles PlayerScore uint16 AvgTotalHemoglobinConc []uint16 // Avg saturated and unsaturated hemoglobin MinTotalHemoglobinConc []uint16 // Min saturated and unsaturated hemoglobin MaxTotalHemoglobinConc []uint16 // Max saturated and unsaturated hemoglobin AvgSaturatedHemoglobinPercent []uint16 // Avg percentage of hemoglobin saturated with oxygen MinSaturatedHemoglobinPercent []uint16 // Min percentage of hemoglobin saturated with oxygen MaxSaturatedHemoglobinPercent []uint16 // Max percentage of hemoglobin saturated with oxygen EnhancedAvgSpeed uint32 EnhancedMaxSpeed uint32 EnhancedAvgAltitude uint32 EnhancedMinAltitude uint32 EnhancedMaxAltitude uint32 AvgVam uint16 }
LapMsg represents the lap FIT message type.
func NewLapMsg ¶
func NewLapMsg() *LapMsg
NewLapMsg returns a lap FIT message initialized to all-invalid values.
func (*LapMsg) GetAvgAltitudeScaled ¶
GetAvgAltitudeScaled returns AvgAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*LapMsg) GetAvgCadence ¶
func (x *LapMsg) GetAvgCadence() interface{}
GetAvgCadence returns the appropriate AvgCadence subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*LapMsg) GetAvgFractionalCadenceScaled ¶
GetAvgFractionalCadenceScaled returns AvgFractionalCadence with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: rpm
func (*LapMsg) GetAvgGradeScaled ¶
GetAvgGradeScaled returns AvgGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*LapMsg) GetAvgNegGradeScaled ¶
GetAvgNegGradeScaled returns AvgNegGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*LapMsg) GetAvgNegVerticalSpeedScaled ¶
GetAvgNegVerticalSpeedScaled returns AvgNegVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LapMsg) GetAvgPosGradeScaled ¶
GetAvgPosGradeScaled returns AvgPosGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*LapMsg) GetAvgPosVerticalSpeedScaled ¶
GetAvgPosVerticalSpeedScaled returns AvgPosVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LapMsg) GetAvgSaturatedHemoglobinPercentScaled ¶
GetAvgSaturatedHemoglobinPercentScaled returns AvgSaturatedHemoglobinPercent as a slice with scale and any offset applied to every element. Units: %
func (*LapMsg) GetAvgSpeedScaled ¶
GetAvgSpeedScaled returns AvgSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LapMsg) GetAvgStanceTimePercentScaled ¶
GetAvgStanceTimePercentScaled returns AvgStanceTimePercent with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*LapMsg) GetAvgStanceTimeScaled ¶
GetAvgStanceTimeScaled returns AvgStanceTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: ms
func (*LapMsg) GetAvgStrokeDistanceScaled ¶
GetAvgStrokeDistanceScaled returns AvgStrokeDistance with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*LapMsg) GetAvgTotalHemoglobinConcScaled ¶
GetAvgTotalHemoglobinConcScaled returns AvgTotalHemoglobinConc as a slice with scale and any offset applied to every element. Units: g/dL
func (*LapMsg) GetAvgVamScaled ¶
GetAvgVamScaled returns AvgVam with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LapMsg) GetAvgVerticalOscillationScaled ¶
GetAvgVerticalOscillationScaled returns AvgVerticalOscillation with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: mm
func (*LapMsg) GetEnhancedAvgAltitudeScaled ¶
GetEnhancedAvgAltitudeScaled returns EnhancedAvgAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*LapMsg) GetEnhancedAvgSpeedScaled ¶
GetEnhancedAvgSpeedScaled returns EnhancedAvgSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LapMsg) GetEnhancedMaxAltitudeScaled ¶
GetEnhancedMaxAltitudeScaled returns EnhancedMaxAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*LapMsg) GetEnhancedMaxSpeedScaled ¶
GetEnhancedMaxSpeedScaled returns EnhancedMaxSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LapMsg) GetEnhancedMinAltitudeScaled ¶
GetEnhancedMinAltitudeScaled returns EnhancedMinAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*LapMsg) GetMaxAltitudeScaled ¶
GetMaxAltitudeScaled returns MaxAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*LapMsg) GetMaxCadence ¶
func (x *LapMsg) GetMaxCadence() interface{}
GetMaxCadence returns the appropriate MaxCadence subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*LapMsg) GetMaxFractionalCadenceScaled ¶
GetMaxFractionalCadenceScaled returns MaxFractionalCadence with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: rpm
func (*LapMsg) GetMaxNegGradeScaled ¶
GetMaxNegGradeScaled returns MaxNegGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*LapMsg) GetMaxNegVerticalSpeedScaled ¶
GetMaxNegVerticalSpeedScaled returns MaxNegVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LapMsg) GetMaxPosGradeScaled ¶
GetMaxPosGradeScaled returns MaxPosGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*LapMsg) GetMaxPosVerticalSpeedScaled ¶
GetMaxPosVerticalSpeedScaled returns MaxPosVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LapMsg) GetMaxSaturatedHemoglobinPercentScaled ¶
GetMaxSaturatedHemoglobinPercentScaled returns MaxSaturatedHemoglobinPercent as a slice with scale and any offset applied to every element. Units: %
func (*LapMsg) GetMaxSpeedScaled ¶
GetMaxSpeedScaled returns MaxSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LapMsg) GetMaxTotalHemoglobinConcScaled ¶
GetMaxTotalHemoglobinConcScaled returns MaxTotalHemoglobinConc as a slice with scale and any offset applied to every element. Units: g/dL
func (*LapMsg) GetMinAltitudeScaled ¶
GetMinAltitudeScaled returns MinAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*LapMsg) GetMinSaturatedHemoglobinPercentScaled ¶
GetMinSaturatedHemoglobinPercentScaled returns MinSaturatedHemoglobinPercent as a slice with scale and any offset applied to every element. Units: %
func (*LapMsg) GetMinTotalHemoglobinConcScaled ¶
GetMinTotalHemoglobinConcScaled returns MinTotalHemoglobinConc as a slice with scale and any offset applied to every element. Units: g/dL
func (*LapMsg) GetTimeInCadenceZoneScaled ¶
GetTimeInCadenceZoneScaled returns TimeInCadenceZone as a slice with scale and any offset applied to every element. Units: s
func (*LapMsg) GetTimeInHrZoneScaled ¶
GetTimeInHrZoneScaled returns TimeInHrZone as a slice with scale and any offset applied to every element. Units: s
func (*LapMsg) GetTimeInPowerZoneScaled ¶
GetTimeInPowerZoneScaled returns TimeInPowerZone as a slice with scale and any offset applied to every element. Units: s
func (*LapMsg) GetTimeInSpeedZoneScaled ¶
GetTimeInSpeedZoneScaled returns TimeInSpeedZone as a slice with scale and any offset applied to every element. Units: s
func (*LapMsg) GetTotalCycles ¶
func (x *LapMsg) GetTotalCycles() interface{}
GetTotalCycles returns the appropriate TotalCycles subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*LapMsg) GetTotalDistanceScaled ¶
GetTotalDistanceScaled returns TotalDistance with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*LapMsg) GetTotalElapsedTimeScaled ¶
GetTotalElapsedTimeScaled returns TotalElapsedTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*LapMsg) GetTotalFractionalCyclesScaled ¶
GetTotalFractionalCyclesScaled returns TotalFractionalCycles with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: cycles
func (*LapMsg) GetTotalMovingTimeScaled ¶
GetTotalMovingTimeScaled returns TotalMovingTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*LapMsg) GetTotalTimerTimeScaled ¶
GetTotalTimerTimeScaled returns TotalTimerTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
type LapTrigger ¶
type LapTrigger byte
LapTrigger represents the lap_trigger FIT type.
const ( LapTriggerManual LapTrigger = 0 LapTriggerTime LapTrigger = 1 LapTriggerDistance LapTrigger = 2 LapTriggerPositionStart LapTrigger = 3 LapTriggerPositionLap LapTrigger = 4 LapTriggerPositionWaypoint LapTrigger = 5 LapTriggerPositionMarked LapTrigger = 6 LapTriggerSessionEnd LapTrigger = 7 LapTriggerFitnessEquipment LapTrigger = 8 LapTriggerInvalid LapTrigger = 0xFF )
func (LapTrigger) String ¶
func (i LapTrigger) String() string
type LateralRaiseExerciseName ¶
type LateralRaiseExerciseName uint16
LateralRaiseExerciseName represents the lateral_raise_exercise_name FIT type.
const ( LateralRaiseExerciseName45DegreeCableExternalRotation LateralRaiseExerciseName = 0 LateralRaiseExerciseNameAlternatingLateralRaiseWithStaticHold LateralRaiseExerciseName = 1 LateralRaiseExerciseNameBarMuscleUp LateralRaiseExerciseName = 2 LateralRaiseExerciseNameBentOverLateralRaise LateralRaiseExerciseName = 3 LateralRaiseExerciseNameCableDiagonalRaise LateralRaiseExerciseName = 4 LateralRaiseExerciseNameCableFrontRaise LateralRaiseExerciseName = 5 LateralRaiseExerciseNameCalorieRow LateralRaiseExerciseName = 6 LateralRaiseExerciseNameComboShoulderRaise LateralRaiseExerciseName = 7 LateralRaiseExerciseNameDumbbellDiagonalRaise LateralRaiseExerciseName = 8 LateralRaiseExerciseNameDumbbellVRaise LateralRaiseExerciseName = 9 LateralRaiseExerciseNameFrontRaise LateralRaiseExerciseName = 10 LateralRaiseExerciseNameLeaningDumbbellLateralRaise LateralRaiseExerciseName = 11 LateralRaiseExerciseNameLyingDumbbellRaise LateralRaiseExerciseName = 12 LateralRaiseExerciseNameMuscleUp LateralRaiseExerciseName = 13 LateralRaiseExerciseNameOneArmCableLateralRaise LateralRaiseExerciseName = 14 LateralRaiseExerciseNameOverhandGripRearLateralRaise LateralRaiseExerciseName = 15 LateralRaiseExerciseNamePlateRaises LateralRaiseExerciseName = 16 LateralRaiseExerciseNameRingDip LateralRaiseExerciseName = 17 LateralRaiseExerciseNameWeightedRingDip LateralRaiseExerciseName = 18 LateralRaiseExerciseNameRingMuscleUp LateralRaiseExerciseName = 19 LateralRaiseExerciseNameWeightedRingMuscleUp LateralRaiseExerciseName = 20 LateralRaiseExerciseNameRopeClimb LateralRaiseExerciseName = 21 LateralRaiseExerciseNameWeightedRopeClimb LateralRaiseExerciseName = 22 LateralRaiseExerciseNameSeatedLateralRaise LateralRaiseExerciseName = 24 LateralRaiseExerciseNameSeatedRearLateralRaise LateralRaiseExerciseName = 25 LateralRaiseExerciseNameSideLyingLateralRaise LateralRaiseExerciseName = 26 LateralRaiseExerciseNameStandingLift LateralRaiseExerciseName = 27 LateralRaiseExerciseNameSuspendedRow LateralRaiseExerciseName = 28 LateralRaiseExerciseNameUnderhandGripRearLateralRaise LateralRaiseExerciseName = 29 LateralRaiseExerciseNameWallSlide LateralRaiseExerciseName = 30 LateralRaiseExerciseNameWeightedWallSlide LateralRaiseExerciseName = 31 LateralRaiseExerciseNameArmCircles LateralRaiseExerciseName = 32 LateralRaiseExerciseNameShavingTheHead LateralRaiseExerciseName = 33 LateralRaiseExerciseNameInvalid LateralRaiseExerciseName = 0xFFFF )
func (LateralRaiseExerciseName) String ¶
func (i LateralRaiseExerciseName) String() string
type Latitude ¶
type Latitude struct {
// contains filtered or unexported fields
}
Latitude represents the geographical coordinate latitude.
func NewLatitude ¶
NewLatitude returns a new latitude from a semicircle. If semicircles is outside the range of a latitude, (math.MinInt32/2, math.MaxInt32/2) then an invalid latitude is returned.
func NewLatitudeDegrees ¶
NewLatitudeDegrees returns a new latitude from a degree. If degrees is outside the range of a latitude (+/- 90°) then an invalid latitude is returned.
func NewLatitudeInvalid ¶
func NewLatitudeInvalid() Latitude
NewLatitudeInvalid returns an invalid latitude. The underlying storage is set to the invalid value of the FIT base type (sint32) used to represent a latitude.
func (Latitude) Semicircles ¶
Semicircles returns l in semicircles.
type LeftRightBalance ¶
type LeftRightBalance uint8
LeftRightBalance represents the left_right_balance FIT type.
const ( LeftRightBalanceMask LeftRightBalance = 0x7F // % contribution LeftRightBalanceRight LeftRightBalance = 0x80 // data corresponds to right if set, otherwise unknown LeftRightBalanceInvalid LeftRightBalance = 0xFF )
func (LeftRightBalance) String ¶
func (i LeftRightBalance) String() string
type LeftRightBalance100 ¶
type LeftRightBalance100 uint16
LeftRightBalance100 represents the left_right_balance_100 FIT type.
const ( LeftRightBalance100Mask LeftRightBalance100 = 0x3FFF // % contribution scaled by 100 LeftRightBalance100Right LeftRightBalance100 = 0x8000 // data corresponds to right if set, otherwise unknown LeftRightBalance100Invalid LeftRightBalance100 = 0xFFFF )
func (LeftRightBalance100) String ¶
func (i LeftRightBalance100) String() string
type LegCurlExerciseName ¶
type LegCurlExerciseName uint16
LegCurlExerciseName represents the leg_curl_exercise_name FIT type.
const ( LegCurlExerciseNameLegCurl LegCurlExerciseName = 0 LegCurlExerciseNameWeightedLegCurl LegCurlExerciseName = 1 LegCurlExerciseNameGoodMorning LegCurlExerciseName = 2 LegCurlExerciseNameSeatedBarbellGoodMorning LegCurlExerciseName = 3 LegCurlExerciseNameSingleLegBarbellGoodMorning LegCurlExerciseName = 4 LegCurlExerciseNameSingleLegSlidingLegCurl LegCurlExerciseName = 5 LegCurlExerciseNameSlidingLegCurl LegCurlExerciseName = 6 LegCurlExerciseNameSplitBarbellGoodMorning LegCurlExerciseName = 7 LegCurlExerciseNameSplitStanceExtension LegCurlExerciseName = 8 LegCurlExerciseNameStaggeredStanceGoodMorning LegCurlExerciseName = 9 LegCurlExerciseNameSwissBallHipRaiseAndLegCurl LegCurlExerciseName = 10 LegCurlExerciseNameZercherGoodMorning LegCurlExerciseName = 11 LegCurlExerciseNameInvalid LegCurlExerciseName = 0xFFFF )
func (LegCurlExerciseName) String ¶
func (i LegCurlExerciseName) String() string
type LegRaiseExerciseName ¶
type LegRaiseExerciseName uint16
LegRaiseExerciseName represents the leg_raise_exercise_name FIT type.
const ( LegRaiseExerciseNameHangingKneeRaise LegRaiseExerciseName = 0 LegRaiseExerciseNameHangingLegRaise LegRaiseExerciseName = 1 LegRaiseExerciseNameWeightedHangingLegRaise LegRaiseExerciseName = 2 LegRaiseExerciseNameHangingSingleLegRaise LegRaiseExerciseName = 3 LegRaiseExerciseNameWeightedHangingSingleLegRaise LegRaiseExerciseName = 4 LegRaiseExerciseNameKettlebellLegRaises LegRaiseExerciseName = 5 LegRaiseExerciseNameLegLoweringDrill LegRaiseExerciseName = 6 LegRaiseExerciseNameWeightedLegLoweringDrill LegRaiseExerciseName = 7 LegRaiseExerciseNameLyingStraightLegRaise LegRaiseExerciseName = 8 LegRaiseExerciseNameWeightedLyingStraightLegRaise LegRaiseExerciseName = 9 LegRaiseExerciseNameMedicineBallLegDrops LegRaiseExerciseName = 10 LegRaiseExerciseNameQuadrupedLegRaise LegRaiseExerciseName = 11 LegRaiseExerciseNameWeightedQuadrupedLegRaise LegRaiseExerciseName = 12 LegRaiseExerciseNameReverseLegRaise LegRaiseExerciseName = 13 LegRaiseExerciseNameWeightedReverseLegRaise LegRaiseExerciseName = 14 LegRaiseExerciseNameReverseLegRaiseOnSwissBall LegRaiseExerciseName = 15 LegRaiseExerciseNameWeightedReverseLegRaiseOnSwissBall LegRaiseExerciseName = 16 LegRaiseExerciseNameSingleLegLoweringDrill LegRaiseExerciseName = 17 LegRaiseExerciseNameWeightedSingleLegLoweringDrill LegRaiseExerciseName = 18 LegRaiseExerciseNameWeightedHangingKneeRaise LegRaiseExerciseName = 19 LegRaiseExerciseNameLateralStepover LegRaiseExerciseName = 20 LegRaiseExerciseNameWeightedLateralStepover LegRaiseExerciseName = 21 LegRaiseExerciseNameInvalid LegRaiseExerciseName = 0xFFFF )
func (LegRaiseExerciseName) String ¶
func (i LegRaiseExerciseName) String() string
type LengthMsg ¶
type LengthMsg struct { MessageIndex MessageIndex Timestamp time.Time Event Event EventType EventType StartTime time.Time TotalElapsedTime uint32 TotalTimerTime uint32 TotalStrokes uint16 AvgSpeed uint16 SwimStroke SwimStroke AvgSwimmingCadence uint8 EventGroup uint8 TotalCalories uint16 LengthType LengthType PlayerScore uint16 OpponentScore uint16 StrokeCount []uint16 // stroke_type enum used as the index ZoneCount []uint16 // zone number used as the index }
LengthMsg represents the length FIT message type.
func NewLengthMsg ¶
func NewLengthMsg() *LengthMsg
NewLengthMsg returns a length FIT message initialized to all-invalid values.
func (*LengthMsg) GetAvgSpeedScaled ¶
GetAvgSpeedScaled returns AvgSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*LengthMsg) GetTotalElapsedTimeScaled ¶
GetTotalElapsedTimeScaled returns TotalElapsedTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*LengthMsg) GetTotalTimerTimeScaled ¶
GetTotalTimerTimeScaled returns TotalTimerTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
type LengthType ¶
type LengthType byte
LengthType represents the length_type FIT type.
const ( LengthTypeIdle LengthType = 0 // Rest period. Length with no strokes LengthTypeActive LengthType = 1 // Length with strokes. LengthTypeInvalid LengthType = 0xFF )
func (LengthType) String ¶
func (i LengthType) String() string
type LocalDeviceType ¶
type LocalDeviceType uint8
LocalDeviceType represents the local_device_type FIT type.
const (
LocalDeviceTypeInvalid LocalDeviceType = 0xFF
)
func (LocalDeviceType) String ¶
func (i LocalDeviceType) String() string
type LocaltimeIntoDay ¶
type LocaltimeIntoDay uint32
LocaltimeIntoDay represents the localtime_into_day FIT type.
const (
LocaltimeIntoDayInvalid LocaltimeIntoDay = 0xFFFFFFFF
)
func (LocaltimeIntoDay) String ¶
func (i LocaltimeIntoDay) String() string
type Logger ¶
type Logger interface { Print(args ...interface{}) Printf(format string, args ...interface{}) Println(args ...interface{}) }
Logger mimics a subset of golang's standard Logger as an interface.
type Longitude ¶
type Longitude struct {
// contains filtered or unexported fields
}
Longitude represents the geographical coordinate longitude.
func NewLongitude ¶
NewLongitude returns a new longitude from a semicircle.
func NewLongitudeDegrees ¶
NewLongitudeDegrees returns a new longitude from a degree. If degrees is outside the range of a longitude (+/- 180°) then an invalid longitude is returned.
func NewLongitudeInvalid ¶
func NewLongitudeInvalid() Longitude
NewLongitudeInvalid returns an invalid longitude. The underlying storage is set to the invalid value of the FIT base type (sint32) used to represent a longitude.
func (Longitude) Semicircles ¶
Semicircles returns l in semicircles.
type LungeExerciseName ¶
type LungeExerciseName uint16
LungeExerciseName represents the lunge_exercise_name FIT type.
const ( LungeExerciseNameOverheadLunge LungeExerciseName = 0 LungeExerciseNameLungeMatrix LungeExerciseName = 1 LungeExerciseNameWeightedLungeMatrix LungeExerciseName = 2 LungeExerciseNameAlternatingBarbellForwardLunge LungeExerciseName = 3 LungeExerciseNameAlternatingDumbbellLungeWithReach LungeExerciseName = 4 LungeExerciseNameBackFootElevatedDumbbellSplitSquat LungeExerciseName = 5 LungeExerciseNameBarbellBoxLunge LungeExerciseName = 6 LungeExerciseNameBarbellBulgarianSplitSquat LungeExerciseName = 7 LungeExerciseNameBarbellCrossoverLunge LungeExerciseName = 8 LungeExerciseNameBarbellFrontSplitSquat LungeExerciseName = 9 LungeExerciseNameBarbellLunge LungeExerciseName = 10 LungeExerciseNameBarbellReverseLunge LungeExerciseName = 11 LungeExerciseNameBarbellSideLunge LungeExerciseName = 12 LungeExerciseNameBarbellSplitSquat LungeExerciseName = 13 LungeExerciseNameCoreControlRearLunge LungeExerciseName = 14 LungeExerciseNameDiagonalLunge LungeExerciseName = 15 LungeExerciseNameDropLunge LungeExerciseName = 16 LungeExerciseNameDumbbellBoxLunge LungeExerciseName = 17 LungeExerciseNameDumbbellBulgarianSplitSquat LungeExerciseName = 18 LungeExerciseNameDumbbellCrossoverLunge LungeExerciseName = 19 LungeExerciseNameDumbbellDiagonalLunge LungeExerciseName = 20 LungeExerciseNameDumbbellLunge LungeExerciseName = 21 LungeExerciseNameDumbbellLungeAndRotation LungeExerciseName = 22 LungeExerciseNameDumbbellOverheadBulgarianSplitSquat LungeExerciseName = 23 LungeExerciseNameDumbbellReverseLungeToHighKneeAndPress LungeExerciseName = 24 LungeExerciseNameDumbbellSideLunge LungeExerciseName = 25 LungeExerciseNameElevatedFrontFootBarbellSplitSquat LungeExerciseName = 26 LungeExerciseNameFrontFootElevatedDumbbellSplitSquat LungeExerciseName = 27 LungeExerciseNameGunslingerLunge LungeExerciseName = 28 LungeExerciseNameLawnmowerLunge LungeExerciseName = 29 LungeExerciseNameLowLungeWithIsometricAdduction LungeExerciseName = 30 LungeExerciseNameLowSideToSideLunge LungeExerciseName = 31 LungeExerciseNameLunge LungeExerciseName = 32 LungeExerciseNameWeightedLunge LungeExerciseName = 33 LungeExerciseNameLungeWithArmReach LungeExerciseName = 34 LungeExerciseNameLungeWithDiagonalReach LungeExerciseName = 35 LungeExerciseNameLungeWithSideBend LungeExerciseName = 36 LungeExerciseNameOffsetDumbbellLunge LungeExerciseName = 37 LungeExerciseNameOffsetDumbbellReverseLunge LungeExerciseName = 38 LungeExerciseNameOverheadBulgarianSplitSquat LungeExerciseName = 39 LungeExerciseNameOverheadDumbbellReverseLunge LungeExerciseName = 40 LungeExerciseNameOverheadDumbbellSplitSquat LungeExerciseName = 41 LungeExerciseNameOverheadLungeWithRotation LungeExerciseName = 42 LungeExerciseNameReverseBarbellBoxLunge LungeExerciseName = 43 LungeExerciseNameReverseBoxLunge LungeExerciseName = 44 LungeExerciseNameReverseDumbbellBoxLunge LungeExerciseName = 45 LungeExerciseNameReverseDumbbellCrossoverLunge LungeExerciseName = 46 LungeExerciseNameReverseDumbbellDiagonalLunge LungeExerciseName = 47 LungeExerciseNameReverseLungeWithReachBack LungeExerciseName = 48 LungeExerciseNameWeightedReverseLungeWithReachBack LungeExerciseName = 49 LungeExerciseNameReverseLungeWithTwistAndOverheadReach LungeExerciseName = 50 LungeExerciseNameWeightedReverseLungeWithTwistAndOverheadReach LungeExerciseName = 51 LungeExerciseNameReverseSlidingBoxLunge LungeExerciseName = 52 LungeExerciseNameWeightedReverseSlidingBoxLunge LungeExerciseName = 53 LungeExerciseNameReverseSlidingLunge LungeExerciseName = 54 LungeExerciseNameWeightedReverseSlidingLunge LungeExerciseName = 55 LungeExerciseNameRunnersLungeToBalance LungeExerciseName = 56 LungeExerciseNameWeightedRunnersLungeToBalance LungeExerciseName = 57 LungeExerciseNameShiftingSideLunge LungeExerciseName = 58 LungeExerciseNameSideAndCrossoverLunge LungeExerciseName = 59 LungeExerciseNameWeightedSideAndCrossoverLunge LungeExerciseName = 60 LungeExerciseNameSideLunge LungeExerciseName = 61 LungeExerciseNameWeightedSideLunge LungeExerciseName = 62 LungeExerciseNameSideLungeAndPress LungeExerciseName = 63 LungeExerciseNameSideLungeJumpOff LungeExerciseName = 64 LungeExerciseNameSideLungeSweep LungeExerciseName = 65 LungeExerciseNameWeightedSideLungeSweep LungeExerciseName = 66 LungeExerciseNameSideLungeToCrossoverTap LungeExerciseName = 67 LungeExerciseNameWeightedSideLungeToCrossoverTap LungeExerciseName = 68 LungeExerciseNameSideToSideLungeChops LungeExerciseName = 69 LungeExerciseNameWeightedSideToSideLungeChops LungeExerciseName = 70 LungeExerciseNameSiffJumpLunge LungeExerciseName = 71 LungeExerciseNameWeightedSiffJumpLunge LungeExerciseName = 72 LungeExerciseNameSingleArmReverseLungeAndPress LungeExerciseName = 73 LungeExerciseNameSlidingLateralLunge LungeExerciseName = 74 LungeExerciseNameWeightedSlidingLateralLunge LungeExerciseName = 75 LungeExerciseNameWalkingBarbellLunge LungeExerciseName = 76 LungeExerciseNameWalkingDumbbellLunge LungeExerciseName = 77 LungeExerciseNameWalkingLunge LungeExerciseName = 78 LungeExerciseNameWeightedWalkingLunge LungeExerciseName = 79 LungeExerciseNameWideGripOverheadBarbellSplitSquat LungeExerciseName = 80 LungeExerciseNameInvalid LungeExerciseName = 0xFFFF )
func (LungeExerciseName) String ¶
func (i LungeExerciseName) String() string
type MagnetometerDataMsg ¶
type MagnetometerDataMsg struct { }
MagnetometerDataMsg represents the magnetometer_data FIT message type.
func NewMagnetometerDataMsg ¶
func NewMagnetometerDataMsg() *MagnetometerDataMsg
NewMagnetometerDataMsg returns a magnetometer_data FIT message initialized to all-invalid values.
type Manufacturer ¶
type Manufacturer uint16
Manufacturer represents the manufacturer FIT type.
const ( ManufacturerGarmin Manufacturer = 1 ManufacturerGarminFr405Antfs Manufacturer = 2 // Do not use. Used by FR405 for ANTFS man id. ManufacturerZephyr Manufacturer = 3 ManufacturerDayton Manufacturer = 4 ManufacturerIdt Manufacturer = 5 ManufacturerSrm Manufacturer = 6 ManufacturerQuarq Manufacturer = 7 ManufacturerIbike Manufacturer = 8 ManufacturerSaris Manufacturer = 9 ManufacturerSparkHk Manufacturer = 10 ManufacturerTanita Manufacturer = 11 ManufacturerEchowell Manufacturer = 12 ManufacturerDynastreamOem Manufacturer = 13 ManufacturerNautilus Manufacturer = 14 ManufacturerDynastream Manufacturer = 15 ManufacturerTimex Manufacturer = 16 ManufacturerMetrigear Manufacturer = 17 ManufacturerXelic Manufacturer = 18 ManufacturerBeurer Manufacturer = 19 ManufacturerCardiosport Manufacturer = 20 ManufacturerAAndD Manufacturer = 21 ManufacturerHmm Manufacturer = 22 ManufacturerSuunto Manufacturer = 23 ManufacturerThitaElektronik Manufacturer = 24 ManufacturerGpulse Manufacturer = 25 ManufacturerCleanMobile Manufacturer = 26 ManufacturerPedalBrain Manufacturer = 27 ManufacturerPeaksware Manufacturer = 28 ManufacturerSaxonar Manufacturer = 29 ManufacturerLemondFitness Manufacturer = 30 ManufacturerDexcom Manufacturer = 31 ManufacturerWahooFitness Manufacturer = 32 ManufacturerOctaneFitness Manufacturer = 33 ManufacturerArchinoetics Manufacturer = 34 ManufacturerTheHurtBox Manufacturer = 35 ManufacturerCitizenSystems Manufacturer = 36 ManufacturerMagellan Manufacturer = 37 ManufacturerOsynce Manufacturer = 38 ManufacturerHolux Manufacturer = 39 ManufacturerConcept2 Manufacturer = 40 ManufacturerOneGiantLeap Manufacturer = 42 ManufacturerAceSensor Manufacturer = 43 ManufacturerBrimBrothers Manufacturer = 44 ManufacturerXplova Manufacturer = 45 ManufacturerPerceptionDigital Manufacturer = 46 ManufacturerBf1systems Manufacturer = 47 ManufacturerPioneer Manufacturer = 48 ManufacturerSpantec Manufacturer = 49 ManufacturerMetalogics Manufacturer = 50 Manufacturer4iiiis Manufacturer = 51 ManufacturerSeikoEpson Manufacturer = 52 ManufacturerSeikoEpsonOem Manufacturer = 53 ManufacturerIforPowell Manufacturer = 54 ManufacturerMaxwellGuider Manufacturer = 55 ManufacturerStarTrac Manufacturer = 56 ManufacturerBreakaway Manufacturer = 57 ManufacturerAlatechTechnologyLtd Manufacturer = 58 ManufacturerMioTechnologyEurope Manufacturer = 59 ManufacturerRotor Manufacturer = 60 ManufacturerGeonaute Manufacturer = 61 ManufacturerIdBike Manufacturer = 62 ManufacturerSpecialized Manufacturer = 63 ManufacturerWtek Manufacturer = 64 ManufacturerPhysicalEnterprises Manufacturer = 65 ManufacturerNorthPoleEngineering Manufacturer = 66 ManufacturerBkool Manufacturer = 67 ManufacturerCateye Manufacturer = 68 ManufacturerStagesCycling Manufacturer = 69 ManufacturerSigmasport Manufacturer = 70 ManufacturerTomtom Manufacturer = 71 ManufacturerPeripedal Manufacturer = 72 ManufacturerWattbike Manufacturer = 73 ManufacturerMoxy Manufacturer = 76 ManufacturerCiclosport Manufacturer = 77 ManufacturerPowerbahn Manufacturer = 78 ManufacturerAcornProjectsAps Manufacturer = 79 ManufacturerLifebeam Manufacturer = 80 ManufacturerBontrager Manufacturer = 81 ManufacturerWellgo Manufacturer = 82 ManufacturerScosche Manufacturer = 83 ManufacturerMagura Manufacturer = 84 ManufacturerWoodway Manufacturer = 85 ManufacturerElite Manufacturer = 86 ManufacturerNielsenKellerman Manufacturer = 87 ManufacturerDkCity Manufacturer = 88 ManufacturerTacx Manufacturer = 89 ManufacturerDirectionTechnology Manufacturer = 90 ManufacturerMagtonic Manufacturer = 91 Manufacturer1partcarbon Manufacturer = 92 ManufacturerInsideRideTechnologies Manufacturer = 93 ManufacturerSoundOfMotion Manufacturer = 94 ManufacturerStryd Manufacturer = 95 ManufacturerIcg Manufacturer = 96 // Indoorcycling Group ManufacturerMiPulse Manufacturer = 97 ManufacturerBsxAthletics Manufacturer = 98 ManufacturerLook Manufacturer = 99 ManufacturerCampagnoloSrl Manufacturer = 100 ManufacturerBodyBikeSmart Manufacturer = 101 ManufacturerPraxisworks Manufacturer = 102 ManufacturerLimitsTechnology Manufacturer = 103 // Limits Technology Ltd. ManufacturerTopactionTechnology Manufacturer = 104 // TopAction Technology Inc. ManufacturerCosinuss Manufacturer = 105 ManufacturerFitcare Manufacturer = 106 ManufacturerMagene Manufacturer = 107 ManufacturerGiantManufacturingCo Manufacturer = 108 ManufacturerTigrasport Manufacturer = 109 // Tigrasport ManufacturerSalutron Manufacturer = 110 ManufacturerTechnogym Manufacturer = 111 ManufacturerBrytonSensors Manufacturer = 112 ManufacturerLatitudeLimited Manufacturer = 113 ManufacturerSoaringTechnology Manufacturer = 114 ManufacturerIgpsport Manufacturer = 115 ManufacturerThinkrider Manufacturer = 116 ManufacturerGopherSport Manufacturer = 117 ManufacturerWaterrower Manufacturer = 118 ManufacturerOrangetheory Manufacturer = 119 ManufacturerInpeak Manufacturer = 120 ManufacturerKinetic Manufacturer = 121 ManufacturerJohnsonHealthTech Manufacturer = 122 ManufacturerPolarElectro Manufacturer = 123 ManufacturerSeesense Manufacturer = 124 ManufacturerNciTechnology Manufacturer = 125 ManufacturerIqsquare Manufacturer = 126 ManufacturerLeomo Manufacturer = 127 ManufacturerIfitCom Manufacturer = 128 ManufacturerCorosByte Manufacturer = 129 ManufacturerVersaDesign Manufacturer = 130 ManufacturerChileaf Manufacturer = 131 ManufacturerCycplus Manufacturer = 132 ManufacturerGravaaByte Manufacturer = 133 ManufacturerDevelopment Manufacturer = 255 ManufacturerHealthandlife Manufacturer = 257 ManufacturerLezyne Manufacturer = 258 ManufacturerScribeLabs Manufacturer = 259 ManufacturerZwift Manufacturer = 260 ManufacturerWatteam Manufacturer = 261 ManufacturerRecon Manufacturer = 262 ManufacturerFaveroElectronics Manufacturer = 263 ManufacturerDynovelo Manufacturer = 264 ManufacturerStrava Manufacturer = 265 ManufacturerPrecor Manufacturer = 266 // Amer Sports ManufacturerBryton Manufacturer = 267 ManufacturerSram Manufacturer = 268 ManufacturerCobi Manufacturer = 270 // COBI GmbH ManufacturerSpivi Manufacturer = 271 ManufacturerMioMagellan Manufacturer = 272 ManufacturerEvesports Manufacturer = 273 ManufacturerSensitivusGauge Manufacturer = 274 ManufacturerPodoon Manufacturer = 275 ManufacturerLifeTimeFitness Manufacturer = 276 ManufacturerFalcoEMotors Manufacturer = 277 // Falco eMotors Inc. ManufacturerMinoura Manufacturer = 278 ManufacturerCycliq Manufacturer = 279 ManufacturerLuxottica Manufacturer = 280 ManufacturerTrainerRoad Manufacturer = 281 ManufacturerTheSufferfest Manufacturer = 282 ManufacturerFullspeedahead Manufacturer = 283 ManufacturerVirtualtraining Manufacturer = 284 ManufacturerFeedbacksports Manufacturer = 285 ManufacturerOmata Manufacturer = 286 ManufacturerVdo Manufacturer = 287 ManufacturerMagneticdays Manufacturer = 288 ManufacturerHammerhead Manufacturer = 289 ManufacturerKineticByKurt Manufacturer = 290 ManufacturerShapelog Manufacturer = 291 ManufacturerDabuziduo Manufacturer = 292 ManufacturerJetblack Manufacturer = 293 ManufacturerCoros Manufacturer = 294 ManufacturerVirtugo Manufacturer = 295 ManufacturerVelosense Manufacturer = 296 ManufacturerCycligentinc Manufacturer = 297 ManufacturerTrailforks Manufacturer = 298 ManufacturerMahleEbikemotion Manufacturer = 299 ManufacturerNurvv Manufacturer = 300 ManufacturerMicroprogram Manufacturer = 301 ManufacturerZone5cloud Manufacturer = 302 ManufacturerGreenteg Manufacturer = 303 ManufacturerYamahaMotors Manufacturer = 304 ManufacturerWhoop Manufacturer = 305 ManufacturerGravaa Manufacturer = 306 ManufacturerOnelap Manufacturer = 307 ManufacturerMonarkExercise Manufacturer = 308 ManufacturerForm Manufacturer = 309 ManufacturerActigraphcorp Manufacturer = 5759 ManufacturerInvalid Manufacturer = 0xFFFF )
func (Manufacturer) String ¶
func (i Manufacturer) String() string
type MemoGlobMsg ¶
type MemoGlobMsg struct { }
MemoGlobMsg represents the memo_glob FIT message type.
func NewMemoGlobMsg ¶
func NewMemoGlobMsg() *MemoGlobMsg
NewMemoGlobMsg returns a memo_glob FIT message initialized to all-invalid values.
type MesgCapabilitiesMsg ¶
type MesgCapabilitiesMsg struct { MessageIndex MessageIndex File FileType MesgNum MesgNum CountType MesgCount Count uint16 }
MesgCapabilitiesMsg represents the mesg_capabilities FIT message type.
func NewMesgCapabilitiesMsg ¶
func NewMesgCapabilitiesMsg() *MesgCapabilitiesMsg
NewMesgCapabilitiesMsg returns a mesg_capabilities FIT message initialized to all-invalid values.
func (*MesgCapabilitiesMsg) GetCount ¶
func (x *MesgCapabilitiesMsg) GetCount() interface{}
GetCount returns the appropriate Count subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
type MesgNum ¶
type MesgNum uint16
MesgNum represents the mesg_num FIT type.
const ( MesgNumFileId MesgNum = 0 MesgNumCapabilities MesgNum = 1 MesgNumDeviceSettings MesgNum = 2 MesgNumUserProfile MesgNum = 3 MesgNumHrmProfile MesgNum = 4 MesgNumSdmProfile MesgNum = 5 MesgNumBikeProfile MesgNum = 6 MesgNumZonesTarget MesgNum = 7 MesgNumHrZone MesgNum = 8 MesgNumPowerZone MesgNum = 9 MesgNumMetZone MesgNum = 10 MesgNumSport MesgNum = 12 MesgNumGoal MesgNum = 15 MesgNumSession MesgNum = 18 MesgNumLap MesgNum = 19 MesgNumRecord MesgNum = 20 MesgNumEvent MesgNum = 21 MesgNumDeviceInfo MesgNum = 23 MesgNumWorkout MesgNum = 26 MesgNumWorkoutStep MesgNum = 27 MesgNumSchedule MesgNum = 28 MesgNumWeightScale MesgNum = 30 MesgNumCourse MesgNum = 31 MesgNumCoursePoint MesgNum = 32 MesgNumTotals MesgNum = 33 MesgNumActivity MesgNum = 34 MesgNumSoftware MesgNum = 35 MesgNumFileCapabilities MesgNum = 37 MesgNumMesgCapabilities MesgNum = 38 MesgNumFieldCapabilities MesgNum = 39 MesgNumFileCreator MesgNum = 49 MesgNumBloodPressure MesgNum = 51 MesgNumSpeedZone MesgNum = 53 MesgNumMonitoring MesgNum = 55 MesgNumTrainingFile MesgNum = 72 MesgNumHrv MesgNum = 78 MesgNumAntRx MesgNum = 80 MesgNumAntTx MesgNum = 81 MesgNumAntChannelId MesgNum = 82 MesgNumLength MesgNum = 101 MesgNumMonitoringInfo MesgNum = 103 MesgNumPad MesgNum = 105 MesgNumSlaveDevice MesgNum = 106 MesgNumConnectivity MesgNum = 127 MesgNumWeatherConditions MesgNum = 128 MesgNumWeatherAlert MesgNum = 129 MesgNumCadenceZone MesgNum = 131 MesgNumHr MesgNum = 132 MesgNumSegmentLap MesgNum = 142 MesgNumMemoGlob MesgNum = 145 MesgNumSegmentId MesgNum = 148 MesgNumSegmentLeaderboardEntry MesgNum = 149 MesgNumSegmentPoint MesgNum = 150 MesgNumSegmentFile MesgNum = 151 MesgNumWorkoutSession MesgNum = 158 MesgNumWatchfaceSettings MesgNum = 159 MesgNumGpsMetadata MesgNum = 160 MesgNumCameraEvent MesgNum = 161 MesgNumTimestampCorrelation MesgNum = 162 MesgNumGyroscopeData MesgNum = 164 MesgNumAccelerometerData MesgNum = 165 MesgNumThreeDSensorCalibration MesgNum = 167 MesgNumVideoFrame MesgNum = 169 MesgNumObdiiData MesgNum = 174 MesgNumNmeaSentence MesgNum = 177 MesgNumAviationAttitude MesgNum = 178 MesgNumVideo MesgNum = 184 MesgNumVideoTitle MesgNum = 185 MesgNumVideoDescription MesgNum = 186 MesgNumVideoClip MesgNum = 187 MesgNumOhrSettings MesgNum = 188 MesgNumExdScreenConfiguration MesgNum = 200 MesgNumExdDataFieldConfiguration MesgNum = 201 MesgNumExdDataConceptConfiguration MesgNum = 202 MesgNumFieldDescription MesgNum = 206 MesgNumDeveloperDataId MesgNum = 207 MesgNumMagnetometerData MesgNum = 208 MesgNumBarometerData MesgNum = 209 MesgNumOneDSensorCalibration MesgNum = 210 MesgNumSet MesgNum = 225 MesgNumStressLevel MesgNum = 227 MesgNumDiveSettings MesgNum = 258 MesgNumDiveGas MesgNum = 259 MesgNumDiveAlarm MesgNum = 262 MesgNumExerciseTitle MesgNum = 264 MesgNumDiveSummary MesgNum = 268 MesgNumJump MesgNum = 285 MesgNumClimbPro MesgNum = 317 MesgNumMfgRangeMin MesgNum = 0xFF00 // 0xFF00 - 0xFFFE reserved for manufacturer specific messages MesgNumMfgRangeMax MesgNum = 0xFFFE // 0xFF00 - 0xFFFE reserved for manufacturer specific messages MesgNumInvalid MesgNum = 0xFFFF )
type MessageIndex ¶
type MessageIndex uint16
MessageIndex represents the message_index FIT type.
const ( MessageIndexSelected MessageIndex = 0x8000 // message is selected if set MessageIndexReserved MessageIndex = 0x7000 // reserved (default 0) MessageIndexMask MessageIndex = 0x0FFF // index MessageIndexInvalid MessageIndex = 0xFFFF )
func (MessageIndex) String ¶
func (i MessageIndex) String() string
type MetZoneMsg ¶
type MetZoneMsg struct { MessageIndex MessageIndex HighBpm uint8 Calories uint16 FatCalories uint8 }
MetZoneMsg represents the met_zone FIT message type.
func NewMetZoneMsg ¶
func NewMetZoneMsg() *MetZoneMsg
NewMetZoneMsg returns a met_zone FIT message initialized to all-invalid values.
func (*MetZoneMsg) GetCaloriesScaled ¶
func (x *MetZoneMsg) GetCaloriesScaled() float64
GetCaloriesScaled returns Calories with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kcal / min
func (*MetZoneMsg) GetFatCaloriesScaled ¶
func (x *MetZoneMsg) GetFatCaloriesScaled() float64
GetFatCaloriesScaled returns FatCalories with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kcal / min
type MonitoringAFile ¶
type MonitoringAFile struct { MonitoringInfo *MonitoringInfoMsg Monitorings []*MonitoringMsg DeviceInfos []*DeviceInfoMsg }
MonitoringAFile represents the MonitoringA FIT file type. Records detailed monitoring data (i.e. logging interval < 24 Hr).
type MonitoringBFile ¶
type MonitoringBFile struct { MonitoringInfo *MonitoringInfoMsg Monitorings []*MonitoringMsg DeviceInfos []*DeviceInfoMsg }
MonitoringBFile represents the MonitoringB FIT file type. Records detailed monitoring data (i.e. logging interval < 24 Hr).
type MonitoringDailyFile ¶
type MonitoringDailyFile struct { MonitoringInfo *MonitoringInfoMsg Monitorings []*MonitoringMsg }
MonitoringDailyFile represents the Daily Monitoring FIT file type. Records daily summary monitoring data (i.e. logging interval = 24 hour).
type MonitoringInfoMsg ¶
type MonitoringInfoMsg struct { Timestamp time.Time LocalTimestamp time.Time // Use to convert activity timestamps to local time if device does not support time zone and daylight savings time correction. }
MonitoringInfoMsg represents the monitoring_info FIT message type.
func NewMonitoringInfoMsg ¶
func NewMonitoringInfoMsg() *MonitoringInfoMsg
NewMonitoringInfoMsg returns a monitoring_info FIT message initialized to all-invalid values.
type MonitoringMsg ¶
type MonitoringMsg struct { Timestamp time.Time // Must align to logging interval, for example, time must be 00:00:00 for daily log. DeviceIndex DeviceIndex // Associates this data to device_info message. Not required for file with single device (sensor). Calories uint16 // Accumulated total calories. Maintained by MonitoringReader for each activity_type. See SDK documentation Distance uint32 // Accumulated distance. Maintained by MonitoringReader for each activity_type. See SDK documentation. Cycles uint32 // Accumulated cycles. Maintained by MonitoringReader for each activity_type. See SDK documentation. ActiveTime uint32 ActivityType ActivityType ActivitySubtype ActivitySubtype Distance16 uint16 Cycles16 uint16 ActiveTime16 uint16 LocalTimestamp time.Time // Must align to logging interval, for example, time must be 00:00:00 for daily log. }
MonitoringMsg represents the monitoring FIT message type.
func NewMonitoringMsg ¶
func NewMonitoringMsg() *MonitoringMsg
NewMonitoringMsg returns a monitoring FIT message initialized to all-invalid values.
func (*MonitoringMsg) GetActiveTimeScaled ¶
func (x *MonitoringMsg) GetActiveTimeScaled() float64
GetActiveTimeScaled returns ActiveTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*MonitoringMsg) GetCycles ¶
func (x *MonitoringMsg) GetCycles() interface{}
GetCycles returns the appropriate Cycles subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*MonitoringMsg) GetCyclesScaled ¶
func (x *MonitoringMsg) GetCyclesScaled() float64
GetCyclesScaled returns Cycles with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: cycles
func (*MonitoringMsg) GetDistanceScaled ¶
func (x *MonitoringMsg) GetDistanceScaled() float64
GetDistanceScaled returns Distance with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
type NmeaSentenceMsg ¶
type NmeaSentenceMsg struct { Timestamp time.Time // Timestamp message was output TimestampMs uint16 // Fractional part of timestamp, added to timestamp Sentence string // NMEA sentence }
NmeaSentenceMsg represents the nmea_sentence FIT message type.
func NewNmeaSentenceMsg ¶
func NewNmeaSentenceMsg() *NmeaSentenceMsg
NewNmeaSentenceMsg returns a nmea_sentence FIT message initialized to all-invalid values.
type NotSupportedError ¶
type NotSupportedError string
A NotSupportedError reports that the input uses a valid but unimplemented FIT feature.
func (NotSupportedError) Error ¶
func (e NotSupportedError) Error() string
type ObdiiDataMsg ¶
type ObdiiDataMsg struct { }
ObdiiDataMsg represents the obdii_data FIT message type.
func NewObdiiDataMsg ¶
func NewObdiiDataMsg() *ObdiiDataMsg
NewObdiiDataMsg returns a obdii_data FIT message initialized to all-invalid values.
type OhrSettingsMsg ¶
type OhrSettingsMsg struct { }
OhrSettingsMsg represents the ohr_settings FIT message type.
func NewOhrSettingsMsg ¶
func NewOhrSettingsMsg() *OhrSettingsMsg
NewOhrSettingsMsg returns a ohr_settings FIT message initialized to all-invalid values.
type OlympicLiftExerciseName ¶
type OlympicLiftExerciseName uint16
OlympicLiftExerciseName represents the olympic_lift_exercise_name FIT type.
const ( OlympicLiftExerciseNameBarbellHangPowerClean OlympicLiftExerciseName = 0 OlympicLiftExerciseNameBarbellHangSquatClean OlympicLiftExerciseName = 1 OlympicLiftExerciseNameBarbellPowerClean OlympicLiftExerciseName = 2 OlympicLiftExerciseNameBarbellPowerSnatch OlympicLiftExerciseName = 3 OlympicLiftExerciseNameBarbellSquatClean OlympicLiftExerciseName = 4 OlympicLiftExerciseNameCleanAndJerk OlympicLiftExerciseName = 5 OlympicLiftExerciseNameBarbellHangPowerSnatch OlympicLiftExerciseName = 6 OlympicLiftExerciseNameBarbellHangPull OlympicLiftExerciseName = 7 OlympicLiftExerciseNameBarbellHighPull OlympicLiftExerciseName = 8 OlympicLiftExerciseNameBarbellSnatch OlympicLiftExerciseName = 9 OlympicLiftExerciseNameBarbellSplitJerk OlympicLiftExerciseName = 10 OlympicLiftExerciseNameClean OlympicLiftExerciseName = 11 OlympicLiftExerciseNameDumbbellClean OlympicLiftExerciseName = 12 OlympicLiftExerciseNameDumbbellHangPull OlympicLiftExerciseName = 13 OlympicLiftExerciseNameOneHandDumbbellSplitSnatch OlympicLiftExerciseName = 14 OlympicLiftExerciseNamePushJerk OlympicLiftExerciseName = 15 OlympicLiftExerciseNameSingleArmDumbbellSnatch OlympicLiftExerciseName = 16 OlympicLiftExerciseNameSingleArmHangSnatch OlympicLiftExerciseName = 17 OlympicLiftExerciseNameSingleArmKettlebellSnatch OlympicLiftExerciseName = 18 OlympicLiftExerciseNameSplitJerk OlympicLiftExerciseName = 19 OlympicLiftExerciseNameSquatCleanAndJerk OlympicLiftExerciseName = 20 OlympicLiftExerciseNameInvalid OlympicLiftExerciseName = 0xFFFF )
func (OlympicLiftExerciseName) String ¶
func (i OlympicLiftExerciseName) String() string
type OneDSensorCalibrationMsg ¶
type OneDSensorCalibrationMsg struct { }
OneDSensorCalibrationMsg represents the one_d_sensor_calibration FIT message type.
func NewOneDSensorCalibrationMsg ¶
func NewOneDSensorCalibrationMsg() *OneDSensorCalibrationMsg
NewOneDSensorCalibrationMsg returns a one_d_sensor_calibration FIT message initialized to all-invalid values.
type PlankExerciseName ¶
type PlankExerciseName uint16
PlankExerciseName represents the plank_exercise_name FIT type.
const ( PlankExerciseName45DegreePlank PlankExerciseName = 0 PlankExerciseNameWeighted45DegreePlank PlankExerciseName = 1 PlankExerciseName90DegreeStaticHold PlankExerciseName = 2 PlankExerciseNameWeighted90DegreeStaticHold PlankExerciseName = 3 PlankExerciseNameBearCrawl PlankExerciseName = 4 PlankExerciseNameWeightedBearCrawl PlankExerciseName = 5 PlankExerciseNameCrossBodyMountainClimber PlankExerciseName = 6 PlankExerciseNameWeightedCrossBodyMountainClimber PlankExerciseName = 7 PlankExerciseNameElbowPlankPikeJacks PlankExerciseName = 8 PlankExerciseNameWeightedElbowPlankPikeJacks PlankExerciseName = 9 PlankExerciseNameElevatedFeetPlank PlankExerciseName = 10 PlankExerciseNameWeightedElevatedFeetPlank PlankExerciseName = 11 PlankExerciseNameElevatorAbs PlankExerciseName = 12 PlankExerciseNameWeightedElevatorAbs PlankExerciseName = 13 PlankExerciseNameExtendedPlank PlankExerciseName = 14 PlankExerciseNameWeightedExtendedPlank PlankExerciseName = 15 PlankExerciseNameFullPlankPasseTwist PlankExerciseName = 16 PlankExerciseNameWeightedFullPlankPasseTwist PlankExerciseName = 17 PlankExerciseNameInchingElbowPlank PlankExerciseName = 18 PlankExerciseNameWeightedInchingElbowPlank PlankExerciseName = 19 PlankExerciseNameInchwormToSidePlank PlankExerciseName = 20 PlankExerciseNameWeightedInchwormToSidePlank PlankExerciseName = 21 PlankExerciseNameKneelingPlank PlankExerciseName = 22 PlankExerciseNameWeightedKneelingPlank PlankExerciseName = 23 PlankExerciseNameKneelingSidePlankWithLegLift PlankExerciseName = 24 PlankExerciseNameWeightedKneelingSidePlankWithLegLift PlankExerciseName = 25 PlankExerciseNameLateralRoll PlankExerciseName = 26 PlankExerciseNameWeightedLateralRoll PlankExerciseName = 27 PlankExerciseNameLyingReversePlank PlankExerciseName = 28 PlankExerciseNameWeightedLyingReversePlank PlankExerciseName = 29 PlankExerciseNameMedicineBallMountainClimber PlankExerciseName = 30 PlankExerciseNameWeightedMedicineBallMountainClimber PlankExerciseName = 31 PlankExerciseNameModifiedMountainClimberAndExtension PlankExerciseName = 32 PlankExerciseNameWeightedModifiedMountainClimberAndExtension PlankExerciseName = 33 PlankExerciseNameMountainClimber PlankExerciseName = 34 PlankExerciseNameWeightedMountainClimber PlankExerciseName = 35 PlankExerciseNameMountainClimberOnSlidingDiscs PlankExerciseName = 36 PlankExerciseNameWeightedMountainClimberOnSlidingDiscs PlankExerciseName = 37 PlankExerciseNameMountainClimberWithFeetOnBosuBall PlankExerciseName = 38 PlankExerciseNameWeightedMountainClimberWithFeetOnBosuBall PlankExerciseName = 39 PlankExerciseNameMountainClimberWithHandsOnBench PlankExerciseName = 40 PlankExerciseNameMountainClimberWithHandsOnSwissBall PlankExerciseName = 41 PlankExerciseNameWeightedMountainClimberWithHandsOnSwissBall PlankExerciseName = 42 PlankExerciseNamePlank PlankExerciseName = 43 PlankExerciseNamePlankJacksWithFeetOnSlidingDiscs PlankExerciseName = 44 PlankExerciseNameWeightedPlankJacksWithFeetOnSlidingDiscs PlankExerciseName = 45 PlankExerciseNamePlankKneeTwist PlankExerciseName = 46 PlankExerciseNameWeightedPlankKneeTwist PlankExerciseName = 47 PlankExerciseNamePlankPikeJumps PlankExerciseName = 48 PlankExerciseNameWeightedPlankPikeJumps PlankExerciseName = 49 PlankExerciseNamePlankPikes PlankExerciseName = 50 PlankExerciseNameWeightedPlankPikes PlankExerciseName = 51 PlankExerciseNamePlankToStandUp PlankExerciseName = 52 PlankExerciseNameWeightedPlankToStandUp PlankExerciseName = 53 PlankExerciseNamePlankWithArmRaise PlankExerciseName = 54 PlankExerciseNameWeightedPlankWithArmRaise PlankExerciseName = 55 PlankExerciseNamePlankWithKneeToElbow PlankExerciseName = 56 PlankExerciseNameWeightedPlankWithKneeToElbow PlankExerciseName = 57 PlankExerciseNamePlankWithObliqueCrunch PlankExerciseName = 58 PlankExerciseNameWeightedPlankWithObliqueCrunch PlankExerciseName = 59 PlankExerciseNamePlyometricSidePlank PlankExerciseName = 60 PlankExerciseNameWeightedPlyometricSidePlank PlankExerciseName = 61 PlankExerciseNameRollingSidePlank PlankExerciseName = 62 PlankExerciseNameWeightedRollingSidePlank PlankExerciseName = 63 PlankExerciseNameSideKickPlank PlankExerciseName = 64 PlankExerciseNameWeightedSideKickPlank PlankExerciseName = 65 PlankExerciseNameSidePlank PlankExerciseName = 66 PlankExerciseNameWeightedSidePlank PlankExerciseName = 67 PlankExerciseNameSidePlankAndRow PlankExerciseName = 68 PlankExerciseNameWeightedSidePlankAndRow PlankExerciseName = 69 PlankExerciseNameSidePlankLift PlankExerciseName = 70 PlankExerciseNameWeightedSidePlankLift PlankExerciseName = 71 PlankExerciseNameSidePlankWithElbowOnBosuBall PlankExerciseName = 72 PlankExerciseNameWeightedSidePlankWithElbowOnBosuBall PlankExerciseName = 73 PlankExerciseNameSidePlankWithFeetOnBench PlankExerciseName = 74 PlankExerciseNameWeightedSidePlankWithFeetOnBench PlankExerciseName = 75 PlankExerciseNameSidePlankWithKneeCircle PlankExerciseName = 76 PlankExerciseNameWeightedSidePlankWithKneeCircle PlankExerciseName = 77 PlankExerciseNameSidePlankWithKneeTuck PlankExerciseName = 78 PlankExerciseNameWeightedSidePlankWithKneeTuck PlankExerciseName = 79 PlankExerciseNameSidePlankWithLegLift PlankExerciseName = 80 PlankExerciseNameWeightedSidePlankWithLegLift PlankExerciseName = 81 PlankExerciseNameSidePlankWithReachUnder PlankExerciseName = 82 PlankExerciseNameWeightedSidePlankWithReachUnder PlankExerciseName = 83 PlankExerciseNameSingleLegElevatedFeetPlank PlankExerciseName = 84 PlankExerciseNameWeightedSingleLegElevatedFeetPlank PlankExerciseName = 85 PlankExerciseNameSingleLegFlexAndExtend PlankExerciseName = 86 PlankExerciseNameWeightedSingleLegFlexAndExtend PlankExerciseName = 87 PlankExerciseNameSingleLegSidePlank PlankExerciseName = 88 PlankExerciseNameWeightedSingleLegSidePlank PlankExerciseName = 89 PlankExerciseNameSpidermanPlank PlankExerciseName = 90 PlankExerciseNameWeightedSpidermanPlank PlankExerciseName = 91 PlankExerciseNameStraightArmPlank PlankExerciseName = 92 PlankExerciseNameWeightedStraightArmPlank PlankExerciseName = 93 PlankExerciseNameStraightArmPlankWithShoulderTouch PlankExerciseName = 94 PlankExerciseNameWeightedStraightArmPlankWithShoulderTouch PlankExerciseName = 95 PlankExerciseNameSwissBallPlank PlankExerciseName = 96 PlankExerciseNameWeightedSwissBallPlank PlankExerciseName = 97 PlankExerciseNameSwissBallPlankLegLift PlankExerciseName = 98 PlankExerciseNameWeightedSwissBallPlankLegLift PlankExerciseName = 99 PlankExerciseNameSwissBallPlankLegLiftAndHold PlankExerciseName = 100 PlankExerciseNameSwissBallPlankWithFeetOnBench PlankExerciseName = 101 PlankExerciseNameWeightedSwissBallPlankWithFeetOnBench PlankExerciseName = 102 PlankExerciseNameSwissBallProneJackknife PlankExerciseName = 103 PlankExerciseNameWeightedSwissBallProneJackknife PlankExerciseName = 104 PlankExerciseNameSwissBallSidePlank PlankExerciseName = 105 PlankExerciseNameWeightedSwissBallSidePlank PlankExerciseName = 106 PlankExerciseNameThreeWayPlank PlankExerciseName = 107 PlankExerciseNameWeightedThreeWayPlank PlankExerciseName = 108 PlankExerciseNameTowelPlankAndKneeIn PlankExerciseName = 109 PlankExerciseNameWeightedTowelPlankAndKneeIn PlankExerciseName = 110 PlankExerciseNameTStabilization PlankExerciseName = 111 PlankExerciseNameWeightedTStabilization PlankExerciseName = 112 PlankExerciseNameTurkishGetUpToSidePlank PlankExerciseName = 113 PlankExerciseNameWeightedTurkishGetUpToSidePlank PlankExerciseName = 114 PlankExerciseNameTwoPointPlank PlankExerciseName = 115 PlankExerciseNameWeightedTwoPointPlank PlankExerciseName = 116 PlankExerciseNameWeightedPlank PlankExerciseName = 117 PlankExerciseNameWideStancePlankWithDiagonalArmLift PlankExerciseName = 118 PlankExerciseNameWeightedWideStancePlankWithDiagonalArmLift PlankExerciseName = 119 PlankExerciseNameWideStancePlankWithDiagonalLegLift PlankExerciseName = 120 PlankExerciseNameWeightedWideStancePlankWithDiagonalLegLift PlankExerciseName = 121 PlankExerciseNameWideStancePlankWithLegLift PlankExerciseName = 122 PlankExerciseNameWeightedWideStancePlankWithLegLift PlankExerciseName = 123 PlankExerciseNameWideStancePlankWithOppositeArmAndLegLift PlankExerciseName = 124 PlankExerciseNameWeightedMountainClimberWithHandsOnBench PlankExerciseName = 125 PlankExerciseNameWeightedSwissBallPlankLegLiftAndHold PlankExerciseName = 126 PlankExerciseNameWeightedWideStancePlankWithOppositeArmAndLegLift PlankExerciseName = 127 PlankExerciseNamePlankWithFeetOnSwissBall PlankExerciseName = 128 PlankExerciseNameSidePlankToPlankWithReachUnder PlankExerciseName = 129 PlankExerciseNameBridgeWithGluteLowerLift PlankExerciseName = 130 PlankExerciseNameBridgeOneLegBridge PlankExerciseName = 131 PlankExerciseNamePlankWithArmVariations PlankExerciseName = 132 PlankExerciseNamePlankWithLegLift PlankExerciseName = 133 PlankExerciseNameReversePlankWithLegPull PlankExerciseName = 134 PlankExerciseNameInvalid PlankExerciseName = 0xFFFF )
func (PlankExerciseName) String ¶
func (i PlankExerciseName) String() string
type PlyoExerciseName ¶
type PlyoExerciseName uint16
PlyoExerciseName represents the plyo_exercise_name FIT type.
const ( PlyoExerciseNameAlternatingJumpLunge PlyoExerciseName = 0 PlyoExerciseNameWeightedAlternatingJumpLunge PlyoExerciseName = 1 PlyoExerciseNameBarbellJumpSquat PlyoExerciseName = 2 PlyoExerciseNameBodyWeightJumpSquat PlyoExerciseName = 3 PlyoExerciseNameWeightedJumpSquat PlyoExerciseName = 4 PlyoExerciseNameCrossKneeStrike PlyoExerciseName = 5 PlyoExerciseNameWeightedCrossKneeStrike PlyoExerciseName = 6 PlyoExerciseNameDepthJump PlyoExerciseName = 7 PlyoExerciseNameWeightedDepthJump PlyoExerciseName = 8 PlyoExerciseNameDumbbellJumpSquat PlyoExerciseName = 9 PlyoExerciseNameDumbbellSplitJump PlyoExerciseName = 10 PlyoExerciseNameFrontKneeStrike PlyoExerciseName = 11 PlyoExerciseNameWeightedFrontKneeStrike PlyoExerciseName = 12 PlyoExerciseNameHighBoxJump PlyoExerciseName = 13 PlyoExerciseNameWeightedHighBoxJump PlyoExerciseName = 14 PlyoExerciseNameIsometricExplosiveBodyWeightJumpSquat PlyoExerciseName = 15 PlyoExerciseNameWeightedIsometricExplosiveJumpSquat PlyoExerciseName = 16 PlyoExerciseNameLateralLeapAndHop PlyoExerciseName = 17 PlyoExerciseNameWeightedLateralLeapAndHop PlyoExerciseName = 18 PlyoExerciseNameLateralPlyoSquats PlyoExerciseName = 19 PlyoExerciseNameWeightedLateralPlyoSquats PlyoExerciseName = 20 PlyoExerciseNameLateralSlide PlyoExerciseName = 21 PlyoExerciseNameWeightedLateralSlide PlyoExerciseName = 22 PlyoExerciseNameMedicineBallOverheadThrows PlyoExerciseName = 23 PlyoExerciseNameMedicineBallSideThrow PlyoExerciseName = 24 PlyoExerciseNameMedicineBallSlam PlyoExerciseName = 25 PlyoExerciseNameSideToSideMedicineBallThrows PlyoExerciseName = 26 PlyoExerciseNameSideToSideShuffleJump PlyoExerciseName = 27 PlyoExerciseNameWeightedSideToSideShuffleJump PlyoExerciseName = 28 PlyoExerciseNameSquatJumpOntoBox PlyoExerciseName = 29 PlyoExerciseNameWeightedSquatJumpOntoBox PlyoExerciseName = 30 PlyoExerciseNameSquatJumpsInAndOut PlyoExerciseName = 31 PlyoExerciseNameWeightedSquatJumpsInAndOut PlyoExerciseName = 32 PlyoExerciseNameInvalid PlyoExerciseName = 0xFFFF )
func (PlyoExerciseName) String ¶
func (i PlyoExerciseName) String() string
type PowerPhaseType ¶
type PowerPhaseType byte
PowerPhaseType represents the power_phase_type FIT type.
const ( PowerPhaseTypePowerPhaseStartAngle PowerPhaseType = 0 PowerPhaseTypePowerPhaseEndAngle PowerPhaseType = 1 PowerPhaseTypePowerPhaseArcLength PowerPhaseType = 2 PowerPhaseTypePowerPhaseCenter PowerPhaseType = 3 PowerPhaseTypeInvalid PowerPhaseType = 0xFF )
func (PowerPhaseType) String ¶
func (i PowerPhaseType) String() string
type PowerZoneMsg ¶
type PowerZoneMsg struct { MessageIndex MessageIndex HighValue uint16 Name string }
PowerZoneMsg represents the power_zone FIT message type.
func NewPowerZoneMsg ¶
func NewPowerZoneMsg() *PowerZoneMsg
NewPowerZoneMsg returns a power_zone FIT message initialized to all-invalid values.
type ProtocolVersion ¶
type ProtocolVersion byte
ProtocolVersion represents the FIT protocol version.
const ( V10 ProtocolVersion = 0x10 V20 ProtocolVersion = 0x20 )
FIT protocol versions.
func CurrentProtocolVersion ¶
func CurrentProtocolVersion() ProtocolVersion
CurrentProtocolVersion returns the current supported FIT protocol version.
func (ProtocolVersion) Major ¶
func (p ProtocolVersion) Major() byte
Major returns the major FIT protocol version.
func (ProtocolVersion) Minor ¶
func (p ProtocolVersion) Minor() byte
Minor returns the minor FIT protocol version.
func (ProtocolVersion) String ¶
func (p ProtocolVersion) String() string
func (ProtocolVersion) Version ¶
func (p ProtocolVersion) Version() byte
Version returns the full FIT protocol version encoded as a single byte.
type PullUpExerciseName ¶
type PullUpExerciseName uint16
PullUpExerciseName represents the pull_up_exercise_name FIT type.
const ( PullUpExerciseNameBandedPullUps PullUpExerciseName = 0 PullUpExerciseName30DegreeLatPulldown PullUpExerciseName = 1 PullUpExerciseNameBandAssistedChinUp PullUpExerciseName = 2 PullUpExerciseNameCloseGripChinUp PullUpExerciseName = 3 PullUpExerciseNameWeightedCloseGripChinUp PullUpExerciseName = 4 PullUpExerciseNameCloseGripLatPulldown PullUpExerciseName = 5 PullUpExerciseNameCrossoverChinUp PullUpExerciseName = 6 PullUpExerciseNameWeightedCrossoverChinUp PullUpExerciseName = 7 PullUpExerciseNameEzBarPullover PullUpExerciseName = 8 PullUpExerciseNameHangingHurdle PullUpExerciseName = 9 PullUpExerciseNameWeightedHangingHurdle PullUpExerciseName = 10 PullUpExerciseNameKneelingLatPulldown PullUpExerciseName = 11 PullUpExerciseNameKneelingUnderhandGripLatPulldown PullUpExerciseName = 12 PullUpExerciseNameLatPulldown PullUpExerciseName = 13 PullUpExerciseNameMixedGripChinUp PullUpExerciseName = 14 PullUpExerciseNameWeightedMixedGripChinUp PullUpExerciseName = 15 PullUpExerciseNameMixedGripPullUp PullUpExerciseName = 16 PullUpExerciseNameWeightedMixedGripPullUp PullUpExerciseName = 17 PullUpExerciseNameReverseGripPulldown PullUpExerciseName = 18 PullUpExerciseNameStandingCablePullover PullUpExerciseName = 19 PullUpExerciseNameStraightArmPulldown PullUpExerciseName = 20 PullUpExerciseNameSwissBallEzBarPullover PullUpExerciseName = 21 PullUpExerciseNameTowelPullUp PullUpExerciseName = 22 PullUpExerciseNameWeightedTowelPullUp PullUpExerciseName = 23 PullUpExerciseNameWeightedPullUp PullUpExerciseName = 24 PullUpExerciseNameWideGripLatPulldown PullUpExerciseName = 25 PullUpExerciseNameWideGripPullUp PullUpExerciseName = 26 PullUpExerciseNameWeightedWideGripPullUp PullUpExerciseName = 27 PullUpExerciseNameBurpeePullUp PullUpExerciseName = 28 PullUpExerciseNameWeightedBurpeePullUp PullUpExerciseName = 29 PullUpExerciseNameJumpingPullUps PullUpExerciseName = 30 PullUpExerciseNameWeightedJumpingPullUps PullUpExerciseName = 31 PullUpExerciseNameKippingPullUp PullUpExerciseName = 32 PullUpExerciseNameWeightedKippingPullUp PullUpExerciseName = 33 PullUpExerciseNameLPullUp PullUpExerciseName = 34 PullUpExerciseNameWeightedLPullUp PullUpExerciseName = 35 PullUpExerciseNameSuspendedChinUp PullUpExerciseName = 36 PullUpExerciseNameWeightedSuspendedChinUp PullUpExerciseName = 37 PullUpExerciseNamePullUp PullUpExerciseName = 38 PullUpExerciseNameInvalid PullUpExerciseName = 0xFFFF )
func (PullUpExerciseName) String ¶
func (i PullUpExerciseName) String() string
type PushUpExerciseName ¶
type PushUpExerciseName uint16
PushUpExerciseName represents the push_up_exercise_name FIT type.
const ( PushUpExerciseNameChestPressWithBand PushUpExerciseName = 0 PushUpExerciseNameAlternatingStaggeredPushUp PushUpExerciseName = 1 PushUpExerciseNameWeightedAlternatingStaggeredPushUp PushUpExerciseName = 2 PushUpExerciseNameAlternatingHandsMedicineBallPushUp PushUpExerciseName = 3 PushUpExerciseNameWeightedAlternatingHandsMedicineBallPushUp PushUpExerciseName = 4 PushUpExerciseNameBosuBallPushUp PushUpExerciseName = 5 PushUpExerciseNameWeightedBosuBallPushUp PushUpExerciseName = 6 PushUpExerciseNameClappingPushUp PushUpExerciseName = 7 PushUpExerciseNameWeightedClappingPushUp PushUpExerciseName = 8 PushUpExerciseNameCloseGripMedicineBallPushUp PushUpExerciseName = 9 PushUpExerciseNameWeightedCloseGripMedicineBallPushUp PushUpExerciseName = 10 PushUpExerciseNameCloseHandsPushUp PushUpExerciseName = 11 PushUpExerciseNameWeightedCloseHandsPushUp PushUpExerciseName = 12 PushUpExerciseNameDeclinePushUp PushUpExerciseName = 13 PushUpExerciseNameWeightedDeclinePushUp PushUpExerciseName = 14 PushUpExerciseNameDiamondPushUp PushUpExerciseName = 15 PushUpExerciseNameWeightedDiamondPushUp PushUpExerciseName = 16 PushUpExerciseNameExplosiveCrossoverPushUp PushUpExerciseName = 17 PushUpExerciseNameWeightedExplosiveCrossoverPushUp PushUpExerciseName = 18 PushUpExerciseNameExplosivePushUp PushUpExerciseName = 19 PushUpExerciseNameWeightedExplosivePushUp PushUpExerciseName = 20 PushUpExerciseNameFeetElevatedSideToSidePushUp PushUpExerciseName = 21 PushUpExerciseNameWeightedFeetElevatedSideToSidePushUp PushUpExerciseName = 22 PushUpExerciseNameHandReleasePushUp PushUpExerciseName = 23 PushUpExerciseNameWeightedHandReleasePushUp PushUpExerciseName = 24 PushUpExerciseNameHandstandPushUp PushUpExerciseName = 25 PushUpExerciseNameWeightedHandstandPushUp PushUpExerciseName = 26 PushUpExerciseNameInclinePushUp PushUpExerciseName = 27 PushUpExerciseNameWeightedInclinePushUp PushUpExerciseName = 28 PushUpExerciseNameIsometricExplosivePushUp PushUpExerciseName = 29 PushUpExerciseNameWeightedIsometricExplosivePushUp PushUpExerciseName = 30 PushUpExerciseNameJudoPushUp PushUpExerciseName = 31 PushUpExerciseNameWeightedJudoPushUp PushUpExerciseName = 32 PushUpExerciseNameKneelingPushUp PushUpExerciseName = 33 PushUpExerciseNameWeightedKneelingPushUp PushUpExerciseName = 34 PushUpExerciseNameMedicineBallChestPass PushUpExerciseName = 35 PushUpExerciseNameMedicineBallPushUp PushUpExerciseName = 36 PushUpExerciseNameWeightedMedicineBallPushUp PushUpExerciseName = 37 PushUpExerciseNameOneArmPushUp PushUpExerciseName = 38 PushUpExerciseNameWeightedOneArmPushUp PushUpExerciseName = 39 PushUpExerciseNameWeightedPushUp PushUpExerciseName = 40 PushUpExerciseNamePushUpAndRow PushUpExerciseName = 41 PushUpExerciseNameWeightedPushUpAndRow PushUpExerciseName = 42 PushUpExerciseNamePushUpPlus PushUpExerciseName = 43 PushUpExerciseNameWeightedPushUpPlus PushUpExerciseName = 44 PushUpExerciseNamePushUpWithFeetOnSwissBall PushUpExerciseName = 45 PushUpExerciseNameWeightedPushUpWithFeetOnSwissBall PushUpExerciseName = 46 PushUpExerciseNamePushUpWithOneHandOnMedicineBall PushUpExerciseName = 47 PushUpExerciseNameWeightedPushUpWithOneHandOnMedicineBall PushUpExerciseName = 48 PushUpExerciseNameShoulderPushUp PushUpExerciseName = 49 PushUpExerciseNameWeightedShoulderPushUp PushUpExerciseName = 50 PushUpExerciseNameSingleArmMedicineBallPushUp PushUpExerciseName = 51 PushUpExerciseNameWeightedSingleArmMedicineBallPushUp PushUpExerciseName = 52 PushUpExerciseNameSpidermanPushUp PushUpExerciseName = 53 PushUpExerciseNameWeightedSpidermanPushUp PushUpExerciseName = 54 PushUpExerciseNameStackedFeetPushUp PushUpExerciseName = 55 PushUpExerciseNameWeightedStackedFeetPushUp PushUpExerciseName = 56 PushUpExerciseNameStaggeredHandsPushUp PushUpExerciseName = 57 PushUpExerciseNameWeightedStaggeredHandsPushUp PushUpExerciseName = 58 PushUpExerciseNameSuspendedPushUp PushUpExerciseName = 59 PushUpExerciseNameWeightedSuspendedPushUp PushUpExerciseName = 60 PushUpExerciseNameSwissBallPushUp PushUpExerciseName = 61 PushUpExerciseNameWeightedSwissBallPushUp PushUpExerciseName = 62 PushUpExerciseNameSwissBallPushUpPlus PushUpExerciseName = 63 PushUpExerciseNameWeightedSwissBallPushUpPlus PushUpExerciseName = 64 PushUpExerciseNameTPushUp PushUpExerciseName = 65 PushUpExerciseNameWeightedTPushUp PushUpExerciseName = 66 PushUpExerciseNameTripleStopPushUp PushUpExerciseName = 67 PushUpExerciseNameWeightedTripleStopPushUp PushUpExerciseName = 68 PushUpExerciseNameWideHandsPushUp PushUpExerciseName = 69 PushUpExerciseNameWeightedWideHandsPushUp PushUpExerciseName = 70 PushUpExerciseNameParalletteHandstandPushUp PushUpExerciseName = 71 PushUpExerciseNameWeightedParalletteHandstandPushUp PushUpExerciseName = 72 PushUpExerciseNameRingHandstandPushUp PushUpExerciseName = 73 PushUpExerciseNameWeightedRingHandstandPushUp PushUpExerciseName = 74 PushUpExerciseNameRingPushUp PushUpExerciseName = 75 PushUpExerciseNameWeightedRingPushUp PushUpExerciseName = 76 PushUpExerciseNamePushUp PushUpExerciseName = 77 PushUpExerciseNamePilatesPushup PushUpExerciseName = 78 PushUpExerciseNameInvalid PushUpExerciseName = 0xFFFF )
func (PushUpExerciseName) String ¶
func (i PushUpExerciseName) String() string
type PwrZoneCalc ¶
type PwrZoneCalc byte
PwrZoneCalc represents the pwr_zone_calc FIT type.
const ( PwrZoneCalcCustom PwrZoneCalc = 0 PwrZoneCalcPercentFtp PwrZoneCalc = 1 PwrZoneCalcInvalid PwrZoneCalc = 0xFF )
func (PwrZoneCalc) String ¶
func (i PwrZoneCalc) String() string
type RadarThreatLevelType ¶
type RadarThreatLevelType byte
RadarThreatLevelType represents the radar_threat_level_type FIT type.
const ( RadarThreatLevelTypeThreatUnknown RadarThreatLevelType = 0 RadarThreatLevelTypeThreatNone RadarThreatLevelType = 1 RadarThreatLevelTypeThreatApproaching RadarThreatLevelType = 2 RadarThreatLevelTypeThreatApproachingFast RadarThreatLevelType = 3 RadarThreatLevelTypeInvalid RadarThreatLevelType = 0xFF )
func (RadarThreatLevelType) String ¶
func (i RadarThreatLevelType) String() string
type RecordMsg ¶
type RecordMsg struct { Timestamp time.Time PositionLat Latitude PositionLong Longitude Altitude uint16 HeartRate uint8 Cadence uint8 Distance uint32 Speed uint16 Power uint16 CompressedSpeedDistance []byte Grade int16 Resistance uint8 // Relative. 0 is none 254 is Max. TimeFromCourse int32 CycleLength uint8 Temperature int8 Speed1s []uint8 // Speed at 1s intervals. Timestamp field indicates time of last array element. Cycles uint8 TotalCycles uint32 CompressedAccumulatedPower uint16 AccumulatedPower uint32 LeftRightBalance LeftRightBalance GpsAccuracy uint8 VerticalSpeed int16 Calories uint16 VerticalOscillation uint16 StanceTimePercent uint16 StanceTime uint16 ActivityType ActivityType LeftTorqueEffectiveness uint8 RightTorqueEffectiveness uint8 LeftPedalSmoothness uint8 RightPedalSmoothness uint8 CombinedPedalSmoothness uint8 Time128 uint8 StrokeType StrokeType Zone uint8 BallSpeed uint16 Cadence256 uint16 // Log cadence and fractional cadence for backwards compatability FractionalCadence uint8 TotalHemoglobinConc uint16 // Total saturated and unsaturated hemoglobin TotalHemoglobinConcMin uint16 // Min saturated and unsaturated hemoglobin TotalHemoglobinConcMax uint16 // Max saturated and unsaturated hemoglobin SaturatedHemoglobinPercent uint16 // Percentage of hemoglobin saturated with oxygen SaturatedHemoglobinPercentMin uint16 // Min percentage of hemoglobin saturated with oxygen SaturatedHemoglobinPercentMax uint16 // Max percentage of hemoglobin saturated with oxygen DeviceIndex DeviceIndex EnhancedSpeed uint32 EnhancedAltitude uint32 }
RecordMsg represents the record FIT message type.
func NewRecordMsg ¶
func NewRecordMsg() *RecordMsg
NewRecordMsg returns a record FIT message initialized to all-invalid values.
func (*RecordMsg) GetAltitudeScaled ¶
GetAltitudeScaled returns Altitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*RecordMsg) GetBallSpeedScaled ¶
GetBallSpeedScaled returns BallSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*RecordMsg) GetCadence256Scaled ¶
GetCadence256Scaled returns Cadence256 with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: rpm
func (*RecordMsg) GetCombinedPedalSmoothnessScaled ¶
GetCombinedPedalSmoothnessScaled returns CombinedPedalSmoothness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*RecordMsg) GetCycleLengthScaled ¶
GetCycleLengthScaled returns CycleLength with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*RecordMsg) GetDistanceFromCompressedSpeedDistance ¶
GetDistanceFromCompressedSpeedDistance returns Distance with the scale and offset defined by the "Distance" component in the CompressedSpeedDistance field. NaN is if the field has an invalid value (i.e. has not been set).
func (*RecordMsg) GetDistanceScaled ¶
GetDistanceScaled returns Distance with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*RecordMsg) GetEnhancedAltitudeScaled ¶
GetEnhancedAltitudeScaled returns EnhancedAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*RecordMsg) GetEnhancedSpeedScaled ¶
GetEnhancedSpeedScaled returns EnhancedSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*RecordMsg) GetFractionalCadenceScaled ¶
GetFractionalCadenceScaled returns FractionalCadence with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: rpm
func (*RecordMsg) GetGradeScaled ¶
GetGradeScaled returns Grade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*RecordMsg) GetLeftPedalSmoothnessScaled ¶
GetLeftPedalSmoothnessScaled returns LeftPedalSmoothness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*RecordMsg) GetLeftTorqueEffectivenessScaled ¶
GetLeftTorqueEffectivenessScaled returns LeftTorqueEffectiveness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*RecordMsg) GetRightPedalSmoothnessScaled ¶
GetRightPedalSmoothnessScaled returns RightPedalSmoothness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*RecordMsg) GetRightTorqueEffectivenessScaled ¶
GetRightTorqueEffectivenessScaled returns RightTorqueEffectiveness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*RecordMsg) GetSaturatedHemoglobinPercentMaxScaled ¶
GetSaturatedHemoglobinPercentMaxScaled returns SaturatedHemoglobinPercentMax with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*RecordMsg) GetSaturatedHemoglobinPercentMinScaled ¶
GetSaturatedHemoglobinPercentMinScaled returns SaturatedHemoglobinPercentMin with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*RecordMsg) GetSaturatedHemoglobinPercentScaled ¶
GetSaturatedHemoglobinPercentScaled returns SaturatedHemoglobinPercent with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*RecordMsg) GetSpeed1sScaled ¶
GetSpeed1sScaled returns Speed1s as a slice with scale and any offset applied to every element. Units: m/s
func (*RecordMsg) GetSpeedFromCompressedSpeedDistance ¶
GetSpeedFromCompressedSpeedDistance returns Speed with the scale and offset defined by the "Speed" component in the CompressedSpeedDistance field. NaN is if the field has an invalid value (i.e. has not been set).
func (*RecordMsg) GetSpeedScaled ¶
GetSpeedScaled returns Speed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*RecordMsg) GetStanceTimePercentScaled ¶
GetStanceTimePercentScaled returns StanceTimePercent with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*RecordMsg) GetStanceTimeScaled ¶
GetStanceTimeScaled returns StanceTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: ms
func (*RecordMsg) GetTime128Scaled ¶
GetTime128Scaled returns Time128 with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*RecordMsg) GetTimeFromCourseScaled ¶
GetTimeFromCourseScaled returns TimeFromCourse with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*RecordMsg) GetTotalHemoglobinConcMaxScaled ¶
GetTotalHemoglobinConcMaxScaled returns TotalHemoglobinConcMax with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: g/dL
func (*RecordMsg) GetTotalHemoglobinConcMinScaled ¶
GetTotalHemoglobinConcMinScaled returns TotalHemoglobinConcMin with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: g/dL
func (*RecordMsg) GetTotalHemoglobinConcScaled ¶
GetTotalHemoglobinConcScaled returns TotalHemoglobinConc with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: g/dL
func (*RecordMsg) GetVerticalOscillationScaled ¶
GetVerticalOscillationScaled returns VerticalOscillation with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: mm
func (*RecordMsg) GetVerticalSpeedScaled ¶
GetVerticalSpeedScaled returns VerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
type RiderPositionType ¶
type RiderPositionType byte
RiderPositionType represents the rider_position_type FIT type.
const ( RiderPositionTypeSeated RiderPositionType = 0 RiderPositionTypeStanding RiderPositionType = 1 RiderPositionTypeTransitionToSeated RiderPositionType = 2 RiderPositionTypeTransitionToStanding RiderPositionType = 3 RiderPositionTypeInvalid RiderPositionType = 0xFF )
func (RiderPositionType) String ¶
func (i RiderPositionType) String() string
type RowExerciseName ¶
type RowExerciseName uint16
RowExerciseName represents the row_exercise_name FIT type.
const ( RowExerciseNameBarbellStraightLegDeadliftToRow RowExerciseName = 0 RowExerciseNameCableRowStanding RowExerciseName = 1 RowExerciseNameDumbbellRow RowExerciseName = 2 RowExerciseNameElevatedFeetInvertedRow RowExerciseName = 3 RowExerciseNameWeightedElevatedFeetInvertedRow RowExerciseName = 4 RowExerciseNameFacePull RowExerciseName = 5 RowExerciseNameFacePullWithExternalRotation RowExerciseName = 6 RowExerciseNameInvertedRowWithFeetOnSwissBall RowExerciseName = 7 RowExerciseNameWeightedInvertedRowWithFeetOnSwissBall RowExerciseName = 8 RowExerciseNameKettlebellRow RowExerciseName = 9 RowExerciseNameModifiedInvertedRow RowExerciseName = 10 RowExerciseNameWeightedModifiedInvertedRow RowExerciseName = 11 RowExerciseNameNeutralGripAlternatingDumbbellRow RowExerciseName = 12 RowExerciseNameOneArmBentOverRow RowExerciseName = 13 RowExerciseNameOneLeggedDumbbellRow RowExerciseName = 14 RowExerciseNameRenegadeRow RowExerciseName = 15 RowExerciseNameReverseGripBarbellRow RowExerciseName = 16 RowExerciseNameRopeHandleCableRow RowExerciseName = 17 RowExerciseNameSeatedCableRow RowExerciseName = 18 RowExerciseNameSeatedDumbbellRow RowExerciseName = 19 RowExerciseNameSingleArmCableRow RowExerciseName = 20 RowExerciseNameSingleArmCableRowAndRotation RowExerciseName = 21 RowExerciseNameSingleArmInvertedRow RowExerciseName = 22 RowExerciseNameWeightedSingleArmInvertedRow RowExerciseName = 23 RowExerciseNameSingleArmNeutralGripDumbbellRow RowExerciseName = 24 RowExerciseNameSingleArmNeutralGripDumbbellRowAndRotation RowExerciseName = 25 RowExerciseNameSuspendedInvertedRow RowExerciseName = 26 RowExerciseNameWeightedSuspendedInvertedRow RowExerciseName = 27 RowExerciseNameTBarRow RowExerciseName = 28 RowExerciseNameTowelGripInvertedRow RowExerciseName = 29 RowExerciseNameWeightedTowelGripInvertedRow RowExerciseName = 30 RowExerciseNameUnderhandGripCableRow RowExerciseName = 31 RowExerciseNameVGripCableRow RowExerciseName = 32 RowExerciseNameWideGripSeatedCableRow RowExerciseName = 33 RowExerciseNameInvalid RowExerciseName = 0xFFFF )
func (RowExerciseName) String ¶
func (i RowExerciseName) String() string
type RunExerciseName ¶
type RunExerciseName uint16
RunExerciseName represents the run_exercise_name FIT type.
const ( RunExerciseNameRun RunExerciseName = 0 RunExerciseNameWalk RunExerciseName = 1 RunExerciseNameJog RunExerciseName = 2 RunExerciseNameSprint RunExerciseName = 3 RunExerciseNameInvalid RunExerciseName = 0xFFFF )
func (RunExerciseName) String ¶
func (i RunExerciseName) String() string
type ScheduleMsg ¶
type ScheduleMsg struct { Manufacturer Manufacturer // Corresponds to file_id of scheduled workout / course. Product uint16 // Corresponds to file_id of scheduled workout / course. SerialNumber uint32 // Corresponds to file_id of scheduled workout / course. TimeCreated time.Time // Corresponds to file_id of scheduled workout / course. Completed Bool // TRUE if this activity has been started Type Schedule ScheduledTime time.Time }
ScheduleMsg represents the schedule FIT message type.
func NewScheduleMsg ¶
func NewScheduleMsg() *ScheduleMsg
NewScheduleMsg returns a schedule FIT message initialized to all-invalid values.
func (*ScheduleMsg) GetProduct ¶
func (x *ScheduleMsg) GetProduct() interface{}
GetProduct returns the appropriate Product subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
type SchedulesFile ¶
type SchedulesFile struct {
Schedules []*ScheduleMsg
}
SchedulesFile represents the Schedules FIT file type. Provides scheduling of workouts and courses.
type SdmProfileMsg ¶
type SdmProfileMsg struct { MessageIndex MessageIndex Enabled Bool SdmAntId uint16 SdmCalFactor uint16 Odometer uint32 SpeedSource Bool // Use footpod for speed source instead of GPS SdmAntIdTransType uint8 OdometerRollover uint8 // Rollover counter that can be used to extend the odometer }
SdmProfileMsg represents the sdm_profile FIT message type.
func NewSdmProfileMsg ¶
func NewSdmProfileMsg() *SdmProfileMsg
NewSdmProfileMsg returns a sdm_profile FIT message initialized to all-invalid values.
func (*SdmProfileMsg) GetOdometerScaled ¶
func (x *SdmProfileMsg) GetOdometerScaled() float64
GetOdometerScaled returns Odometer with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SdmProfileMsg) GetSdmCalFactorScaled ¶
func (x *SdmProfileMsg) GetSdmCalFactorScaled() float64
GetSdmCalFactorScaled returns SdmCalFactor with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
type SegmentDeleteStatus ¶
type SegmentDeleteStatus byte
SegmentDeleteStatus represents the segment_delete_status FIT type.
const ( SegmentDeleteStatusDoNotDelete SegmentDeleteStatus = 0 SegmentDeleteStatusDeleteOne SegmentDeleteStatus = 1 SegmentDeleteStatusDeleteAll SegmentDeleteStatus = 2 SegmentDeleteStatusInvalid SegmentDeleteStatus = 0xFF )
func (SegmentDeleteStatus) String ¶
func (i SegmentDeleteStatus) String() string
type SegmentFile ¶
type SegmentFile struct { SegmentId *SegmentIdMsg SegmentLeaderboardEntry *SegmentLeaderboardEntryMsg SegmentLap *SegmentLapMsg SegmentPoints []*SegmentPointMsg }
SegmentFile represents the Segment FIT file type. Describes timing data for virtual races.
type SegmentFileMsg ¶
type SegmentFileMsg struct { MessageIndex MessageIndex FileUuid string // UUID of the segment file Enabled Bool // Enabled state of the segment file UserProfilePrimaryKey uint32 // Primary key of the user that created the segment file LeaderType []SegmentLeaderboardType // Leader type of each leader in the segment file LeaderGroupPrimaryKey []uint32 // Group primary key of each leader in the segment file LeaderActivityId []uint32 // Activity ID of each leader in the segment file }
SegmentFileMsg represents the segment_file FIT message type.
func NewSegmentFileMsg ¶
func NewSegmentFileMsg() *SegmentFileMsg
NewSegmentFileMsg returns a segment_file FIT message initialized to all-invalid values.
type SegmentIdMsg ¶
type SegmentIdMsg struct { Name string // Friendly name assigned to segment Uuid string // UUID of the segment Sport Sport // Sport associated with the segment Enabled Bool // Segment enabled for evaluation UserProfilePrimaryKey uint32 // Primary key of the user that created the segment DeviceId uint32 // ID of the device that created the segment DefaultRaceLeader uint8 // Index for the Leader Board entry selected as the default race participant DeleteStatus SegmentDeleteStatus // Indicates if any segments should be deleted SelectionType SegmentSelectionType // Indicates how the segment was selected to be sent to the device }
SegmentIdMsg represents the segment_id FIT message type.
func NewSegmentIdMsg ¶
func NewSegmentIdMsg() *SegmentIdMsg
NewSegmentIdMsg returns a segment_id FIT message initialized to all-invalid values.
type SegmentLapMsg ¶
type SegmentLapMsg struct { MessageIndex MessageIndex Timestamp time.Time // Lap end time. Event Event EventType EventType StartTime time.Time StartPositionLat Latitude StartPositionLong Longitude EndPositionLat Latitude EndPositionLong Longitude TotalElapsedTime uint32 // Time (includes pauses) TotalTimerTime uint32 // Timer Time (excludes pauses) TotalDistance uint32 TotalCycles uint32 TotalCalories uint16 TotalFatCalories uint16 // If New Leaf AvgSpeed uint16 MaxSpeed uint16 AvgHeartRate uint8 MaxHeartRate uint8 AvgCadence uint8 // total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles / total_elapsed_time MaxCadence uint8 AvgPower uint16 // total_power / total_timer_time if non_zero_avg_power otherwise total_power / total_elapsed_time MaxPower uint16 TotalAscent uint16 TotalDescent uint16 Sport Sport EventGroup uint8 NecLat Latitude // North east corner latitude. NecLong Longitude // North east corner longitude. SwcLat Latitude // South west corner latitude. SwcLong Longitude // South west corner latitude. Name string NormalizedPower uint16 LeftRightBalance LeftRightBalance100 SubSport SubSport TotalWork uint32 AvgAltitude uint16 MaxAltitude uint16 GpsAccuracy uint8 AvgGrade int16 AvgPosGrade int16 AvgNegGrade int16 MaxPosGrade int16 MaxNegGrade int16 AvgTemperature int8 MaxTemperature int8 TotalMovingTime uint32 AvgPosVerticalSpeed int16 AvgNegVerticalSpeed int16 MaxPosVerticalSpeed int16 MaxNegVerticalSpeed int16 TimeInHrZone []uint32 TimeInSpeedZone []uint32 TimeInCadenceZone []uint32 TimeInPowerZone []uint32 RepetitionNum uint16 MinAltitude uint16 MinHeartRate uint8 ActiveTime uint32 WktStepIndex MessageIndex SportEvent SportEvent AvgLeftTorqueEffectiveness uint8 AvgRightTorqueEffectiveness uint8 AvgLeftPedalSmoothness uint8 AvgRightPedalSmoothness uint8 AvgCombinedPedalSmoothness uint8 Status SegmentLapStatus Uuid string AvgFractionalCadence uint8 // fractional part of the avg_cadence MaxFractionalCadence uint8 // fractional part of the max_cadence TotalFractionalCycles uint8 // fractional part of the total_cycles FrontGearShiftCount uint16 RearGearShiftCount uint16 }
SegmentLapMsg represents the segment_lap FIT message type.
func NewSegmentLapMsg ¶
func NewSegmentLapMsg() *SegmentLapMsg
NewSegmentLapMsg returns a segment_lap FIT message initialized to all-invalid values.
func (*SegmentLapMsg) GetActiveTimeScaled ¶
func (x *SegmentLapMsg) GetActiveTimeScaled() float64
GetActiveTimeScaled returns ActiveTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*SegmentLapMsg) GetAvgAltitudeScaled ¶
func (x *SegmentLapMsg) GetAvgAltitudeScaled() float64
GetAvgAltitudeScaled returns AvgAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SegmentLapMsg) GetAvgCombinedPedalSmoothnessScaled ¶
func (x *SegmentLapMsg) GetAvgCombinedPedalSmoothnessScaled() float64
GetAvgCombinedPedalSmoothnessScaled returns AvgCombinedPedalSmoothness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*SegmentLapMsg) GetAvgFractionalCadenceScaled ¶
func (x *SegmentLapMsg) GetAvgFractionalCadenceScaled() float64
GetAvgFractionalCadenceScaled returns AvgFractionalCadence with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: rpm
func (*SegmentLapMsg) GetAvgGradeScaled ¶
func (x *SegmentLapMsg) GetAvgGradeScaled() float64
GetAvgGradeScaled returns AvgGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SegmentLapMsg) GetAvgLeftPedalSmoothnessScaled ¶
func (x *SegmentLapMsg) GetAvgLeftPedalSmoothnessScaled() float64
GetAvgLeftPedalSmoothnessScaled returns AvgLeftPedalSmoothness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*SegmentLapMsg) GetAvgLeftTorqueEffectivenessScaled ¶
func (x *SegmentLapMsg) GetAvgLeftTorqueEffectivenessScaled() float64
GetAvgLeftTorqueEffectivenessScaled returns AvgLeftTorqueEffectiveness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*SegmentLapMsg) GetAvgNegGradeScaled ¶
func (x *SegmentLapMsg) GetAvgNegGradeScaled() float64
GetAvgNegGradeScaled returns AvgNegGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SegmentLapMsg) GetAvgNegVerticalSpeedScaled ¶
func (x *SegmentLapMsg) GetAvgNegVerticalSpeedScaled() float64
GetAvgNegVerticalSpeedScaled returns AvgNegVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SegmentLapMsg) GetAvgPosGradeScaled ¶
func (x *SegmentLapMsg) GetAvgPosGradeScaled() float64
GetAvgPosGradeScaled returns AvgPosGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SegmentLapMsg) GetAvgPosVerticalSpeedScaled ¶
func (x *SegmentLapMsg) GetAvgPosVerticalSpeedScaled() float64
GetAvgPosVerticalSpeedScaled returns AvgPosVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SegmentLapMsg) GetAvgRightPedalSmoothnessScaled ¶
func (x *SegmentLapMsg) GetAvgRightPedalSmoothnessScaled() float64
GetAvgRightPedalSmoothnessScaled returns AvgRightPedalSmoothness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*SegmentLapMsg) GetAvgRightTorqueEffectivenessScaled ¶
func (x *SegmentLapMsg) GetAvgRightTorqueEffectivenessScaled() float64
GetAvgRightTorqueEffectivenessScaled returns AvgRightTorqueEffectiveness with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*SegmentLapMsg) GetAvgSpeedScaled ¶
func (x *SegmentLapMsg) GetAvgSpeedScaled() float64
GetAvgSpeedScaled returns AvgSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SegmentLapMsg) GetMaxAltitudeScaled ¶
func (x *SegmentLapMsg) GetMaxAltitudeScaled() float64
GetMaxAltitudeScaled returns MaxAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SegmentLapMsg) GetMaxFractionalCadenceScaled ¶
func (x *SegmentLapMsg) GetMaxFractionalCadenceScaled() float64
GetMaxFractionalCadenceScaled returns MaxFractionalCadence with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: rpm
func (*SegmentLapMsg) GetMaxNegGradeScaled ¶
func (x *SegmentLapMsg) GetMaxNegGradeScaled() float64
GetMaxNegGradeScaled returns MaxNegGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SegmentLapMsg) GetMaxNegVerticalSpeedScaled ¶
func (x *SegmentLapMsg) GetMaxNegVerticalSpeedScaled() float64
GetMaxNegVerticalSpeedScaled returns MaxNegVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SegmentLapMsg) GetMaxPosGradeScaled ¶
func (x *SegmentLapMsg) GetMaxPosGradeScaled() float64
GetMaxPosGradeScaled returns MaxPosGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SegmentLapMsg) GetMaxPosVerticalSpeedScaled ¶
func (x *SegmentLapMsg) GetMaxPosVerticalSpeedScaled() float64
GetMaxPosVerticalSpeedScaled returns MaxPosVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SegmentLapMsg) GetMaxSpeedScaled ¶
func (x *SegmentLapMsg) GetMaxSpeedScaled() float64
GetMaxSpeedScaled returns MaxSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SegmentLapMsg) GetMinAltitudeScaled ¶
func (x *SegmentLapMsg) GetMinAltitudeScaled() float64
GetMinAltitudeScaled returns MinAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SegmentLapMsg) GetTimeInCadenceZoneScaled ¶
func (x *SegmentLapMsg) GetTimeInCadenceZoneScaled() []float64
GetTimeInCadenceZoneScaled returns TimeInCadenceZone as a slice with scale and any offset applied to every element. Units: s
func (*SegmentLapMsg) GetTimeInHrZoneScaled ¶
func (x *SegmentLapMsg) GetTimeInHrZoneScaled() []float64
GetTimeInHrZoneScaled returns TimeInHrZone as a slice with scale and any offset applied to every element. Units: s
func (*SegmentLapMsg) GetTimeInPowerZoneScaled ¶
func (x *SegmentLapMsg) GetTimeInPowerZoneScaled() []float64
GetTimeInPowerZoneScaled returns TimeInPowerZone as a slice with scale and any offset applied to every element. Units: s
func (*SegmentLapMsg) GetTimeInSpeedZoneScaled ¶
func (x *SegmentLapMsg) GetTimeInSpeedZoneScaled() []float64
GetTimeInSpeedZoneScaled returns TimeInSpeedZone as a slice with scale and any offset applied to every element. Units: s
func (*SegmentLapMsg) GetTotalCycles ¶
func (x *SegmentLapMsg) GetTotalCycles() interface{}
GetTotalCycles returns the appropriate TotalCycles subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*SegmentLapMsg) GetTotalDistanceScaled ¶
func (x *SegmentLapMsg) GetTotalDistanceScaled() float64
GetTotalDistanceScaled returns TotalDistance with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SegmentLapMsg) GetTotalElapsedTimeScaled ¶
func (x *SegmentLapMsg) GetTotalElapsedTimeScaled() float64
GetTotalElapsedTimeScaled returns TotalElapsedTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*SegmentLapMsg) GetTotalFractionalCyclesScaled ¶
func (x *SegmentLapMsg) GetTotalFractionalCyclesScaled() float64
GetTotalFractionalCyclesScaled returns TotalFractionalCycles with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: cycles
func (*SegmentLapMsg) GetTotalMovingTimeScaled ¶
func (x *SegmentLapMsg) GetTotalMovingTimeScaled() float64
GetTotalMovingTimeScaled returns TotalMovingTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*SegmentLapMsg) GetTotalTimerTimeScaled ¶
func (x *SegmentLapMsg) GetTotalTimerTimeScaled() float64
GetTotalTimerTimeScaled returns TotalTimerTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
type SegmentLapStatus ¶
type SegmentLapStatus byte
SegmentLapStatus represents the segment_lap_status FIT type.
const ( SegmentLapStatusEnd SegmentLapStatus = 0 SegmentLapStatusFail SegmentLapStatus = 1 SegmentLapStatusInvalid SegmentLapStatus = 0xFF )
func (SegmentLapStatus) String ¶
func (i SegmentLapStatus) String() string
type SegmentLeaderboardEntryMsg ¶
type SegmentLeaderboardEntryMsg struct { MessageIndex MessageIndex Name string // Friendly name assigned to leader Type SegmentLeaderboardType // Leader classification GroupPrimaryKey uint32 // Primary user ID of this leader ActivityId uint32 // ID of the activity associated with this leader time SegmentTime uint32 // Segment Time (includes pauses) }
SegmentLeaderboardEntryMsg represents the segment_leaderboard_entry FIT message type.
func NewSegmentLeaderboardEntryMsg ¶
func NewSegmentLeaderboardEntryMsg() *SegmentLeaderboardEntryMsg
NewSegmentLeaderboardEntryMsg returns a segment_leaderboard_entry FIT message initialized to all-invalid values.
func (*SegmentLeaderboardEntryMsg) GetSegmentTimeScaled ¶
func (x *SegmentLeaderboardEntryMsg) GetSegmentTimeScaled() float64
GetSegmentTimeScaled returns SegmentTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
type SegmentLeaderboardType ¶
type SegmentLeaderboardType byte
SegmentLeaderboardType represents the segment_leaderboard_type FIT type.
const ( SegmentLeaderboardTypeOverall SegmentLeaderboardType = 0 SegmentLeaderboardTypePersonalBest SegmentLeaderboardType = 1 SegmentLeaderboardTypeConnections SegmentLeaderboardType = 2 SegmentLeaderboardTypeGroup SegmentLeaderboardType = 3 SegmentLeaderboardTypeChallenger SegmentLeaderboardType = 4 SegmentLeaderboardTypeKom SegmentLeaderboardType = 5 SegmentLeaderboardTypeQom SegmentLeaderboardType = 6 SegmentLeaderboardTypePr SegmentLeaderboardType = 7 SegmentLeaderboardTypeGoal SegmentLeaderboardType = 8 SegmentLeaderboardTypeRival SegmentLeaderboardType = 9 SegmentLeaderboardTypeClubLeader SegmentLeaderboardType = 10 SegmentLeaderboardTypeInvalid SegmentLeaderboardType = 0xFF )
func (SegmentLeaderboardType) String ¶
func (i SegmentLeaderboardType) String() string
type SegmentListFile ¶
type SegmentListFile struct {
SegmentFiles []*SegmentFileMsg
}
SegmentListFile represents the Segment List FIT file type. Describes available segments.
type SegmentPointMsg ¶
type SegmentPointMsg struct { MessageIndex MessageIndex PositionLat Latitude PositionLong Longitude Distance uint32 // Accumulated distance along the segment at the described point Altitude uint16 // Accumulated altitude along the segment at the described point LeaderTime []uint32 // 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. }
SegmentPointMsg represents the segment_point FIT message type.
func NewSegmentPointMsg ¶
func NewSegmentPointMsg() *SegmentPointMsg
NewSegmentPointMsg returns a segment_point FIT message initialized to all-invalid values.
func (*SegmentPointMsg) GetAltitudeScaled ¶
func (x *SegmentPointMsg) GetAltitudeScaled() float64
GetAltitudeScaled returns Altitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SegmentPointMsg) GetDistanceScaled ¶
func (x *SegmentPointMsg) GetDistanceScaled() float64
GetDistanceScaled returns Distance with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SegmentPointMsg) GetLeaderTimeScaled ¶
func (x *SegmentPointMsg) GetLeaderTimeScaled() []float64
GetLeaderTimeScaled returns LeaderTime as a slice with scale and any offset applied to every element. Units: s
type SegmentSelectionType ¶
type SegmentSelectionType byte
SegmentSelectionType represents the segment_selection_type FIT type.
const ( SegmentSelectionTypeStarred SegmentSelectionType = 0 SegmentSelectionTypeSuggested SegmentSelectionType = 1 SegmentSelectionTypeInvalid SegmentSelectionType = 0xFF )
func (SegmentSelectionType) String ¶
func (i SegmentSelectionType) String() string
type SensorType ¶
type SensorType byte
SensorType represents the sensor_type FIT type.
const ( SensorTypeAccelerometer SensorType = 0 SensorTypeGyroscope SensorType = 1 SensorTypeCompass SensorType = 2 // Magnetometer SensorTypeBarometer SensorType = 3 SensorTypeInvalid SensorType = 0xFF )
func (SensorType) String ¶
func (i SensorType) String() string
type SessionMsg ¶
type SessionMsg struct { MessageIndex MessageIndex // Selected bit is set for the current session. Timestamp time.Time // Sesson end time. Event Event // session EventType EventType // stop StartTime time.Time StartPositionLat Latitude StartPositionLong Longitude Sport Sport SubSport SubSport TotalElapsedTime uint32 // Time (includes pauses) TotalTimerTime uint32 // Timer Time (excludes pauses) TotalDistance uint32 TotalCycles uint32 TotalCalories uint16 TotalFatCalories uint16 AvgSpeed uint16 // total_distance / total_timer_time MaxSpeed uint16 AvgHeartRate uint8 // average heart rate (excludes pause time) MaxHeartRate uint8 AvgCadence uint8 // total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles / total_elapsed_time MaxCadence uint8 AvgPower uint16 // total_power / total_timer_time if non_zero_avg_power otherwise total_power / total_elapsed_time MaxPower uint16 TotalAscent uint16 TotalDescent uint16 TotalTrainingEffect uint8 FirstLapIndex uint16 NumLaps uint16 EventGroup uint8 Trigger SessionTrigger NecLat Latitude // North east corner latitude NecLong Longitude // North east corner longitude SwcLat Latitude // South west corner latitude SwcLong Longitude // South west corner longitude NumLengths uint16 // # of lengths of swim pool NormalizedPower uint16 TrainingStressScore uint16 IntensityFactor uint16 LeftRightBalance LeftRightBalance100 AvgStrokeCount uint32 AvgStrokeDistance uint16 SwimStroke SwimStroke PoolLength uint16 ThresholdPower uint16 PoolLengthUnit DisplayMeasure NumActiveLengths uint16 // # of active lengths of swim pool TotalWork uint32 AvgAltitude uint16 MaxAltitude uint16 GpsAccuracy uint8 AvgGrade int16 AvgPosGrade int16 AvgNegGrade int16 MaxPosGrade int16 MaxNegGrade int16 AvgTemperature int8 MaxTemperature int8 TotalMovingTime uint32 AvgPosVerticalSpeed int16 AvgNegVerticalSpeed int16 MaxPosVerticalSpeed int16 MaxNegVerticalSpeed int16 MinHeartRate uint8 TimeInHrZone []uint32 TimeInSpeedZone []uint32 TimeInCadenceZone []uint32 TimeInPowerZone []uint32 AvgLapTime uint32 BestLapIndex uint16 MinAltitude uint16 PlayerScore uint16 OpponentScore uint16 OpponentName string StrokeCount []uint16 // stroke_type enum used as the index ZoneCount []uint16 // zone number used as the index MaxBallSpeed uint16 AvgBallSpeed uint16 AvgVerticalOscillation uint16 AvgStanceTimePercent uint16 AvgStanceTime uint16 AvgFractionalCadence uint8 // fractional part of the avg_cadence MaxFractionalCadence uint8 // fractional part of the max_cadence TotalFractionalCycles uint8 // fractional part of the total_cycles SportIndex uint8 EnhancedAvgSpeed uint32 // total_distance / total_timer_time EnhancedMaxSpeed uint32 EnhancedAvgAltitude uint32 EnhancedMinAltitude uint32 EnhancedMaxAltitude uint32 TotalAnaerobicTrainingEffect uint8 AvgVam uint16 }
SessionMsg represents the session FIT message type.
func NewSessionMsg ¶
func NewSessionMsg() *SessionMsg
NewSessionMsg returns a session FIT message initialized to all-invalid values.
func (*SessionMsg) GetAvgAltitudeScaled ¶
func (x *SessionMsg) GetAvgAltitudeScaled() float64
GetAvgAltitudeScaled returns AvgAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SessionMsg) GetAvgBallSpeedScaled ¶
func (x *SessionMsg) GetAvgBallSpeedScaled() float64
GetAvgBallSpeedScaled returns AvgBallSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetAvgCadence ¶
func (x *SessionMsg) GetAvgCadence() interface{}
GetAvgCadence returns the appropriate AvgCadence subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*SessionMsg) GetAvgFractionalCadenceScaled ¶
func (x *SessionMsg) GetAvgFractionalCadenceScaled() float64
GetAvgFractionalCadenceScaled returns AvgFractionalCadence with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: rpm
func (*SessionMsg) GetAvgGradeScaled ¶
func (x *SessionMsg) GetAvgGradeScaled() float64
GetAvgGradeScaled returns AvgGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SessionMsg) GetAvgLapTimeScaled ¶
func (x *SessionMsg) GetAvgLapTimeScaled() float64
GetAvgLapTimeScaled returns AvgLapTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*SessionMsg) GetAvgNegGradeScaled ¶
func (x *SessionMsg) GetAvgNegGradeScaled() float64
GetAvgNegGradeScaled returns AvgNegGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SessionMsg) GetAvgNegVerticalSpeedScaled ¶
func (x *SessionMsg) GetAvgNegVerticalSpeedScaled() float64
GetAvgNegVerticalSpeedScaled returns AvgNegVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetAvgPosGradeScaled ¶
func (x *SessionMsg) GetAvgPosGradeScaled() float64
GetAvgPosGradeScaled returns AvgPosGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SessionMsg) GetAvgPosVerticalSpeedScaled ¶
func (x *SessionMsg) GetAvgPosVerticalSpeedScaled() float64
GetAvgPosVerticalSpeedScaled returns AvgPosVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetAvgSpeedScaled ¶
func (x *SessionMsg) GetAvgSpeedScaled() float64
GetAvgSpeedScaled returns AvgSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetAvgStanceTimePercentScaled ¶
func (x *SessionMsg) GetAvgStanceTimePercentScaled() float64
GetAvgStanceTimePercentScaled returns AvgStanceTimePercent with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: percent
func (*SessionMsg) GetAvgStanceTimeScaled ¶
func (x *SessionMsg) GetAvgStanceTimeScaled() float64
GetAvgStanceTimeScaled returns AvgStanceTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: ms
func (*SessionMsg) GetAvgStrokeCountScaled ¶
func (x *SessionMsg) GetAvgStrokeCountScaled() float64
GetAvgStrokeCountScaled returns AvgStrokeCount with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: strokes/lap
func (*SessionMsg) GetAvgStrokeDistanceScaled ¶
func (x *SessionMsg) GetAvgStrokeDistanceScaled() float64
GetAvgStrokeDistanceScaled returns AvgStrokeDistance with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SessionMsg) GetAvgVamScaled ¶
func (x *SessionMsg) GetAvgVamScaled() float64
GetAvgVamScaled returns AvgVam with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetAvgVerticalOscillationScaled ¶
func (x *SessionMsg) GetAvgVerticalOscillationScaled() float64
GetAvgVerticalOscillationScaled returns AvgVerticalOscillation with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: mm
func (*SessionMsg) GetEnhancedAvgAltitudeScaled ¶
func (x *SessionMsg) GetEnhancedAvgAltitudeScaled() float64
GetEnhancedAvgAltitudeScaled returns EnhancedAvgAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SessionMsg) GetEnhancedAvgSpeedScaled ¶
func (x *SessionMsg) GetEnhancedAvgSpeedScaled() float64
GetEnhancedAvgSpeedScaled returns EnhancedAvgSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetEnhancedMaxAltitudeScaled ¶
func (x *SessionMsg) GetEnhancedMaxAltitudeScaled() float64
GetEnhancedMaxAltitudeScaled returns EnhancedMaxAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SessionMsg) GetEnhancedMaxSpeedScaled ¶
func (x *SessionMsg) GetEnhancedMaxSpeedScaled() float64
GetEnhancedMaxSpeedScaled returns EnhancedMaxSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetEnhancedMinAltitudeScaled ¶
func (x *SessionMsg) GetEnhancedMinAltitudeScaled() float64
GetEnhancedMinAltitudeScaled returns EnhancedMinAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SessionMsg) GetIntensityFactorScaled ¶
func (x *SessionMsg) GetIntensityFactorScaled() float64
GetIntensityFactorScaled returns IntensityFactor with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: if
func (*SessionMsg) GetMaxAltitudeScaled ¶
func (x *SessionMsg) GetMaxAltitudeScaled() float64
GetMaxAltitudeScaled returns MaxAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SessionMsg) GetMaxBallSpeedScaled ¶
func (x *SessionMsg) GetMaxBallSpeedScaled() float64
GetMaxBallSpeedScaled returns MaxBallSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetMaxCadence ¶
func (x *SessionMsg) GetMaxCadence() interface{}
GetMaxCadence returns the appropriate MaxCadence subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*SessionMsg) GetMaxFractionalCadenceScaled ¶
func (x *SessionMsg) GetMaxFractionalCadenceScaled() float64
GetMaxFractionalCadenceScaled returns MaxFractionalCadence with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: rpm
func (*SessionMsg) GetMaxNegGradeScaled ¶
func (x *SessionMsg) GetMaxNegGradeScaled() float64
GetMaxNegGradeScaled returns MaxNegGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SessionMsg) GetMaxNegVerticalSpeedScaled ¶
func (x *SessionMsg) GetMaxNegVerticalSpeedScaled() float64
GetMaxNegVerticalSpeedScaled returns MaxNegVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetMaxPosGradeScaled ¶
func (x *SessionMsg) GetMaxPosGradeScaled() float64
GetMaxPosGradeScaled returns MaxPosGrade with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*SessionMsg) GetMaxPosVerticalSpeedScaled ¶
func (x *SessionMsg) GetMaxPosVerticalSpeedScaled() float64
GetMaxPosVerticalSpeedScaled returns MaxPosVerticalSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetMaxSpeedScaled ¶
func (x *SessionMsg) GetMaxSpeedScaled() float64
GetMaxSpeedScaled returns MaxSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
func (*SessionMsg) GetMinAltitudeScaled ¶
func (x *SessionMsg) GetMinAltitudeScaled() float64
GetMinAltitudeScaled returns MinAltitude with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SessionMsg) GetPoolLengthScaled ¶
func (x *SessionMsg) GetPoolLengthScaled() float64
GetPoolLengthScaled returns PoolLength with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SessionMsg) GetTimeInCadenceZoneScaled ¶
func (x *SessionMsg) GetTimeInCadenceZoneScaled() []float64
GetTimeInCadenceZoneScaled returns TimeInCadenceZone as a slice with scale and any offset applied to every element. Units: s
func (*SessionMsg) GetTimeInHrZoneScaled ¶
func (x *SessionMsg) GetTimeInHrZoneScaled() []float64
GetTimeInHrZoneScaled returns TimeInHrZone as a slice with scale and any offset applied to every element. Units: s
func (*SessionMsg) GetTimeInPowerZoneScaled ¶
func (x *SessionMsg) GetTimeInPowerZoneScaled() []float64
GetTimeInPowerZoneScaled returns TimeInPowerZone as a slice with scale and any offset applied to every element. Units: s
func (*SessionMsg) GetTimeInSpeedZoneScaled ¶
func (x *SessionMsg) GetTimeInSpeedZoneScaled() []float64
GetTimeInSpeedZoneScaled returns TimeInSpeedZone as a slice with scale and any offset applied to every element. Units: s
func (*SessionMsg) GetTotalAnaerobicTrainingEffectScaled ¶
func (x *SessionMsg) GetTotalAnaerobicTrainingEffectScaled() float64
GetTotalAnaerobicTrainingEffectScaled returns TotalAnaerobicTrainingEffect with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set).
func (*SessionMsg) GetTotalCycles ¶
func (x *SessionMsg) GetTotalCycles() interface{}
GetTotalCycles returns the appropriate TotalCycles subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*SessionMsg) GetTotalDistanceScaled ¶
func (x *SessionMsg) GetTotalDistanceScaled() float64
GetTotalDistanceScaled returns TotalDistance with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*SessionMsg) GetTotalElapsedTimeScaled ¶
func (x *SessionMsg) GetTotalElapsedTimeScaled() float64
GetTotalElapsedTimeScaled returns TotalElapsedTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*SessionMsg) GetTotalFractionalCyclesScaled ¶
func (x *SessionMsg) GetTotalFractionalCyclesScaled() float64
GetTotalFractionalCyclesScaled returns TotalFractionalCycles with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: cycles
func (*SessionMsg) GetTotalMovingTimeScaled ¶
func (x *SessionMsg) GetTotalMovingTimeScaled() float64
GetTotalMovingTimeScaled returns TotalMovingTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*SessionMsg) GetTotalTimerTimeScaled ¶
func (x *SessionMsg) GetTotalTimerTimeScaled() float64
GetTotalTimerTimeScaled returns TotalTimerTime with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: s
func (*SessionMsg) GetTotalTrainingEffectScaled ¶
func (x *SessionMsg) GetTotalTrainingEffectScaled() float64
GetTotalTrainingEffectScaled returns TotalTrainingEffect with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set).
func (*SessionMsg) GetTrainingStressScoreScaled ¶
func (x *SessionMsg) GetTrainingStressScoreScaled() float64
GetTrainingStressScoreScaled returns TrainingStressScore with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: tss
type SessionTrigger ¶
type SessionTrigger byte
SessionTrigger represents the session_trigger FIT type.
const ( SessionTriggerActivityEnd SessionTrigger = 0 SessionTriggerManual SessionTrigger = 1 // User changed sport. SessionTriggerAutoMultiSport SessionTrigger = 2 // Auto multi-sport feature is enabled and user pressed lap button to advance session. SessionTriggerFitnessEquipment SessionTrigger = 3 // Auto sport change caused by user linking to fitness equipment. SessionTriggerInvalid SessionTrigger = 0xFF )
func (SessionTrigger) String ¶
func (i SessionTrigger) String() string
type SetMsg ¶
type SetMsg struct {
WeightDisplayUnit FitBaseUnit
}
SetMsg represents the set FIT message type.
type SettingsFile ¶
type SettingsFile struct { UserProfiles []*UserProfileMsg HrmProfiles []*HrmProfileMsg SdmProfiles []*SdmProfileMsg BikeProfiles []*BikeProfileMsg DeviceSettings []*DeviceSettingsMsg }
SettingsFile represents the Settings FIT file type. Describes a user’s parameters such as Age & Weight as well as device settings.
type ShoulderPressExerciseName ¶
type ShoulderPressExerciseName uint16
ShoulderPressExerciseName represents the shoulder_press_exercise_name FIT type.
const ( ShoulderPressExerciseNameAlternatingDumbbellShoulderPress ShoulderPressExerciseName = 0 ShoulderPressExerciseNameArnoldPress ShoulderPressExerciseName = 1 ShoulderPressExerciseNameBarbellFrontSquatToPushPress ShoulderPressExerciseName = 2 ShoulderPressExerciseNameBarbellPushPress ShoulderPressExerciseName = 3 ShoulderPressExerciseNameBarbellShoulderPress ShoulderPressExerciseName = 4 ShoulderPressExerciseNameDeadCurlPress ShoulderPressExerciseName = 5 ShoulderPressExerciseNameDumbbellAlternatingShoulderPressAndTwist ShoulderPressExerciseName = 6 ShoulderPressExerciseNameDumbbellHammerCurlToLungeToPress ShoulderPressExerciseName = 7 ShoulderPressExerciseNameDumbbellPushPress ShoulderPressExerciseName = 8 ShoulderPressExerciseNameFloorInvertedShoulderPress ShoulderPressExerciseName = 9 ShoulderPressExerciseNameWeightedFloorInvertedShoulderPress ShoulderPressExerciseName = 10 ShoulderPressExerciseNameInvertedShoulderPress ShoulderPressExerciseName = 11 ShoulderPressExerciseNameWeightedInvertedShoulderPress ShoulderPressExerciseName = 12 ShoulderPressExerciseNameOneArmPushPress ShoulderPressExerciseName = 13 ShoulderPressExerciseNameOverheadBarbellPress ShoulderPressExerciseName = 14 ShoulderPressExerciseNameOverheadDumbbellPress ShoulderPressExerciseName = 15 ShoulderPressExerciseNameSeatedBarbellShoulderPress ShoulderPressExerciseName = 16 ShoulderPressExerciseNameSeatedDumbbellShoulderPress ShoulderPressExerciseName = 17 ShoulderPressExerciseNameSingleArmDumbbellShoulderPress ShoulderPressExerciseName = 18 ShoulderPressExerciseNameSingleArmStepUpAndPress ShoulderPressExerciseName = 19 ShoulderPressExerciseNameSmithMachineOverheadPress ShoulderPressExerciseName = 20 ShoulderPressExerciseNameSplitStanceHammerCurlToPress ShoulderPressExerciseName = 21 ShoulderPressExerciseNameSwissBallDumbbellShoulderPress ShoulderPressExerciseName = 22 ShoulderPressExerciseNameWeightPlateFrontRaise ShoulderPressExerciseName = 23 ShoulderPressExerciseNameInvalid ShoulderPressExerciseName = 0xFFFF )
func (ShoulderPressExerciseName) String ¶
func (i ShoulderPressExerciseName) String() string
type ShoulderStabilityExerciseName ¶
type ShoulderStabilityExerciseName uint16
ShoulderStabilityExerciseName represents the shoulder_stability_exercise_name FIT type.
const ( ShoulderStabilityExerciseName90DegreeCableExternalRotation ShoulderStabilityExerciseName = 0 ShoulderStabilityExerciseNameBandExternalRotation ShoulderStabilityExerciseName = 1 ShoulderStabilityExerciseNameBandInternalRotation ShoulderStabilityExerciseName = 2 ShoulderStabilityExerciseNameBentArmLateralRaiseAndExternalRotation ShoulderStabilityExerciseName = 3 ShoulderStabilityExerciseNameCableExternalRotation ShoulderStabilityExerciseName = 4 ShoulderStabilityExerciseNameDumbbellFacePullWithExternalRotation ShoulderStabilityExerciseName = 5 ShoulderStabilityExerciseNameFloorIRaise ShoulderStabilityExerciseName = 6 ShoulderStabilityExerciseNameWeightedFloorIRaise ShoulderStabilityExerciseName = 7 ShoulderStabilityExerciseNameFloorTRaise ShoulderStabilityExerciseName = 8 ShoulderStabilityExerciseNameWeightedFloorTRaise ShoulderStabilityExerciseName = 9 ShoulderStabilityExerciseNameFloorYRaise ShoulderStabilityExerciseName = 10 ShoulderStabilityExerciseNameWeightedFloorYRaise ShoulderStabilityExerciseName = 11 ShoulderStabilityExerciseNameInclineIRaise ShoulderStabilityExerciseName = 12 ShoulderStabilityExerciseNameWeightedInclineIRaise ShoulderStabilityExerciseName = 13 ShoulderStabilityExerciseNameInclineLRaise ShoulderStabilityExerciseName = 14 ShoulderStabilityExerciseNameWeightedInclineLRaise ShoulderStabilityExerciseName = 15 ShoulderStabilityExerciseNameInclineTRaise ShoulderStabilityExerciseName = 16 ShoulderStabilityExerciseNameWeightedInclineTRaise ShoulderStabilityExerciseName = 17 ShoulderStabilityExerciseNameInclineWRaise ShoulderStabilityExerciseName = 18 ShoulderStabilityExerciseNameWeightedInclineWRaise ShoulderStabilityExerciseName = 19 ShoulderStabilityExerciseNameInclineYRaise ShoulderStabilityExerciseName = 20 ShoulderStabilityExerciseNameWeightedInclineYRaise ShoulderStabilityExerciseName = 21 ShoulderStabilityExerciseNameLyingExternalRotation ShoulderStabilityExerciseName = 22 ShoulderStabilityExerciseNameSeatedDumbbellExternalRotation ShoulderStabilityExerciseName = 23 ShoulderStabilityExerciseNameStandingLRaise ShoulderStabilityExerciseName = 24 ShoulderStabilityExerciseNameSwissBallIRaise ShoulderStabilityExerciseName = 25 ShoulderStabilityExerciseNameWeightedSwissBallIRaise ShoulderStabilityExerciseName = 26 ShoulderStabilityExerciseNameSwissBallTRaise ShoulderStabilityExerciseName = 27 ShoulderStabilityExerciseNameWeightedSwissBallTRaise ShoulderStabilityExerciseName = 28 ShoulderStabilityExerciseNameSwissBallWRaise ShoulderStabilityExerciseName = 29 ShoulderStabilityExerciseNameWeightedSwissBallWRaise ShoulderStabilityExerciseName = 30 ShoulderStabilityExerciseNameSwissBallYRaise ShoulderStabilityExerciseName = 31 ShoulderStabilityExerciseNameWeightedSwissBallYRaise ShoulderStabilityExerciseName = 32 ShoulderStabilityExerciseNameInvalid ShoulderStabilityExerciseName = 0xFFFF )
func (ShoulderStabilityExerciseName) String ¶
func (i ShoulderStabilityExerciseName) String() string
type ShrugExerciseName ¶
type ShrugExerciseName uint16
ShrugExerciseName represents the shrug_exercise_name FIT type.
const ( ShrugExerciseNameBarbellJumpShrug ShrugExerciseName = 0 ShrugExerciseNameBarbellShrug ShrugExerciseName = 1 ShrugExerciseNameBarbellUprightRow ShrugExerciseName = 2 ShrugExerciseNameBehindTheBackSmithMachineShrug ShrugExerciseName = 3 ShrugExerciseNameDumbbellJumpShrug ShrugExerciseName = 4 ShrugExerciseNameDumbbellShrug ShrugExerciseName = 5 ShrugExerciseNameDumbbellUprightRow ShrugExerciseName = 6 ShrugExerciseNameInclineDumbbellShrug ShrugExerciseName = 7 ShrugExerciseNameOverheadBarbellShrug ShrugExerciseName = 8 ShrugExerciseNameOverheadDumbbellShrug ShrugExerciseName = 9 ShrugExerciseNameScapularRetraction ShrugExerciseName = 11 ShrugExerciseNameSerratusChairShrug ShrugExerciseName = 12 ShrugExerciseNameWeightedSerratusChairShrug ShrugExerciseName = 13 ShrugExerciseNameSerratusShrug ShrugExerciseName = 14 ShrugExerciseNameWeightedSerratusShrug ShrugExerciseName = 15 ShrugExerciseNameWideGripJumpShrug ShrugExerciseName = 16 ShrugExerciseNameInvalid ShrugExerciseName = 0xFFFF )
func (ShrugExerciseName) String ¶
func (i ShrugExerciseName) String() string
type SitUpExerciseName ¶
type SitUpExerciseName uint16
SitUpExerciseName represents the sit_up_exercise_name FIT type.
const ( SitUpExerciseNameAlternatingSitUp SitUpExerciseName = 0 SitUpExerciseNameWeightedAlternatingSitUp SitUpExerciseName = 1 SitUpExerciseNameBentKneeVUp SitUpExerciseName = 2 SitUpExerciseNameWeightedBentKneeVUp SitUpExerciseName = 3 SitUpExerciseNameButterflySitUp SitUpExerciseName = 4 SitUpExerciseNameWeightedButterflySitup SitUpExerciseName = 5 SitUpExerciseNameCrossPunchRollUp SitUpExerciseName = 6 SitUpExerciseNameWeightedCrossPunchRollUp SitUpExerciseName = 7 SitUpExerciseNameCrossedArmsSitUp SitUpExerciseName = 8 SitUpExerciseNameWeightedCrossedArmsSitUp SitUpExerciseName = 9 SitUpExerciseNameGetUpSitUp SitUpExerciseName = 10 SitUpExerciseNameWeightedGetUpSitUp SitUpExerciseName = 11 SitUpExerciseNameHoveringSitUp SitUpExerciseName = 12 SitUpExerciseNameWeightedHoveringSitUp SitUpExerciseName = 13 SitUpExerciseNameKettlebellSitUp SitUpExerciseName = 14 SitUpExerciseNameMedicineBallAlternatingVUp SitUpExerciseName = 15 SitUpExerciseNameMedicineBallSitUp SitUpExerciseName = 16 SitUpExerciseNameMedicineBallVUp SitUpExerciseName = 17 SitUpExerciseNameModifiedSitUp SitUpExerciseName = 18 SitUpExerciseNameNegativeSitUp SitUpExerciseName = 19 SitUpExerciseNameOneArmFullSitUp SitUpExerciseName = 20 SitUpExerciseNameRecliningCircle SitUpExerciseName = 21 SitUpExerciseNameWeightedRecliningCircle SitUpExerciseName = 22 SitUpExerciseNameReverseCurlUp SitUpExerciseName = 23 SitUpExerciseNameWeightedReverseCurlUp SitUpExerciseName = 24 SitUpExerciseNameSingleLegSwissBallJackknife SitUpExerciseName = 25 SitUpExerciseNameWeightedSingleLegSwissBallJackknife SitUpExerciseName = 26 SitUpExerciseNameThreePartRollDown SitUpExerciseName = 29 SitUpExerciseNameWeightedThreePartRollDown SitUpExerciseName = 30 SitUpExerciseNameVUp SitUpExerciseName = 31 SitUpExerciseNameWeightedVUp SitUpExerciseName = 32 SitUpExerciseNameWeightedRussianTwistOnSwissBall SitUpExerciseName = 33 SitUpExerciseNameWeightedSitUp SitUpExerciseName = 34 SitUpExerciseNameXAbs SitUpExerciseName = 35 SitUpExerciseNameWeightedXAbs SitUpExerciseName = 36 SitUpExerciseNameSitUp SitUpExerciseName = 37 SitUpExerciseNameInvalid SitUpExerciseName = 0xFFFF )
func (SitUpExerciseName) String ¶
func (i SitUpExerciseName) String() string
type SlaveDeviceMsg ¶
type SlaveDeviceMsg struct { Manufacturer Manufacturer Product uint16 }
SlaveDeviceMsg represents the slave_device FIT message type.
func NewSlaveDeviceMsg ¶
func NewSlaveDeviceMsg() *SlaveDeviceMsg
NewSlaveDeviceMsg returns a slave_device FIT message initialized to all-invalid values.
func (*SlaveDeviceMsg) GetProduct ¶
func (x *SlaveDeviceMsg) GetProduct() interface{}
GetProduct returns the appropriate Product subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
type SoftwareMsg ¶
type SoftwareMsg struct { MessageIndex MessageIndex Version uint16 PartNumber string }
SoftwareMsg represents the software FIT message type.
func NewSoftwareMsg ¶
func NewSoftwareMsg() *SoftwareMsg
NewSoftwareMsg returns a software FIT message initialized to all-invalid values.
func (*SoftwareMsg) GetVersionScaled ¶
func (x *SoftwareMsg) GetVersionScaled() float64
GetVersionScaled returns Version with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set).
type SourceType ¶
type SourceType byte
SourceType represents the source_type FIT type.
const ( SourceTypeAnt SourceType = 0 // External device connected with ANT SourceTypeAntplus SourceType = 1 // External device connected with ANT+ SourceTypeBluetooth SourceType = 2 // External device connected with BT SourceTypeBluetoothLowEnergy SourceType = 3 // External device connected with BLE SourceTypeWifi SourceType = 4 // External device connected with Wifi SourceTypeLocal SourceType = 5 // Onboard device SourceTypeInvalid SourceType = 0xFF )
func (SourceType) String ¶
func (i SourceType) String() string
type SpeedZoneMsg ¶
type SpeedZoneMsg struct { MessageIndex MessageIndex HighValue uint16 Name string }
SpeedZoneMsg represents the speed_zone FIT message type.
func NewSpeedZoneMsg ¶
func NewSpeedZoneMsg() *SpeedZoneMsg
NewSpeedZoneMsg returns a speed_zone FIT message initialized to all-invalid values.
func (*SpeedZoneMsg) GetHighValueScaled ¶
func (x *SpeedZoneMsg) GetHighValueScaled() float64
GetHighValueScaled returns HighValue with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
type Sport ¶
type Sport byte
Sport represents the sport FIT type.
const ( SportGeneric Sport = 0 SportRunning Sport = 1 SportCycling Sport = 2 SportTransition Sport = 3 // Mulitsport transition SportFitnessEquipment Sport = 4 SportSwimming Sport = 5 SportBasketball Sport = 6 SportSoccer Sport = 7 SportTennis Sport = 8 SportAmericanFootball Sport = 9 SportTraining Sport = 10 SportWalking Sport = 11 SportCrossCountrySkiing Sport = 12 SportAlpineSkiing Sport = 13 SportSnowboarding Sport = 14 SportRowing Sport = 15 SportMountaineering Sport = 16 SportHiking Sport = 17 SportMultisport Sport = 18 SportPaddling Sport = 19 SportFlying Sport = 20 SportEBiking Sport = 21 SportMotorcycling Sport = 22 SportBoating Sport = 23 SportDriving Sport = 24 SportGolf Sport = 25 SportHangGliding Sport = 26 SportHorsebackRiding Sport = 27 SportHunting Sport = 28 SportFishing Sport = 29 SportInlineSkating Sport = 30 SportRockClimbing Sport = 31 SportSailing Sport = 32 SportIceSkating Sport = 33 SportSkyDiving Sport = 34 SportSnowshoeing Sport = 35 SportSnowmobiling Sport = 36 SportStandUpPaddleboarding Sport = 37 SportSurfing Sport = 38 SportWakeboarding Sport = 39 SportWaterSkiing Sport = 40 SportKayaking Sport = 41 SportRafting Sport = 42 SportWindsurfing Sport = 43 SportKitesurfing Sport = 44 SportTactical Sport = 45 SportJumpmaster Sport = 46 SportBoxing Sport = 47 SportFloorClimbing Sport = 48 SportAll Sport = 254 // All is for goals only to include all sports. SportInvalid Sport = 0xFF )
type SportBits0 ¶
type SportBits0 uint8
SportBits0 represents the sport_bits_0 FIT type.
const ( SportBits0Generic SportBits0 = 0x01 SportBits0Running SportBits0 = 0x02 SportBits0Cycling SportBits0 = 0x04 SportBits0Transition SportBits0 = 0x08 // Mulitsport transition SportBits0FitnessEquipment SportBits0 = 0x10 SportBits0Swimming SportBits0 = 0x20 SportBits0Basketball SportBits0 = 0x40 SportBits0Soccer SportBits0 = 0x80 SportBits0Invalid SportBits0 = 0x00 )
func (SportBits0) String ¶
func (i SportBits0) String() string
type SportBits1 ¶
type SportBits1 uint8
SportBits1 represents the sport_bits_1 FIT type.
const ( SportBits1Tennis SportBits1 = 0x01 SportBits1AmericanFootball SportBits1 = 0x02 SportBits1Training SportBits1 = 0x04 SportBits1Walking SportBits1 = 0x08 SportBits1CrossCountrySkiing SportBits1 = 0x10 SportBits1AlpineSkiing SportBits1 = 0x20 SportBits1Snowboarding SportBits1 = 0x40 SportBits1Rowing SportBits1 = 0x80 SportBits1Invalid SportBits1 = 0x00 )
func (SportBits1) String ¶
func (i SportBits1) String() string
type SportBits2 ¶
type SportBits2 uint8
SportBits2 represents the sport_bits_2 FIT type.
const ( SportBits2Mountaineering SportBits2 = 0x01 SportBits2Hiking SportBits2 = 0x02 SportBits2Multisport SportBits2 = 0x04 SportBits2Paddling SportBits2 = 0x08 SportBits2Flying SportBits2 = 0x10 SportBits2EBiking SportBits2 = 0x20 SportBits2Motorcycling SportBits2 = 0x40 SportBits2Boating SportBits2 = 0x80 SportBits2Invalid SportBits2 = 0x00 )
func (SportBits2) String ¶
func (i SportBits2) String() string
type SportBits3 ¶
type SportBits3 uint8
SportBits3 represents the sport_bits_3 FIT type.
const ( SportBits3Driving SportBits3 = 0x01 SportBits3Golf SportBits3 = 0x02 SportBits3HangGliding SportBits3 = 0x04 SportBits3HorsebackRiding SportBits3 = 0x08 SportBits3Hunting SportBits3 = 0x10 SportBits3Fishing SportBits3 = 0x20 SportBits3InlineSkating SportBits3 = 0x40 SportBits3RockClimbing SportBits3 = 0x80 SportBits3Invalid SportBits3 = 0x00 )
func (SportBits3) String ¶
func (i SportBits3) String() string
type SportBits4 ¶
type SportBits4 uint8
SportBits4 represents the sport_bits_4 FIT type.
const ( SportBits4Sailing SportBits4 = 0x01 SportBits4IceSkating SportBits4 = 0x02 SportBits4SkyDiving SportBits4 = 0x04 SportBits4Snowshoeing SportBits4 = 0x08 SportBits4Snowmobiling SportBits4 = 0x10 SportBits4StandUpPaddleboarding SportBits4 = 0x20 SportBits4Surfing SportBits4 = 0x40 SportBits4Wakeboarding SportBits4 = 0x80 SportBits4Invalid SportBits4 = 0x00 )
func (SportBits4) String ¶
func (i SportBits4) String() string
type SportBits5 ¶
type SportBits5 uint8
SportBits5 represents the sport_bits_5 FIT type.
const ( SportBits5WaterSkiing SportBits5 = 0x01 SportBits5Kayaking SportBits5 = 0x02 SportBits5Rafting SportBits5 = 0x04 SportBits5Windsurfing SportBits5 = 0x08 SportBits5Kitesurfing SportBits5 = 0x10 SportBits5Tactical SportBits5 = 0x20 SportBits5Jumpmaster SportBits5 = 0x40 SportBits5Boxing SportBits5 = 0x80 SportBits5Invalid SportBits5 = 0x00 )
func (SportBits5) String ¶
func (i SportBits5) String() string
type SportBits6 ¶
type SportBits6 uint8
SportBits6 represents the sport_bits_6 FIT type.
const ( SportBits6FloorClimbing SportBits6 = 0x01 SportBits6Invalid SportBits6 = 0x00 )
func (SportBits6) String ¶
func (i SportBits6) String() string
type SportEvent ¶
type SportEvent byte
SportEvent represents the sport_event FIT type.
const ( SportEventUncategorized SportEvent = 0 SportEventGeocaching SportEvent = 1 SportEventFitness SportEvent = 2 SportEventRecreation SportEvent = 3 SportEventRace SportEvent = 4 SportEventSpecialEvent SportEvent = 5 SportEventTraining SportEvent = 6 SportEventTransportation SportEvent = 7 SportEventTouring SportEvent = 8 SportEventInvalid SportEvent = 0xFF )
func (SportEvent) String ¶
func (i SportEvent) String() string
type SportFile ¶
type SportFile struct { ZonesTarget *ZonesTargetMsg Sport *SportMsg HrZones []*HrZoneMsg PowerZones []*PowerZoneMsg MetZones []*MetZoneMsg SpeedZones []*SpeedZoneMsg CadenceZones []*CadenceZoneMsg }
SportFile represents the Sport Settings FIT file type. Describes a user’s desired sport/zone settings.
type SportMsg ¶
SportMsg represents the sport FIT message type.
func NewSportMsg ¶
func NewSportMsg() *SportMsg
NewSportMsg returns a sport FIT message initialized to all-invalid values.
type SquatExerciseName ¶
type SquatExerciseName uint16
SquatExerciseName represents the squat_exercise_name FIT type.
const ( SquatExerciseNameLegPress SquatExerciseName = 0 SquatExerciseNameBackSquatWithBodyBar SquatExerciseName = 1 SquatExerciseNameBackSquats SquatExerciseName = 2 SquatExerciseNameWeightedBackSquats SquatExerciseName = 3 SquatExerciseNameBalancingSquat SquatExerciseName = 4 SquatExerciseNameWeightedBalancingSquat SquatExerciseName = 5 SquatExerciseNameBarbellBackSquat SquatExerciseName = 6 SquatExerciseNameBarbellBoxSquat SquatExerciseName = 7 SquatExerciseNameBarbellFrontSquat SquatExerciseName = 8 SquatExerciseNameBarbellHackSquat SquatExerciseName = 9 SquatExerciseNameBarbellHangSquatSnatch SquatExerciseName = 10 SquatExerciseNameBarbellLateralStepUp SquatExerciseName = 11 SquatExerciseNameBarbellQuarterSquat SquatExerciseName = 12 SquatExerciseNameBarbellSiffSquat SquatExerciseName = 13 SquatExerciseNameBarbellSquatSnatch SquatExerciseName = 14 SquatExerciseNameBarbellSquatWithHeelsRaised SquatExerciseName = 15 SquatExerciseNameBarbellStepover SquatExerciseName = 16 SquatExerciseNameBarbellStepUp SquatExerciseName = 17 SquatExerciseNameBenchSquatWithRotationalChop SquatExerciseName = 18 SquatExerciseNameWeightedBenchSquatWithRotationalChop SquatExerciseName = 19 SquatExerciseNameBodyWeightWallSquat SquatExerciseName = 20 SquatExerciseNameWeightedWallSquat SquatExerciseName = 21 SquatExerciseNameBoxStepSquat SquatExerciseName = 22 SquatExerciseNameWeightedBoxStepSquat SquatExerciseName = 23 SquatExerciseNameBracedSquat SquatExerciseName = 24 SquatExerciseNameCrossedArmBarbellFrontSquat SquatExerciseName = 25 SquatExerciseNameCrossoverDumbbellStepUp SquatExerciseName = 26 SquatExerciseNameDumbbellFrontSquat SquatExerciseName = 27 SquatExerciseNameDumbbellSplitSquat SquatExerciseName = 28 SquatExerciseNameDumbbellSquat SquatExerciseName = 29 SquatExerciseNameDumbbellSquatClean SquatExerciseName = 30 SquatExerciseNameDumbbellStepover SquatExerciseName = 31 SquatExerciseNameDumbbellStepUp SquatExerciseName = 32 SquatExerciseNameElevatedSingleLegSquat SquatExerciseName = 33 SquatExerciseNameWeightedElevatedSingleLegSquat SquatExerciseName = 34 SquatExerciseNameFigureFourSquats SquatExerciseName = 35 SquatExerciseNameWeightedFigureFourSquats SquatExerciseName = 36 SquatExerciseNameGobletSquat SquatExerciseName = 37 SquatExerciseNameKettlebellSquat SquatExerciseName = 38 SquatExerciseNameKettlebellSwingOverhead SquatExerciseName = 39 SquatExerciseNameKettlebellSwingWithFlipToSquat SquatExerciseName = 40 SquatExerciseNameLateralDumbbellStepUp SquatExerciseName = 41 SquatExerciseNameOneLeggedSquat SquatExerciseName = 42 SquatExerciseNameOverheadDumbbellSquat SquatExerciseName = 43 SquatExerciseNameOverheadSquat SquatExerciseName = 44 SquatExerciseNamePartialSingleLegSquat SquatExerciseName = 45 SquatExerciseNameWeightedPartialSingleLegSquat SquatExerciseName = 46 SquatExerciseNamePistolSquat SquatExerciseName = 47 SquatExerciseNameWeightedPistolSquat SquatExerciseName = 48 SquatExerciseNamePlieSlides SquatExerciseName = 49 SquatExerciseNameWeightedPlieSlides SquatExerciseName = 50 SquatExerciseNamePlieSquat SquatExerciseName = 51 SquatExerciseNameWeightedPlieSquat SquatExerciseName = 52 SquatExerciseNamePrisonerSquat SquatExerciseName = 53 SquatExerciseNameWeightedPrisonerSquat SquatExerciseName = 54 SquatExerciseNameSingleLegBenchGetUp SquatExerciseName = 55 SquatExerciseNameWeightedSingleLegBenchGetUp SquatExerciseName = 56 SquatExerciseNameSingleLegBenchSquat SquatExerciseName = 57 SquatExerciseNameWeightedSingleLegBenchSquat SquatExerciseName = 58 SquatExerciseNameSingleLegSquatOnSwissBall SquatExerciseName = 59 SquatExerciseNameWeightedSingleLegSquatOnSwissBall SquatExerciseName = 60 SquatExerciseNameSquat SquatExerciseName = 61 SquatExerciseNameWeightedSquat SquatExerciseName = 62 SquatExerciseNameSquatsWithBand SquatExerciseName = 63 SquatExerciseNameStaggeredSquat SquatExerciseName = 64 SquatExerciseNameWeightedStaggeredSquat SquatExerciseName = 65 SquatExerciseNameStepUp SquatExerciseName = 66 SquatExerciseNameWeightedStepUp SquatExerciseName = 67 SquatExerciseNameSuitcaseSquats SquatExerciseName = 68 SquatExerciseNameSumoSquat SquatExerciseName = 69 SquatExerciseNameSumoSquatSlideIn SquatExerciseName = 70 SquatExerciseNameWeightedSumoSquatSlideIn SquatExerciseName = 71 SquatExerciseNameSumoSquatToHighPull SquatExerciseName = 72 SquatExerciseNameSumoSquatToStand SquatExerciseName = 73 SquatExerciseNameWeightedSumoSquatToStand SquatExerciseName = 74 SquatExerciseNameSumoSquatWithRotation SquatExerciseName = 75 SquatExerciseNameWeightedSumoSquatWithRotation SquatExerciseName = 76 SquatExerciseNameSwissBallBodyWeightWallSquat SquatExerciseName = 77 SquatExerciseNameWeightedSwissBallWallSquat SquatExerciseName = 78 SquatExerciseNameThrusters SquatExerciseName = 79 SquatExerciseNameUnevenSquat SquatExerciseName = 80 SquatExerciseNameWeightedUnevenSquat SquatExerciseName = 81 SquatExerciseNameWaistSlimmingSquat SquatExerciseName = 82 SquatExerciseNameWallBall SquatExerciseName = 83 SquatExerciseNameWideStanceBarbellSquat SquatExerciseName = 84 SquatExerciseNameWideStanceGobletSquat SquatExerciseName = 85 SquatExerciseNameZercherSquat SquatExerciseName = 86 SquatExerciseNameKbsOverhead SquatExerciseName = 87 // Deprecated do not use SquatExerciseNameSquatAndSideKick SquatExerciseName = 88 SquatExerciseNameSquatJumpsInNOut SquatExerciseName = 89 SquatExerciseNamePilatesPlieSquatsParallelTurnedOutFlatAndHeels SquatExerciseName = 90 SquatExerciseNameReleveStraightLegAndKneeBentWithOneLegVariation SquatExerciseName = 91 SquatExerciseNameInvalid SquatExerciseName = 0xFFFF )
func (SquatExerciseName) String ¶
func (i SquatExerciseName) String() string
type StressLevelMsg ¶
type StressLevelMsg struct { }
StressLevelMsg represents the stress_level FIT message type.
func NewStressLevelMsg ¶
func NewStressLevelMsg() *StressLevelMsg
NewStressLevelMsg returns a stress_level FIT message initialized to all-invalid values.
type StrokeType ¶
type StrokeType byte
StrokeType represents the stroke_type FIT type.
const ( StrokeTypeNoEvent StrokeType = 0 StrokeTypeOther StrokeType = 1 // stroke was detected but cannot be identified StrokeTypeServe StrokeType = 2 StrokeTypeForehand StrokeType = 3 StrokeTypeBackhand StrokeType = 4 StrokeTypeSmash StrokeType = 5 StrokeTypeInvalid StrokeType = 0xFF )
func (StrokeType) String ¶
func (i StrokeType) String() string
type SubSport ¶
type SubSport byte
SubSport represents the sub_sport FIT type.
const ( SubSportGeneric SubSport = 0 SubSportTreadmill SubSport = 1 // Run/Fitness Equipment SubSportStreet SubSport = 2 // Run SubSportTrail SubSport = 3 // Run SubSportTrack SubSport = 4 // Run SubSportSpin SubSport = 5 // Cycling SubSportIndoorCycling SubSport = 6 // Cycling/Fitness Equipment SubSportRoad SubSport = 7 // Cycling SubSportMountain SubSport = 8 // Cycling SubSportDownhill SubSport = 9 // Cycling SubSportRecumbent SubSport = 10 // Cycling SubSportCyclocross SubSport = 11 // Cycling SubSportHandCycling SubSport = 12 // Cycling SubSportTrackCycling SubSport = 13 // Cycling SubSportIndoorRowing SubSport = 14 // Fitness Equipment SubSportElliptical SubSport = 15 // Fitness Equipment SubSportStairClimbing SubSport = 16 // Fitness Equipment SubSportLapSwimming SubSport = 17 // Swimming SubSportOpenWater SubSport = 18 // Swimming SubSportFlexibilityTraining SubSport = 19 // Training SubSportStrengthTraining SubSport = 20 // Training SubSportWarmUp SubSport = 21 // Tennis SubSportMatch SubSport = 22 // Tennis SubSportExercise SubSport = 23 // Tennis SubSportChallenge SubSport = 24 SubSportIndoorSkiing SubSport = 25 // Fitness Equipment SubSportCardioTraining SubSport = 26 // Training SubSportIndoorWalking SubSport = 27 // Walking/Fitness Equipment SubSportEBikeFitness SubSport = 28 // E-Biking SubSportBmx SubSport = 29 // Cycling SubSportCasualWalking SubSport = 30 // Walking SubSportSpeedWalking SubSport = 31 // Walking SubSportBikeToRunTransition SubSport = 32 // Transition SubSportRunToBikeTransition SubSport = 33 // Transition SubSportSwimToBikeTransition SubSport = 34 // Transition SubSportAtv SubSport = 35 // Motorcycling SubSportMotocross SubSport = 36 // Motorcycling SubSportBackcountry SubSport = 37 // Alpine Skiing/Snowboarding SubSportResort SubSport = 38 // Alpine Skiing/Snowboarding SubSportRcDrone SubSport = 39 // Flying SubSportWingsuit SubSport = 40 // Flying SubSportWhitewater SubSport = 41 // Kayaking/Rafting SubSportSkateSkiing SubSport = 42 // Cross Country Skiing SubSportYoga SubSport = 43 // Training SubSportPilates SubSport = 44 // Fitness Equipment SubSportIndoorRunning SubSport = 45 // Run SubSportGravelCycling SubSport = 46 // Cycling SubSportEBikeMountain SubSport = 47 // Cycling SubSportCommuting SubSport = 48 // Cycling SubSportMixedSurface SubSport = 49 // Cycling SubSportTrackMe SubSport = 51 SubSportMap SubSport = 52 SubSportSingleGasDiving SubSport = 53 // Diving SubSportMultiGasDiving SubSport = 54 // Diving SubSportGaugeDiving SubSport = 55 // Diving SubSportApneaDiving SubSport = 56 // Diving SubSportApneaHunting SubSport = 57 // Diving SubSportVirtualActivity SubSport = 58 SubSportObstacle SubSport = 59 // Used for events where participants run, crawl through mud, climb over walls, etc. SubSportAll SubSport = 254 SubSportInvalid SubSport = 0xFF )
type SupportedExdScreenLayouts ¶
type SupportedExdScreenLayouts uint32
SupportedExdScreenLayouts represents the supported_exd_screen_layouts FIT type.
const ( SupportedExdScreenLayoutsFullScreen SupportedExdScreenLayouts = 0x00000001 SupportedExdScreenLayoutsHalfVertical SupportedExdScreenLayouts = 0x00000002 SupportedExdScreenLayoutsHalfHorizontal SupportedExdScreenLayouts = 0x00000004 SupportedExdScreenLayoutsHalfVerticalRightSplit SupportedExdScreenLayouts = 0x00000008 SupportedExdScreenLayoutsHalfHorizontalBottomSplit SupportedExdScreenLayouts = 0x00000010 SupportedExdScreenLayoutsFullQuarterSplit SupportedExdScreenLayouts = 0x00000020 SupportedExdScreenLayoutsHalfVerticalLeftSplit SupportedExdScreenLayouts = 0x00000040 SupportedExdScreenLayoutsHalfHorizontalTopSplit SupportedExdScreenLayouts = 0x00000080 SupportedExdScreenLayoutsInvalid SupportedExdScreenLayouts = 0x00000000 )
func (SupportedExdScreenLayouts) String ¶
func (i SupportedExdScreenLayouts) String() string
type SwimStroke ¶
type SwimStroke byte
SwimStroke represents the swim_stroke FIT type.
const ( SwimStrokeFreestyle SwimStroke = 0 SwimStrokeBackstroke SwimStroke = 1 SwimStrokeBreaststroke SwimStroke = 2 SwimStrokeButterfly SwimStroke = 3 SwimStrokeDrill SwimStroke = 4 SwimStrokeMixed SwimStroke = 5 SwimStrokeIm SwimStroke = 6 // IM is a mixed interval containing the same number of lengths for each of: Butterfly, Backstroke, Breaststroke, Freestyle, swam in that order. SwimStrokeInvalid SwimStroke = 0xFF )
func (SwimStroke) String ¶
func (i SwimStroke) String() string
type TapSensitivity ¶
type TapSensitivity byte
TapSensitivity represents the tap_sensitivity FIT type.
const ( TapSensitivityHigh TapSensitivity = 0 TapSensitivityMedium TapSensitivity = 1 TapSensitivityLow TapSensitivity = 2 TapSensitivityInvalid TapSensitivity = 0xFF )
func (TapSensitivity) String ¶
func (i TapSensitivity) String() string
type ThreeDSensorCalibrationMsg ¶
type ThreeDSensorCalibrationMsg struct { }
ThreeDSensorCalibrationMsg represents the three_d_sensor_calibration FIT message type.
func NewThreeDSensorCalibrationMsg ¶
func NewThreeDSensorCalibrationMsg() *ThreeDSensorCalibrationMsg
NewThreeDSensorCalibrationMsg returns a three_d_sensor_calibration FIT message initialized to all-invalid values.
type TimeIntoDay ¶
type TimeIntoDay uint32
TimeIntoDay represents the time_into_day FIT type.
const (
TimeIntoDayInvalid TimeIntoDay = 0xFFFFFFFF
)
func (TimeIntoDay) String ¶
func (i TimeIntoDay) String() string
type TimeMode ¶
type TimeMode byte
TimeMode represents the time_mode FIT type.
const ( TimeModeHour12 TimeMode = 0 TimeModeHour24 TimeMode = 1 // Does not use a leading zero and has a colon TimeModeMilitary TimeMode = 2 // Uses a leading zero and does not have a colon TimeModeHour12WithSeconds TimeMode = 3 TimeModeHour24WithSeconds TimeMode = 4 TimeModeUtc TimeMode = 5 TimeModeInvalid TimeMode = 0xFF )
type TimeZone ¶
type TimeZone byte
TimeZone represents the time_zone FIT type.
const ( TimeZoneAlmaty TimeZone = 0 TimeZoneBangkok TimeZone = 1 TimeZoneBombay TimeZone = 2 TimeZoneBrasilia TimeZone = 3 TimeZoneCairo TimeZone = 4 TimeZoneCapeVerdeIs TimeZone = 5 TimeZoneDarwin TimeZone = 6 TimeZoneEniwetok TimeZone = 7 TimeZoneFiji TimeZone = 8 TimeZoneHongKong TimeZone = 9 TimeZoneIslamabad TimeZone = 10 TimeZoneKabul TimeZone = 11 TimeZoneMagadan TimeZone = 12 TimeZoneMidAtlantic TimeZone = 13 TimeZoneMoscow TimeZone = 14 TimeZoneMuscat TimeZone = 15 TimeZoneNewfoundland TimeZone = 16 TimeZoneSamoa TimeZone = 17 TimeZoneSydney TimeZone = 18 TimeZoneTehran TimeZone = 19 TimeZoneTokyo TimeZone = 20 TimeZoneUsAlaska TimeZone = 21 TimeZoneUsAtlantic TimeZone = 22 TimeZoneUsCentral TimeZone = 23 TimeZoneUsEastern TimeZone = 24 TimeZoneUsHawaii TimeZone = 25 TimeZoneUsMountain TimeZone = 26 TimeZoneUsPacific TimeZone = 27 TimeZoneOther TimeZone = 28 TimeZoneAuckland TimeZone = 29 TimeZoneKathmandu TimeZone = 30 TimeZoneEuropeWesternWet TimeZone = 31 TimeZoneEuropeCentralCet TimeZone = 32 TimeZoneEuropeEasternEet TimeZone = 33 TimeZoneJakarta TimeZone = 34 TimeZonePerth TimeZone = 35 TimeZoneAdelaide TimeZone = 36 TimeZoneBrisbane TimeZone = 37 TimeZoneTasmania TimeZone = 38 TimeZoneIceland TimeZone = 39 TimeZoneAmsterdam TimeZone = 40 TimeZoneAthens TimeZone = 41 TimeZoneBarcelona TimeZone = 42 TimeZoneBerlin TimeZone = 43 TimeZoneBrussels TimeZone = 44 TimeZoneBudapest TimeZone = 45 TimeZoneCopenhagen TimeZone = 46 TimeZoneDublin TimeZone = 47 TimeZoneHelsinki TimeZone = 48 TimeZoneLisbon TimeZone = 49 TimeZoneLondon TimeZone = 50 TimeZoneMadrid TimeZone = 51 TimeZoneMunich TimeZone = 52 TimeZoneOslo TimeZone = 53 TimeZoneParis TimeZone = 54 TimeZonePrague TimeZone = 55 TimeZoneReykjavik TimeZone = 56 TimeZoneRome TimeZone = 57 TimeZoneStockholm TimeZone = 58 TimeZoneVienna TimeZone = 59 TimeZoneWarsaw TimeZone = 60 TimeZoneZurich TimeZone = 61 TimeZoneQuebec TimeZone = 62 TimeZoneOntario TimeZone = 63 TimeZoneManitoba TimeZone = 64 TimeZoneSaskatchewan TimeZone = 65 TimeZoneAlberta TimeZone = 66 TimeZoneBritishColumbia TimeZone = 67 TimeZoneBoise TimeZone = 68 TimeZoneBoston TimeZone = 69 TimeZoneChicago TimeZone = 70 TimeZoneDallas TimeZone = 71 TimeZoneDenver TimeZone = 72 TimeZoneKansasCity TimeZone = 73 TimeZoneLasVegas TimeZone = 74 TimeZoneLosAngeles TimeZone = 75 TimeZoneMiami TimeZone = 76 TimeZoneMinneapolis TimeZone = 77 TimeZoneNewYork TimeZone = 78 TimeZoneNewOrleans TimeZone = 79 TimeZonePhoenix TimeZone = 80 TimeZoneSantaFe TimeZone = 81 TimeZoneSeattle TimeZone = 82 TimeZoneWashingtonDc TimeZone = 83 TimeZoneUsArizona TimeZone = 84 TimeZoneChita TimeZone = 85 TimeZoneEkaterinburg TimeZone = 86 TimeZoneIrkutsk TimeZone = 87 TimeZoneKaliningrad TimeZone = 88 TimeZoneKrasnoyarsk TimeZone = 89 TimeZoneNovosibirsk TimeZone = 90 TimeZonePetropavlovskKamchatskiy TimeZone = 91 TimeZoneSamara TimeZone = 92 TimeZoneVladivostok TimeZone = 93 TimeZoneMexicoCentral TimeZone = 94 TimeZoneMexicoMountain TimeZone = 95 TimeZoneMexicoPacific TimeZone = 96 TimeZoneCapeTown TimeZone = 97 TimeZoneWinkhoek TimeZone = 98 TimeZoneLagos TimeZone = 99 TimeZoneRiyahd TimeZone = 100 TimeZoneVenezuela TimeZone = 101 TimeZoneAustraliaLh TimeZone = 102 TimeZoneSantiago TimeZone = 103 TimeZoneManual TimeZone = 253 TimeZoneAutomatic TimeZone = 254 TimeZoneInvalid TimeZone = 0xFF )
type TimerTrigger ¶
type TimerTrigger byte
TimerTrigger represents the timer_trigger FIT type.
const ( TimerTriggerManual TimerTrigger = 0 TimerTriggerAuto TimerTrigger = 1 TimerTriggerFitnessEquipment TimerTrigger = 2 TimerTriggerInvalid TimerTrigger = 0xFF )
func (TimerTrigger) String ¶
func (i TimerTrigger) String() string
type TimestampCorrelationMsg ¶
type TimestampCorrelationMsg struct { }
TimestampCorrelationMsg represents the timestamp_correlation FIT message type.
func NewTimestampCorrelationMsg ¶
func NewTimestampCorrelationMsg() *TimestampCorrelationMsg
NewTimestampCorrelationMsg returns a timestamp_correlation FIT message initialized to all-invalid values.
type TissueModelType ¶
type TissueModelType byte
TissueModelType represents the tissue_model_type FIT type.
const ( TissueModelTypeZhl16c TissueModelType = 0 // Buhlmann's decompression algorithm, version C TissueModelTypeInvalid TissueModelType = 0xFF )
func (TissueModelType) String ¶
func (i TissueModelType) String() string
type TotalBodyExerciseName ¶
type TotalBodyExerciseName uint16
TotalBodyExerciseName represents the total_body_exercise_name FIT type.
const ( TotalBodyExerciseNameBurpee TotalBodyExerciseName = 0 TotalBodyExerciseNameWeightedBurpee TotalBodyExerciseName = 1 TotalBodyExerciseNameBurpeeBoxJump TotalBodyExerciseName = 2 TotalBodyExerciseNameWeightedBurpeeBoxJump TotalBodyExerciseName = 3 TotalBodyExerciseNameHighPullBurpee TotalBodyExerciseName = 4 TotalBodyExerciseNameManMakers TotalBodyExerciseName = 5 TotalBodyExerciseNameOneArmBurpee TotalBodyExerciseName = 6 TotalBodyExerciseNameSquatThrusts TotalBodyExerciseName = 7 TotalBodyExerciseNameWeightedSquatThrusts TotalBodyExerciseName = 8 TotalBodyExerciseNameSquatPlankPushUp TotalBodyExerciseName = 9 TotalBodyExerciseNameWeightedSquatPlankPushUp TotalBodyExerciseName = 10 TotalBodyExerciseNameStandingTRotationBalance TotalBodyExerciseName = 11 TotalBodyExerciseNameWeightedStandingTRotationBalance TotalBodyExerciseName = 12 TotalBodyExerciseNameInvalid TotalBodyExerciseName = 0xFFFF )
func (TotalBodyExerciseName) String ¶
func (i TotalBodyExerciseName) String() string
type TotalsFile ¶
type TotalsFile struct {
Totals []*TotalsMsg
}
TotalsFile represents the Totals FIT file type. Summarizes a user’s total activity, characterized by sport.
type TotalsMsg ¶
type TotalsMsg struct { MessageIndex MessageIndex Timestamp time.Time TimerTime uint32 // Excludes pauses Distance uint32 Calories uint32 Sport Sport ElapsedTime uint32 // Includes pauses Sessions uint16 ActiveTime uint32 }
TotalsMsg represents the totals FIT message type.
func NewTotalsMsg ¶
func NewTotalsMsg() *TotalsMsg
NewTotalsMsg returns a totals FIT message initialized to all-invalid values.
type TrainingFileMsg ¶
type TrainingFileMsg struct { Timestamp time.Time Type FileType Manufacturer Manufacturer Product uint16 SerialNumber uint32 TimeCreated time.Time }
TrainingFileMsg represents the training_file FIT message type.
func NewTrainingFileMsg ¶
func NewTrainingFileMsg() *TrainingFileMsg
NewTrainingFileMsg returns a training_file FIT message initialized to all-invalid values.
func (*TrainingFileMsg) GetProduct ¶
func (x *TrainingFileMsg) GetProduct() interface{}
GetProduct returns the appropriate Product subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
type TricepsExtensionExerciseName ¶
type TricepsExtensionExerciseName uint16
TricepsExtensionExerciseName represents the triceps_extension_exercise_name FIT type.
const ( TricepsExtensionExerciseNameBenchDip TricepsExtensionExerciseName = 0 TricepsExtensionExerciseNameWeightedBenchDip TricepsExtensionExerciseName = 1 TricepsExtensionExerciseNameBodyWeightDip TricepsExtensionExerciseName = 2 TricepsExtensionExerciseNameCableKickback TricepsExtensionExerciseName = 3 TricepsExtensionExerciseNameCableLyingTricepsExtension TricepsExtensionExerciseName = 4 TricepsExtensionExerciseNameCableOverheadTricepsExtension TricepsExtensionExerciseName = 5 TricepsExtensionExerciseNameDumbbellKickback TricepsExtensionExerciseName = 6 TricepsExtensionExerciseNameDumbbellLyingTricepsExtension TricepsExtensionExerciseName = 7 TricepsExtensionExerciseNameEzBarOverheadTricepsExtension TricepsExtensionExerciseName = 8 TricepsExtensionExerciseNameInclineDip TricepsExtensionExerciseName = 9 TricepsExtensionExerciseNameWeightedInclineDip TricepsExtensionExerciseName = 10 TricepsExtensionExerciseNameInclineEzBarLyingTricepsExtension TricepsExtensionExerciseName = 11 TricepsExtensionExerciseNameLyingDumbbellPulloverToExtension TricepsExtensionExerciseName = 12 TricepsExtensionExerciseNameLyingEzBarTricepsExtension TricepsExtensionExerciseName = 13 TricepsExtensionExerciseNameLyingTricepsExtensionToCloseGripBenchPress TricepsExtensionExerciseName = 14 TricepsExtensionExerciseNameOverheadDumbbellTricepsExtension TricepsExtensionExerciseName = 15 TricepsExtensionExerciseNameRecliningTricepsPress TricepsExtensionExerciseName = 16 TricepsExtensionExerciseNameReverseGripPressdown TricepsExtensionExerciseName = 17 TricepsExtensionExerciseNameReverseGripTricepsPressdown TricepsExtensionExerciseName = 18 TricepsExtensionExerciseNameRopePressdown TricepsExtensionExerciseName = 19 TricepsExtensionExerciseNameSeatedBarbellOverheadTricepsExtension TricepsExtensionExerciseName = 20 TricepsExtensionExerciseNameSeatedDumbbellOverheadTricepsExtension TricepsExtensionExerciseName = 21 TricepsExtensionExerciseNameSeatedEzBarOverheadTricepsExtension TricepsExtensionExerciseName = 22 TricepsExtensionExerciseNameSeatedSingleArmOverheadDumbbellExtension TricepsExtensionExerciseName = 23 TricepsExtensionExerciseNameSingleArmDumbbellOverheadTricepsExtension TricepsExtensionExerciseName = 24 TricepsExtensionExerciseNameSingleDumbbellSeatedOverheadTricepsExtension TricepsExtensionExerciseName = 25 TricepsExtensionExerciseNameSingleLegBenchDipAndKick TricepsExtensionExerciseName = 26 TricepsExtensionExerciseNameWeightedSingleLegBenchDipAndKick TricepsExtensionExerciseName = 27 TricepsExtensionExerciseNameSingleLegDip TricepsExtensionExerciseName = 28 TricepsExtensionExerciseNameWeightedSingleLegDip TricepsExtensionExerciseName = 29 TricepsExtensionExerciseNameStaticLyingTricepsExtension TricepsExtensionExerciseName = 30 TricepsExtensionExerciseNameSuspendedDip TricepsExtensionExerciseName = 31 TricepsExtensionExerciseNameWeightedSuspendedDip TricepsExtensionExerciseName = 32 TricepsExtensionExerciseNameSwissBallDumbbellLyingTricepsExtension TricepsExtensionExerciseName = 33 TricepsExtensionExerciseNameSwissBallEzBarLyingTricepsExtension TricepsExtensionExerciseName = 34 TricepsExtensionExerciseNameSwissBallEzBarOverheadTricepsExtension TricepsExtensionExerciseName = 35 TricepsExtensionExerciseNameTabletopDip TricepsExtensionExerciseName = 36 TricepsExtensionExerciseNameWeightedTabletopDip TricepsExtensionExerciseName = 37 TricepsExtensionExerciseNameTricepsExtensionOnFloor TricepsExtensionExerciseName = 38 TricepsExtensionExerciseNameTricepsPressdown TricepsExtensionExerciseName = 39 TricepsExtensionExerciseNameWeightedDip TricepsExtensionExerciseName = 40 TricepsExtensionExerciseNameInvalid TricepsExtensionExerciseName = 0xFFFF )
func (TricepsExtensionExerciseName) String ¶
func (i TricepsExtensionExerciseName) String() string
type TurnType ¶
type TurnType byte
TurnType represents the turn_type FIT type.
const ( TurnTypeArrivingIdx TurnType = 0 TurnTypeArrivingLeftIdx TurnType = 1 TurnTypeArrivingRightIdx TurnType = 2 TurnTypeArrivingViaIdx TurnType = 3 TurnTypeArrivingViaLeftIdx TurnType = 4 TurnTypeArrivingViaRightIdx TurnType = 5 TurnTypeBearKeepLeftIdx TurnType = 6 TurnTypeBearKeepRightIdx TurnType = 7 TurnTypeContinueIdx TurnType = 8 TurnTypeExitLeftIdx TurnType = 9 TurnTypeExitRightIdx TurnType = 10 TurnTypeFerryIdx TurnType = 11 TurnTypeRoundabout45Idx TurnType = 12 TurnTypeRoundabout90Idx TurnType = 13 TurnTypeRoundabout135Idx TurnType = 14 TurnTypeRoundabout180Idx TurnType = 15 TurnTypeRoundabout225Idx TurnType = 16 TurnTypeRoundabout270Idx TurnType = 17 TurnTypeRoundabout315Idx TurnType = 18 TurnTypeRoundabout360Idx TurnType = 19 TurnTypeRoundaboutNeg45Idx TurnType = 20 TurnTypeRoundaboutNeg90Idx TurnType = 21 TurnTypeRoundaboutNeg135Idx TurnType = 22 TurnTypeRoundaboutNeg180Idx TurnType = 23 TurnTypeRoundaboutNeg225Idx TurnType = 24 TurnTypeRoundaboutNeg270Idx TurnType = 25 TurnTypeRoundaboutNeg315Idx TurnType = 26 TurnTypeRoundaboutNeg360Idx TurnType = 27 TurnTypeRoundaboutGenericIdx TurnType = 28 TurnTypeRoundaboutNegGenericIdx TurnType = 29 TurnTypeSharpTurnLeftIdx TurnType = 30 TurnTypeSharpTurnRightIdx TurnType = 31 TurnTypeTurnLeftIdx TurnType = 32 TurnTypeTurnRightIdx TurnType = 33 TurnTypeUturnLeftIdx TurnType = 34 TurnTypeUturnRightIdx TurnType = 35 TurnTypeIconInvIdx TurnType = 36 TurnTypeIconIdxCnt TurnType = 37 TurnTypeInvalid TurnType = 0xFF )
type UnknownField ¶
UnknownField represents an unknown FIT message field for a known message found in the official profile. It contains the message and field number, in addition to how many times the field for a specific message was encountered during decoding.
type UnknownMessage ¶
UnknownMessage represents an unknown FIT message not found in the official profile. It contains the message number and how many times the was encountered during decoding.
type UserLocalId ¶
type UserLocalId uint16
UserLocalId represents the user_local_id FIT type.
const ( UserLocalIdLocalMin UserLocalId = 0x0000 UserLocalIdLocalMax UserLocalId = 0x000F UserLocalIdStationaryMin UserLocalId = 0x0010 UserLocalIdStationaryMax UserLocalId = 0x00FF UserLocalIdPortableMin UserLocalId = 0x0100 UserLocalIdPortableMax UserLocalId = 0xFFFE UserLocalIdInvalid UserLocalId = 0xFFFF )
func (UserLocalId) String ¶
func (i UserLocalId) String() string
type UserProfileMsg ¶
type UserProfileMsg struct { MessageIndex MessageIndex FriendlyName string Gender Gender Age uint8 Height uint8 Weight uint16 Language Language ElevSetting DisplayMeasure WeightSetting DisplayMeasure RestingHeartRate uint8 DefaultMaxRunningHeartRate uint8 DefaultMaxBikingHeartRate uint8 DefaultMaxHeartRate uint8 HrSetting DisplayHeart SpeedSetting DisplayMeasure DistSetting DisplayMeasure PowerSetting DisplayPower ActivityClass ActivityClass PositionSetting DisplayPosition TemperatureSetting DisplayMeasure LocalId UserLocalId GlobalId []byte HeightSetting DisplayMeasure UserRunningStepLength uint16 // User defined running step length set to 0 for auto length UserWalkingStepLength uint16 // User defined walking step length set to 0 for auto length }
UserProfileMsg represents the user_profile FIT message type.
func NewUserProfileMsg ¶
func NewUserProfileMsg() *UserProfileMsg
NewUserProfileMsg returns a user_profile FIT message initialized to all-invalid values.
func (*UserProfileMsg) GetHeightScaled ¶
func (x *UserProfileMsg) GetHeightScaled() float64
GetHeightScaled returns Height with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*UserProfileMsg) GetUserRunningStepLengthScaled ¶
func (x *UserProfileMsg) GetUserRunningStepLengthScaled() float64
GetUserRunningStepLengthScaled returns UserRunningStepLength with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*UserProfileMsg) GetUserWalkingStepLengthScaled ¶
func (x *UserProfileMsg) GetUserWalkingStepLengthScaled() float64
GetUserWalkingStepLengthScaled returns UserWalkingStepLength with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
func (*UserProfileMsg) GetWeightScaled ¶
func (x *UserProfileMsg) GetWeightScaled() float64
GetWeightScaled returns Weight with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kg
type VideoClipMsg ¶
type VideoClipMsg struct { }
VideoClipMsg represents the video_clip FIT message type.
func NewVideoClipMsg ¶
func NewVideoClipMsg() *VideoClipMsg
NewVideoClipMsg returns a video_clip FIT message initialized to all-invalid values.
type VideoDescriptionMsg ¶
type VideoDescriptionMsg struct { MessageIndex MessageIndex // Long descriptions will be split into multiple parts MessageCount uint16 // Total number of description parts Text string }
VideoDescriptionMsg represents the video_description FIT message type.
func NewVideoDescriptionMsg ¶
func NewVideoDescriptionMsg() *VideoDescriptionMsg
NewVideoDescriptionMsg returns a video_description FIT message initialized to all-invalid values.
type VideoFrameMsg ¶
type VideoFrameMsg struct { }
VideoFrameMsg represents the video_frame FIT message type.
func NewVideoFrameMsg ¶
func NewVideoFrameMsg() *VideoFrameMsg
NewVideoFrameMsg returns a video_frame FIT message initialized to all-invalid values.
type VideoMsg ¶
type VideoMsg struct { }
VideoMsg represents the video FIT message type.
func NewVideoMsg ¶
func NewVideoMsg() *VideoMsg
NewVideoMsg returns a video FIT message initialized to all-invalid values.
type VideoTitleMsg ¶
type VideoTitleMsg struct { MessageIndex MessageIndex // Long titles will be split into multiple parts MessageCount uint16 // Total number of title parts Text string }
VideoTitleMsg represents the video_title FIT message type.
func NewVideoTitleMsg ¶
func NewVideoTitleMsg() *VideoTitleMsg
NewVideoTitleMsg returns a video_title FIT message initialized to all-invalid values.
type WarmUpExerciseName ¶
type WarmUpExerciseName uint16
WarmUpExerciseName represents the warm_up_exercise_name FIT type.
const ( WarmUpExerciseNameQuadrupedRocking WarmUpExerciseName = 0 WarmUpExerciseNameNeckTilts WarmUpExerciseName = 1 WarmUpExerciseNameAnkleCircles WarmUpExerciseName = 2 WarmUpExerciseNameAnkleDorsiflexionWithBand WarmUpExerciseName = 3 WarmUpExerciseNameAnkleInternalRotation WarmUpExerciseName = 4 WarmUpExerciseNameArmCircles WarmUpExerciseName = 5 WarmUpExerciseNameBentOverReachToSky WarmUpExerciseName = 6 WarmUpExerciseNameCatCamel WarmUpExerciseName = 7 WarmUpExerciseNameElbowToFootLunge WarmUpExerciseName = 8 WarmUpExerciseNameForwardAndBackwardLegSwings WarmUpExerciseName = 9 WarmUpExerciseNameGroiners WarmUpExerciseName = 10 WarmUpExerciseNameInvertedHamstringStretch WarmUpExerciseName = 11 WarmUpExerciseNameLateralDuckUnder WarmUpExerciseName = 12 WarmUpExerciseNameNeckRotations WarmUpExerciseName = 13 WarmUpExerciseNameOppositeArmAndLegBalance WarmUpExerciseName = 14 WarmUpExerciseNameReachRollAndLift WarmUpExerciseName = 15 WarmUpExerciseNameScorpion WarmUpExerciseName = 16 // Deprecated do not use WarmUpExerciseNameShoulderCircles WarmUpExerciseName = 17 WarmUpExerciseNameSideToSideLegSwings WarmUpExerciseName = 18 WarmUpExerciseNameSleeperStretch WarmUpExerciseName = 19 WarmUpExerciseNameSlideOut WarmUpExerciseName = 20 WarmUpExerciseNameSwissBallHipCrossover WarmUpExerciseName = 21 WarmUpExerciseNameSwissBallReachRollAndLift WarmUpExerciseName = 22 WarmUpExerciseNameSwissBallWindshieldWipers WarmUpExerciseName = 23 WarmUpExerciseNameThoracicRotation WarmUpExerciseName = 24 WarmUpExerciseNameWalkingHighKicks WarmUpExerciseName = 25 WarmUpExerciseNameWalkingHighKnees WarmUpExerciseName = 26 WarmUpExerciseNameWalkingKneeHugs WarmUpExerciseName = 27 WarmUpExerciseNameWalkingLegCradles WarmUpExerciseName = 28 WarmUpExerciseNameWalkout WarmUpExerciseName = 29 WarmUpExerciseNameWalkoutFromPushUpPosition WarmUpExerciseName = 30 WarmUpExerciseNameInvalid WarmUpExerciseName = 0xFFFF )
func (WarmUpExerciseName) String ¶
func (i WarmUpExerciseName) String() string
type WatchfaceMode ¶
type WatchfaceMode byte
WatchfaceMode represents the watchface_mode FIT type.
const ( WatchfaceModeDigital WatchfaceMode = 0 WatchfaceModeAnalog WatchfaceMode = 1 WatchfaceModeConnectIq WatchfaceMode = 2 WatchfaceModeDisabled WatchfaceMode = 3 WatchfaceModeInvalid WatchfaceMode = 0xFF )
func (WatchfaceMode) String ¶
func (i WatchfaceMode) String() string
type WatchfaceSettingsMsg ¶
type WatchfaceSettingsMsg struct { }
WatchfaceSettingsMsg represents the watchface_settings FIT message type.
func NewWatchfaceSettingsMsg ¶
func NewWatchfaceSettingsMsg() *WatchfaceSettingsMsg
NewWatchfaceSettingsMsg returns a watchface_settings FIT message initialized to all-invalid values.
type WeatherAlertMsg ¶
type WeatherAlertMsg struct { Timestamp time.Time ReportId string // Unique identifier from GCS report ID string, length is 12 IssueTime time.Time // Time alert was issued ExpireTime time.Time // Time alert expires Severity WeatherSeverity // Warning, Watch, Advisory, Statement Type WeatherSevereType // Tornado, Severe Thunderstorm, etc. }
WeatherAlertMsg represents the weather_alert FIT message type.
func NewWeatherAlertMsg ¶
func NewWeatherAlertMsg() *WeatherAlertMsg
NewWeatherAlertMsg returns a weather_alert FIT message initialized to all-invalid values.
type WeatherConditionsMsg ¶
type WeatherConditionsMsg struct { Timestamp time.Time // time of update for current conditions, else forecast time WeatherReport WeatherReport // Current or forecast Temperature int8 Condition WeatherStatus // Corresponds to GSC Response weatherIcon field WindDirection uint16 WindSpeed uint16 PrecipitationProbability uint8 // range 0-100 TemperatureFeelsLike int8 // Heat Index if GCS heatIdx above or equal to 90F or wind chill if GCS windChill below or equal to 32F RelativeHumidity uint8 Location string // string corresponding to GCS response location string ObservedAtTime time.Time ObservedLocationLat Latitude ObservedLocationLong Longitude DayOfWeek DayOfWeek HighTemperature int8 LowTemperature int8 }
WeatherConditionsMsg represents the weather_conditions FIT message type.
func NewWeatherConditionsMsg ¶
func NewWeatherConditionsMsg() *WeatherConditionsMsg
NewWeatherConditionsMsg returns a weather_conditions FIT message initialized to all-invalid values.
func (*WeatherConditionsMsg) GetWindSpeedScaled ¶
func (x *WeatherConditionsMsg) GetWindSpeedScaled() float64
GetWindSpeedScaled returns WindSpeed with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m/s
type WeatherReport ¶
type WeatherReport byte
WeatherReport represents the weather_report FIT type.
const ( WeatherReportCurrent WeatherReport = 0 WeatherReportForecast WeatherReport = 1 // Deprecated use hourly_forecast instead WeatherReportHourlyForecast WeatherReport = 1 WeatherReportDailyForecast WeatherReport = 2 WeatherReportInvalid WeatherReport = 0xFF )
func (WeatherReport) String ¶
func (i WeatherReport) String() string
type WeatherSevereType ¶
type WeatherSevereType byte
WeatherSevereType represents the weather_severe_type FIT type.
const ( WeatherSevereTypeUnspecified WeatherSevereType = 0 WeatherSevereTypeTornado WeatherSevereType = 1 WeatherSevereTypeTsunami WeatherSevereType = 2 WeatherSevereTypeHurricane WeatherSevereType = 3 WeatherSevereTypeExtremeWind WeatherSevereType = 4 WeatherSevereTypeTyphoon WeatherSevereType = 5 WeatherSevereTypeInlandHurricane WeatherSevereType = 6 WeatherSevereTypeHurricaneForceWind WeatherSevereType = 7 WeatherSevereTypeWaterspout WeatherSevereType = 8 WeatherSevereTypeSevereThunderstorm WeatherSevereType = 9 WeatherSevereTypeWreckhouseWinds WeatherSevereType = 10 WeatherSevereTypeLesSuetesWind WeatherSevereType = 11 WeatherSevereTypeAvalanche WeatherSevereType = 12 WeatherSevereTypeFlashFlood WeatherSevereType = 13 WeatherSevereTypeTropicalStorm WeatherSevereType = 14 WeatherSevereTypeInlandTropicalStorm WeatherSevereType = 15 WeatherSevereTypeBlizzard WeatherSevereType = 16 WeatherSevereTypeIceStorm WeatherSevereType = 17 WeatherSevereTypeFreezingRain WeatherSevereType = 18 WeatherSevereTypeDebrisFlow WeatherSevereType = 19 WeatherSevereTypeFlashFreeze WeatherSevereType = 20 WeatherSevereTypeDustStorm WeatherSevereType = 21 WeatherSevereTypeHighWind WeatherSevereType = 22 WeatherSevereTypeWinterStorm WeatherSevereType = 23 WeatherSevereTypeHeavyFreezingSpray WeatherSevereType = 24 WeatherSevereTypeExtremeCold WeatherSevereType = 25 WeatherSevereTypeWindChill WeatherSevereType = 26 WeatherSevereTypeColdWave WeatherSevereType = 27 WeatherSevereTypeHeavySnowAlert WeatherSevereType = 28 WeatherSevereTypeLakeEffectBlowingSnow WeatherSevereType = 29 WeatherSevereTypeSnowSquall WeatherSevereType = 30 WeatherSevereTypeLakeEffectSnow WeatherSevereType = 31 WeatherSevereTypeWinterWeather WeatherSevereType = 32 WeatherSevereTypeSleet WeatherSevereType = 33 WeatherSevereTypeSnowfall WeatherSevereType = 34 WeatherSevereTypeSnowAndBlowingSnow WeatherSevereType = 35 WeatherSevereTypeBlowingSnow WeatherSevereType = 36 WeatherSevereTypeSnowAlert WeatherSevereType = 37 WeatherSevereTypeArcticOutflow WeatherSevereType = 38 WeatherSevereTypeFreezingDrizzle WeatherSevereType = 39 WeatherSevereTypeStorm WeatherSevereType = 40 WeatherSevereTypeStormSurge WeatherSevereType = 41 WeatherSevereTypeRainfall WeatherSevereType = 42 WeatherSevereTypeArealFlood WeatherSevereType = 43 WeatherSevereTypeCoastalFlood WeatherSevereType = 44 WeatherSevereTypeLakeshoreFlood WeatherSevereType = 45 WeatherSevereTypeExcessiveHeat WeatherSevereType = 46 WeatherSevereTypeHeat WeatherSevereType = 47 WeatherSevereTypeWeather WeatherSevereType = 48 WeatherSevereTypeHighHeatAndHumidity WeatherSevereType = 49 WeatherSevereTypeHumidexAndHealth WeatherSevereType = 50 WeatherSevereTypeHumidex WeatherSevereType = 51 WeatherSevereTypeGale WeatherSevereType = 52 WeatherSevereTypeFreezingSpray WeatherSevereType = 53 WeatherSevereTypeSpecialMarine WeatherSevereType = 54 WeatherSevereTypeSquall WeatherSevereType = 55 WeatherSevereTypeStrongWind WeatherSevereType = 56 WeatherSevereTypeLakeWind WeatherSevereType = 57 WeatherSevereTypeMarineWeather WeatherSevereType = 58 WeatherSevereTypeWind WeatherSevereType = 59 WeatherSevereTypeSmallCraftHazardousSeas WeatherSevereType = 60 WeatherSevereTypeHazardousSeas WeatherSevereType = 61 WeatherSevereTypeSmallCraft WeatherSevereType = 62 WeatherSevereTypeSmallCraftWinds WeatherSevereType = 63 WeatherSevereTypeSmallCraftRoughBar WeatherSevereType = 64 WeatherSevereTypeHighWaterLevel WeatherSevereType = 65 WeatherSevereTypeAshfall WeatherSevereType = 66 WeatherSevereTypeFreezingFog WeatherSevereType = 67 WeatherSevereTypeDenseFog WeatherSevereType = 68 WeatherSevereTypeDenseSmoke WeatherSevereType = 69 WeatherSevereTypeBlowingDust WeatherSevereType = 70 WeatherSevereTypeHardFreeze WeatherSevereType = 71 WeatherSevereTypeFreeze WeatherSevereType = 72 WeatherSevereTypeFrost WeatherSevereType = 73 WeatherSevereTypeFireWeather WeatherSevereType = 74 WeatherSevereTypeFlood WeatherSevereType = 75 WeatherSevereTypeRipTide WeatherSevereType = 76 WeatherSevereTypeHighSurf WeatherSevereType = 77 WeatherSevereTypeSmog WeatherSevereType = 78 WeatherSevereTypeAirQuality WeatherSevereType = 79 WeatherSevereTypeBriskWind WeatherSevereType = 80 WeatherSevereTypeAirStagnation WeatherSevereType = 81 WeatherSevereTypeLowWater WeatherSevereType = 82 WeatherSevereTypeHydrological WeatherSevereType = 83 WeatherSevereTypeSpecialWeather WeatherSevereType = 84 WeatherSevereTypeInvalid WeatherSevereType = 0xFF )
func (WeatherSevereType) String ¶
func (i WeatherSevereType) String() string
type WeatherSeverity ¶
type WeatherSeverity byte
WeatherSeverity represents the weather_severity FIT type.
const ( WeatherSeverityUnknown WeatherSeverity = 0 WeatherSeverityWarning WeatherSeverity = 1 WeatherSeverityWatch WeatherSeverity = 2 WeatherSeverityAdvisory WeatherSeverity = 3 WeatherSeverityStatement WeatherSeverity = 4 WeatherSeverityInvalid WeatherSeverity = 0xFF )
func (WeatherSeverity) String ¶
func (i WeatherSeverity) String() string
type WeatherStatus ¶
type WeatherStatus byte
WeatherStatus represents the weather_status FIT type.
const ( WeatherStatusClear WeatherStatus = 0 WeatherStatusPartlyCloudy WeatherStatus = 1 WeatherStatusMostlyCloudy WeatherStatus = 2 WeatherStatusRain WeatherStatus = 3 WeatherStatusSnow WeatherStatus = 4 WeatherStatusWindy WeatherStatus = 5 WeatherStatusThunderstorms WeatherStatus = 6 WeatherStatusWintryMix WeatherStatus = 7 WeatherStatusFog WeatherStatus = 8 WeatherStatusHazy WeatherStatus = 11 WeatherStatusHail WeatherStatus = 12 WeatherStatusScatteredShowers WeatherStatus = 13 WeatherStatusScatteredThunderstorms WeatherStatus = 14 WeatherStatusUnknownPrecipitation WeatherStatus = 15 WeatherStatusLightRain WeatherStatus = 16 WeatherStatusHeavyRain WeatherStatus = 17 WeatherStatusLightSnow WeatherStatus = 18 WeatherStatusHeavySnow WeatherStatus = 19 WeatherStatusLightRainSnow WeatherStatus = 20 WeatherStatusHeavyRainSnow WeatherStatus = 21 WeatherStatusCloudy WeatherStatus = 22 WeatherStatusInvalid WeatherStatus = 0xFF )
func (WeatherStatus) String ¶
func (i WeatherStatus) String() string
type WeightFile ¶
type WeightFile struct { UserProfile *UserProfileMsg WeightScales []*WeightScaleMsg DeviceInfos []*DeviceInfoMsg }
WeightFile represents the Weight FIT file type. Records weight scale data.
type WeightScaleMsg ¶
type WeightScaleMsg struct { Timestamp time.Time Weight Weight PercentFat uint16 PercentHydration uint16 VisceralFatMass uint16 BoneMass uint16 MuscleMass uint16 BasalMet uint16 PhysiqueRating uint8 ActiveMet uint16 // ~4kJ per kcal, 0.25 allows max 16384 kcal MetabolicAge uint8 VisceralFatRating uint8 UserProfileIndex MessageIndex // Associates this weight scale message to a user. This corresponds to the index of the user profile message in the weight scale file. }
WeightScaleMsg represents the weight_scale FIT message type.
func NewWeightScaleMsg ¶
func NewWeightScaleMsg() *WeightScaleMsg
NewWeightScaleMsg returns a weight_scale FIT message initialized to all-invalid values.
func (*WeightScaleMsg) GetActiveMetScaled ¶
func (x *WeightScaleMsg) GetActiveMetScaled() float64
GetActiveMetScaled returns ActiveMet with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kcal/day
func (*WeightScaleMsg) GetBasalMetScaled ¶
func (x *WeightScaleMsg) GetBasalMetScaled() float64
GetBasalMetScaled returns BasalMet with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kcal/day
func (*WeightScaleMsg) GetBoneMassScaled ¶
func (x *WeightScaleMsg) GetBoneMassScaled() float64
GetBoneMassScaled returns BoneMass with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kg
func (*WeightScaleMsg) GetMuscleMassScaled ¶
func (x *WeightScaleMsg) GetMuscleMassScaled() float64
GetMuscleMassScaled returns MuscleMass with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kg
func (*WeightScaleMsg) GetPercentFatScaled ¶
func (x *WeightScaleMsg) GetPercentFatScaled() float64
GetPercentFatScaled returns PercentFat with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*WeightScaleMsg) GetPercentHydrationScaled ¶
func (x *WeightScaleMsg) GetPercentHydrationScaled() float64
GetPercentHydrationScaled returns PercentHydration with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: %
func (*WeightScaleMsg) GetVisceralFatMassScaled ¶
func (x *WeightScaleMsg) GetVisceralFatMassScaled() float64
GetVisceralFatMassScaled returns VisceralFatMass with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kg
func (*WeightScaleMsg) GetWeightScaled ¶
func (x *WeightScaleMsg) GetWeightScaled() float64
GetWeightScaled returns Weight with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: kg
type WktStepDuration ¶
type WktStepDuration byte
WktStepDuration represents the wkt_step_duration FIT type.
const ( WktStepDurationTime WktStepDuration = 0 WktStepDurationDistance WktStepDuration = 1 WktStepDurationHrLessThan WktStepDuration = 2 WktStepDurationHrGreaterThan WktStepDuration = 3 WktStepDurationCalories WktStepDuration = 4 WktStepDurationOpen WktStepDuration = 5 WktStepDurationRepeatUntilStepsCmplt WktStepDuration = 6 WktStepDurationRepeatUntilTime WktStepDuration = 7 WktStepDurationRepeatUntilDistance WktStepDuration = 8 WktStepDurationRepeatUntilCalories WktStepDuration = 9 WktStepDurationRepeatUntilHrLessThan WktStepDuration = 10 WktStepDurationRepeatUntilHrGreaterThan WktStepDuration = 11 WktStepDurationRepeatUntilPowerLessThan WktStepDuration = 12 WktStepDurationRepeatUntilPowerGreaterThan WktStepDuration = 13 WktStepDurationPowerLessThan WktStepDuration = 14 WktStepDurationPowerGreaterThan WktStepDuration = 15 WktStepDurationTrainingPeaksTss WktStepDuration = 16 WktStepDurationRepeatUntilPowerLastLapLessThan WktStepDuration = 17 WktStepDurationRepeatUntilMaxPowerLastLapLessThan WktStepDuration = 18 WktStepDurationPower3sLessThan WktStepDuration = 19 WktStepDurationPower10sLessThan WktStepDuration = 20 WktStepDurationPower30sLessThan WktStepDuration = 21 WktStepDurationPower3sGreaterThan WktStepDuration = 22 WktStepDurationPower10sGreaterThan WktStepDuration = 23 WktStepDurationPower30sGreaterThan WktStepDuration = 24 WktStepDurationPowerLapLessThan WktStepDuration = 25 WktStepDurationPowerLapGreaterThan WktStepDuration = 26 WktStepDurationRepeatUntilTrainingPeaksTss WktStepDuration = 27 WktStepDurationRepetitionTime WktStepDuration = 28 WktStepDurationReps WktStepDuration = 29 WktStepDurationTimeOnly WktStepDuration = 31 WktStepDurationInvalid WktStepDuration = 0xFF )
func (WktStepDuration) String ¶
func (i WktStepDuration) String() string
type WktStepTarget ¶
type WktStepTarget byte
WktStepTarget represents the wkt_step_target FIT type.
const ( WktStepTargetSpeed WktStepTarget = 0 WktStepTargetHeartRate WktStepTarget = 1 WktStepTargetOpen WktStepTarget = 2 WktStepTargetCadence WktStepTarget = 3 WktStepTargetPower WktStepTarget = 4 WktStepTargetGrade WktStepTarget = 5 WktStepTargetResistance WktStepTarget = 6 WktStepTargetPower3s WktStepTarget = 7 WktStepTargetPower10s WktStepTarget = 8 WktStepTargetPower30s WktStepTarget = 9 WktStepTargetPowerLap WktStepTarget = 10 WktStepTargetSwimStroke WktStepTarget = 11 WktStepTargetSpeedLap WktStepTarget = 12 WktStepTargetHeartRateLap WktStepTarget = 13 WktStepTargetInvalid WktStepTarget = 0xFF )
func (WktStepTarget) String ¶
func (i WktStepTarget) String() string
type WorkoutCapabilities ¶
type WorkoutCapabilities uint32
WorkoutCapabilities represents the workout_capabilities FIT type.
const ( WorkoutCapabilitiesInterval WorkoutCapabilities = 0x00000001 WorkoutCapabilitiesCustom WorkoutCapabilities = 0x00000002 WorkoutCapabilitiesFitnessEquipment WorkoutCapabilities = 0x00000004 WorkoutCapabilitiesFirstbeat WorkoutCapabilities = 0x00000008 WorkoutCapabilitiesNewLeaf WorkoutCapabilities = 0x00000010 WorkoutCapabilitiesTcx WorkoutCapabilities = 0x00000020 // For backwards compatibility. Watch should add missing id fields then clear flag. WorkoutCapabilitiesSpeed WorkoutCapabilities = 0x00000080 // Speed source required for workout step. WorkoutCapabilitiesHeartRate WorkoutCapabilities = 0x00000100 // Heart rate source required for workout step. WorkoutCapabilitiesDistance WorkoutCapabilities = 0x00000200 // Distance source required for workout step. WorkoutCapabilitiesCadence WorkoutCapabilities = 0x00000400 // Cadence source required for workout step. WorkoutCapabilitiesPower WorkoutCapabilities = 0x00000800 // Power source required for workout step. WorkoutCapabilitiesGrade WorkoutCapabilities = 0x00001000 // Grade source required for workout step. WorkoutCapabilitiesResistance WorkoutCapabilities = 0x00002000 // Resistance source required for workout step. WorkoutCapabilitiesProtected WorkoutCapabilities = 0x00004000 WorkoutCapabilitiesInvalid WorkoutCapabilities = 0x00000000 )
func (WorkoutCapabilities) String ¶
func (i WorkoutCapabilities) String() string
type WorkoutEquipment ¶
type WorkoutEquipment byte
WorkoutEquipment represents the workout_equipment FIT type.
const ( WorkoutEquipmentNone WorkoutEquipment = 0 WorkoutEquipmentSwimFins WorkoutEquipment = 1 WorkoutEquipmentSwimKickboard WorkoutEquipment = 2 WorkoutEquipmentSwimPaddles WorkoutEquipment = 3 WorkoutEquipmentSwimPullBuoy WorkoutEquipment = 4 WorkoutEquipmentSwimSnorkel WorkoutEquipment = 5 WorkoutEquipmentInvalid WorkoutEquipment = 0xFF )
func (WorkoutEquipment) String ¶
func (i WorkoutEquipment) String() string
type WorkoutFile ¶
type WorkoutFile struct { Workout *WorkoutMsg WorkoutSteps []*WorkoutStepMsg }
WorkoutFile represents the Workout FIT file type. Describes a structured activity that can be designed on a computer and transferred to a display device to guide a user through the activity.
type WorkoutMsg ¶
type WorkoutMsg struct { Sport Sport Capabilities WorkoutCapabilities NumValidSteps uint16 // number of valid steps WktName string SubSport SubSport PoolLength uint16 PoolLengthUnit DisplayMeasure }
WorkoutMsg represents the workout FIT message type.
func NewWorkoutMsg ¶
func NewWorkoutMsg() *WorkoutMsg
NewWorkoutMsg returns a workout FIT message initialized to all-invalid values.
func (*WorkoutMsg) GetPoolLengthScaled ¶
func (x *WorkoutMsg) GetPoolLengthScaled() float64
GetPoolLengthScaled returns PoolLength with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
type WorkoutPower ¶
type WorkoutPower uint32
WorkoutPower represents the workout_power FIT type.
const ( WorkoutPowerWattsOffset WorkoutPower = 1000 WorkoutPowerInvalid WorkoutPower = 0xFFFFFFFF )
func (WorkoutPower) String ¶
func (i WorkoutPower) String() string
type WorkoutSessionMsg ¶
type WorkoutSessionMsg struct { MessageIndex MessageIndex Sport Sport SubSport SubSport NumValidSteps uint16 FirstStepIndex uint16 PoolLength uint16 PoolLengthUnit DisplayMeasure }
WorkoutSessionMsg represents the workout_session FIT message type.
func NewWorkoutSessionMsg ¶
func NewWorkoutSessionMsg() *WorkoutSessionMsg
NewWorkoutSessionMsg returns a workout_session FIT message initialized to all-invalid values.
func (*WorkoutSessionMsg) GetPoolLengthScaled ¶
func (x *WorkoutSessionMsg) GetPoolLengthScaled() float64
GetPoolLengthScaled returns PoolLength with scale and any offset applied. NaN is returned if the field has an invalid value (i.e. has not been set). Units: m
type WorkoutStepMsg ¶
type WorkoutStepMsg struct { MessageIndex MessageIndex WktStepName string DurationType WktStepDuration DurationValue uint32 TargetType WktStepTarget TargetValue uint32 CustomTargetValueLow uint32 CustomTargetValueHigh uint32 Intensity Intensity Notes string Equipment WorkoutEquipment ExerciseCategory ExerciseCategory }
WorkoutStepMsg represents the workout_step FIT message type.
func NewWorkoutStepMsg ¶
func NewWorkoutStepMsg() *WorkoutStepMsg
NewWorkoutStepMsg returns a workout_step FIT message initialized to all-invalid values.
func (*WorkoutStepMsg) GetCustomTargetValueHigh ¶
func (x *WorkoutStepMsg) GetCustomTargetValueHigh() interface{}
GetCustomTargetValueHigh returns the appropriate CustomTargetValueHigh subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*WorkoutStepMsg) GetCustomTargetValueLow ¶
func (x *WorkoutStepMsg) GetCustomTargetValueLow() interface{}
GetCustomTargetValueLow returns the appropriate CustomTargetValueLow subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*WorkoutStepMsg) GetDurationValue ¶
func (x *WorkoutStepMsg) GetDurationValue() interface{}
GetDurationValue returns the appropriate DurationValue subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
func (*WorkoutStepMsg) GetTargetValue ¶
func (x *WorkoutStepMsg) GetTargetValue() interface{}
GetTargetValue returns the appropriate TargetValue subfield if a matching reference field/value combination is found. If none of the reference field/value combinations are true then the main field is returned.
type ZonesTargetMsg ¶
type ZonesTargetMsg struct { MaxHeartRate uint8 ThresholdHeartRate uint8 FunctionalThresholdPower uint16 HrCalcType HrZoneCalc PwrCalcType PwrZoneCalc }
ZonesTargetMsg represents the zones_target FIT message type.
func NewZonesTargetMsg ¶
func NewZonesTargetMsg() *ZonesTargetMsg
NewZonesTargetMsg returns a zones_target FIT message initialized to all-invalid values.