QtFit  0.1
Internal library development documentation
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SegmentLapMessagePrivate Class Reference
Inheritance diagram for SegmentLapMessagePrivate:
[legend]
Collaboration diagram for SegmentLapMessagePrivate:
[legend]

Public Member Functions

 SegmentLapMessagePrivate (SegmentLapMessage *const q)
 
virtual ~SegmentLapMessagePrivate ()
 
- Public Member Functions inherited from AbstractDataMessagePrivate
 AbstractDataMessagePrivate (AbstractDataMessage *const q)
 
virtual ~AbstractDataMessagePrivate ()
 
bool setFields (const DataDefinition *const defn, const QByteArray &record)
 

Public Attributes

MessageIndex messageIndex
 The SegmentLapMessage FIT message's messageIndex field.
 
DateTime timestamp
 The SegmentLapMessage FIT message's timestamp field. More...
 
Event event
 The SegmentLapMessage FIT message's event field.
 
EventType eventType
 The SegmentLapMessage FIT message's eventType field.
 
DateTime startTime
 The SegmentLapMessage FIT message's startTime field.
 
qint32 startPositionLat
 The SegmentLapMessage FIT message's startPositionLat field.
 
qint32 startPositionLong
 The SegmentLapMessage FIT message's startPositionLong field.
 
qint32 endPositionLat
 The SegmentLapMessage FIT message's endPositionLat field.
 
qint32 endPositionLong
 The SegmentLapMessage FIT message's endPositionLong field.
 
quint32 totalElapsedTime
 The SegmentLapMessage FIT message's totalElapsedTime field. More...
 
quint32 totalTimerTime
 The SegmentLapMessage FIT message's totalTimerTime field. More...
 
quint32 totalDistance
 The SegmentLapMessage FIT message's totalDistance field.
 
quint32 totalCycles
 The SegmentLapMessage FIT message's totalCycles field.
 
quint16 totalCalories
 The SegmentLapMessage FIT message's totalCalories field.
 
quint16 totalFatCalories
 The SegmentLapMessage FIT message's totalFatCalories field. More...
 
quint16 avgSpeed
 The SegmentLapMessage FIT message's avgSpeed field.
 
quint16 maxSpeed
 The SegmentLapMessage FIT message's maxSpeed field.
 
quint8 avgHeartRate
 The SegmentLapMessage FIT message's avgHeartRate field.
 
quint8 maxHeartRate
 The SegmentLapMessage FIT message's maxHeartRate field.
 
quint8 avgCadence
 The SegmentLapMessage FIT message's avgCadence field. More...
 
quint8 maxCadence
 The SegmentLapMessage FIT message's maxCadence field.
 
quint16 avgPower
 The SegmentLapMessage FIT message's avgPower field. More...
 
quint16 maxPower
 The SegmentLapMessage FIT message's maxPower field.
 
quint16 totalAscent
 The SegmentLapMessage FIT message's totalAscent field.
 
quint16 totalDescent
 The SegmentLapMessage FIT message's totalDescent field.
 
Sport sport
 The SegmentLapMessage FIT message's sport field.
 
quint8 eventGroup
 The SegmentLapMessage FIT message's eventGroup field.
 
qint32 necLat
 The SegmentLapMessage FIT message's necLat field. More...
 
qint32 necLong
 The SegmentLapMessage FIT message's necLong field. More...
 
qint32 swcLat
 The SegmentLapMessage FIT message's swcLat field. More...
 
qint32 swcLong
 The SegmentLapMessage FIT message's swcLong field. More...
 
QString name
 The SegmentLapMessage FIT message's name field.
 
quint16 normalizedPower
 The SegmentLapMessage FIT message's normalizedPower field.
 
LeftRightBalance100 leftRightBalance
 The SegmentLapMessage FIT message's leftRightBalance field.
 
SubSport subSport
 The SegmentLapMessage FIT message's subSport field.
 
quint32 totalWork
 The SegmentLapMessage FIT message's totalWork field.
 
quint16 avgAltitude
 The SegmentLapMessage FIT message's avgAltitude field.
 
quint16 maxAltitude
 The SegmentLapMessage FIT message's maxAltitude field.
 
quint8 gpsAccuracy
 The SegmentLapMessage FIT message's gpsAccuracy field.
 
qint16 avgGrade
 The SegmentLapMessage FIT message's avgGrade field.
 
qint16 avgPosGrade
 The SegmentLapMessage FIT message's avgPosGrade field.
 
qint16 avgNegGrade
 The SegmentLapMessage FIT message's avgNegGrade field.
 
qint16 maxPosGrade
 The SegmentLapMessage FIT message's maxPosGrade field.
 
qint16 maxNegGrade
 The SegmentLapMessage FIT message's maxNegGrade field.
 
qint8 avgTemperature
 The SegmentLapMessage FIT message's avgTemperature field.
 
qint8 maxTemperature
 The SegmentLapMessage FIT message's maxTemperature field.
 
quint32 totalMovingTime
 The SegmentLapMessage FIT message's totalMovingTime field.
 
qint16 avgPosVerticalSpeed
 The SegmentLapMessage FIT message's avgPosVerticalSpeed field.
 
qint16 avgNegVerticalSpeed
 The SegmentLapMessage FIT message's avgNegVerticalSpeed field.
 
qint16 maxPosVerticalSpeed
 The SegmentLapMessage FIT message's maxPosVerticalSpeed field.
 
qint16 maxNegVerticalSpeed
 The SegmentLapMessage FIT message's maxNegVerticalSpeed field.
 
quint32 timeInHrZone
 The SegmentLapMessage FIT message's timeInHrZone field.
 
quint32 timeInSpeedZone
 The SegmentLapMessage FIT message's timeInSpeedZone field.
 
quint32 timeInCadenceZone
 The SegmentLapMessage FIT message's timeInCadenceZone field.
 
quint32 timeInPowerZone
 The SegmentLapMessage FIT message's timeInPowerZone field.
 
quint16 repetitionNum
 The SegmentLapMessage FIT message's repetitionNum field.
 
quint16 minAltitude
 The SegmentLapMessage FIT message's minAltitude field.
 
quint8 minHeartRate
 The SegmentLapMessage FIT message's minHeartRate field.
 
quint32 activeTime
 The SegmentLapMessage FIT message's activeTime field.
 
MessageIndex wktStepIndex
 The SegmentLapMessage FIT message's wktStepIndex field.
 
SportEvent sportEvent
 The SegmentLapMessage FIT message's sportEvent field.
 
quint8 avgLeftTorqueEffectiveness
 The SegmentLapMessage FIT message's avgLeftTorqueEffectiveness field.
 
quint8 avgRightTorqueEffectiveness
 The SegmentLapMessage FIT message's avgRightTorqueEffectiveness field.
 
quint8 avgLeftPedalSmoothness
 The SegmentLapMessage FIT message's avgLeftPedalSmoothness field.
 
quint8 avgRightPedalSmoothness
 The SegmentLapMessage FIT message's avgRightPedalSmoothness field.
 
quint8 avgCombinedPedalSmoothness
 The SegmentLapMessage FIT message's avgCombinedPedalSmoothness field.
 
SegmentLapStatus status
 The SegmentLapMessage FIT message's status field.
 
QString uuid
 The SegmentLapMessage FIT message's uuid field.
 
quint8 avgFractionalCadence
 The SegmentLapMessage FIT message's avgFractionalCadence field. More...
 
quint8 maxFractionalCadence
 The SegmentLapMessage FIT message's maxFractionalCadence field. More...
 
quint8 totalFractionalCycles
 The SegmentLapMessage FIT message's totalFractionalCycles field. More...
 
quint16 frontGearShiftCount
 The SegmentLapMessage FIT message's frontGearShiftCount field.
 
quint16 rearGearShiftCount
 The SegmentLapMessage FIT message's rearGearShiftCount field.
 
quint32 timeStanding
 The SegmentLapMessage FIT message's timeStanding field. More...
 
quint16 standCount
 The SegmentLapMessage FIT message's standCount field. More...
 
qint8 avgLeftPco
 The SegmentLapMessage FIT message's avgLeftPco field. More...
 
qint8 avgRightPco
 The SegmentLapMessage FIT message's avgRightPco field. More...
 
quint8 avgLeftPowerPhase
 The SegmentLapMessage FIT message's avgLeftPowerPhase field. More...
 
quint8 avgLeftPowerPhasePeak
 The SegmentLapMessage FIT message's avgLeftPowerPhasePeak field. More...
 
quint8 avgRightPowerPhase
 The SegmentLapMessage FIT message's avgRightPowerPhase field. More...
 
quint8 avgRightPowerPhasePeak
 The SegmentLapMessage FIT message's avgRightPowerPhasePeak field. More...
 
quint16 avgPowerPosition
 The SegmentLapMessage FIT message's avgPowerPosition field. More...
 
quint16 maxPowerPosition
 The SegmentLapMessage FIT message's maxPowerPosition field. More...
 
quint8 avgCadencePosition
 The SegmentLapMessage FIT message's avgCadencePosition field. More...
 
quint8 maxCadencePosition
 The SegmentLapMessage FIT message's maxCadencePosition field. More...
 
Manufacturer manufacturer
 The SegmentLapMessage FIT message's manufacturer field. More...
 
float totalGrit
 The SegmentLapMessage FIT message's totalGrit field. More...
 
float totalFlow
 The SegmentLapMessage FIT message's totalFlow field. More...
 
float avgGrit
 The SegmentLapMessage FIT message's avgGrit field. More...
 
float avgFlow
 The SegmentLapMessage FIT message's avgFlow field. More...
 
quint8 totalFractionalAscent
 The SegmentLapMessage FIT message's totalFractionalAscent field. More...
 
quint8 totalFractionalDescent
 The SegmentLapMessage FIT message's totalFractionalDescent field. More...
 
- Public Attributes inherited from AbstractDataMessagePrivate
MesgNum globalMessageNumber
 FIT Globla Message Number for this FIT Data Message.
 

Protected Member Functions

bool setField (const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian) override
 
- Protected Member Functions inherited from AbstractDataMessagePrivate
bool verify (const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
 

Additional Inherited Members

- Protected Attributes inherited from AbstractDataMessagePrivate
AbstractDataMessage *const q_ptr
 Internal q-pointer.
 

Detailed Description

The SegmentLapMessagePrivate class provides private implementation for the SegmentLapMessage.

See also
SegmentLapMessage

Definition at line 38 of file segmentlapmessage_p.h.

Constructor & Destructor Documentation

◆ SegmentLapMessagePrivate()

SegmentLapMessagePrivate::SegmentLapMessagePrivate ( SegmentLapMessage *const  q)
explicit

Constructs a SegmentLapMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 2091 of file segmentlapmessage.cpp.

2093  , messageIndex(static_cast<MessageIndex>(-1))
2094  , timestamp(static_cast<DateTime>(-1))
2095  , event(static_cast<Event>(-1))
2096  , eventType(static_cast<EventType>(-1))
2097  , startTime(static_cast<DateTime>(-1))
2098  , startPositionLat(0x7FFFFFFF)
2099  , startPositionLong(0x7FFFFFFF)
2100  , endPositionLat(0x7FFFFFFF)
2101  , endPositionLong(0x7FFFFFFF)
2102  , totalElapsedTime(0xFFFFFFFF)
2103  , totalTimerTime(0xFFFFFFFF)
2104  , totalDistance(0xFFFFFFFF)
2105  , totalCycles(0xFFFFFFFF)
2106  , totalCalories(0xFFFF)
2107  , totalFatCalories(0xFFFF)
2108  , avgSpeed(0xFFFF)
2109  , maxSpeed(0xFFFF)
2110  , avgHeartRate(0xFF)
2111  , maxHeartRate(0xFF)
2112  , avgCadence(0xFF)
2113  , maxCadence(0xFF)
2114  , avgPower(0xFFFF)
2115  , maxPower(0xFFFF)
2116  , totalAscent(0xFFFF)
2117  , totalDescent(0xFFFF)
2118  , sport(static_cast<Sport>(-1))
2119  , eventGroup(0xFF)
2120  , necLat(0x7FFFFFFF)
2121  , necLong(0x7FFFFFFF)
2122  , swcLat(0x7FFFFFFF)
2123  , swcLong(0x7FFFFFFF)
2124  , normalizedPower(0xFFFF)
2125  , leftRightBalance(static_cast<LeftRightBalance100>(-1))
2126  , subSport(static_cast<SubSport>(-1))
2127  , totalWork(0xFFFFFFFF)
2128  , avgAltitude(0xFFFF)
2129  , maxAltitude(0xFFFF)
2130  , gpsAccuracy(0xFF)
2131  , avgGrade(0x7FFF)
2132  , avgPosGrade(0x7FFF)
2133  , avgNegGrade(0x7FFF)
2134  , maxPosGrade(0x7FFF)
2135  , maxNegGrade(0x7FFF)
2136  , avgTemperature(0x7F)
2137  , maxTemperature(0x7F)
2138  , totalMovingTime(0xFFFFFFFF)
2139  , avgPosVerticalSpeed(0x7FFF)
2140  , avgNegVerticalSpeed(0x7FFF)
2141  , maxPosVerticalSpeed(0x7FFF)
2142  , maxNegVerticalSpeed(0x7FFF)
2143  , timeInHrZone(0xFFFFFFFF)
2144  , timeInSpeedZone(0xFFFFFFFF)
2145  , timeInCadenceZone(0xFFFFFFFF)
2146  , timeInPowerZone(0xFFFFFFFF)
2147  , repetitionNum(0xFFFF)
2148  , minAltitude(0xFFFF)
2149  , minHeartRate(0xFF)
2150  , activeTime(0xFFFFFFFF)
2151  , wktStepIndex(static_cast<MessageIndex>(-1))
2152  , sportEvent(static_cast<SportEvent>(-1))
2155  , avgLeftPedalSmoothness(0xFF)
2156  , avgRightPedalSmoothness(0xFF)
2158  , status(static_cast<SegmentLapStatus>(-1))
2159  , avgFractionalCadence(0xFF)
2160  , maxFractionalCadence(0xFF)
2161  , totalFractionalCycles(0xFF)
2162  , frontGearShiftCount(0xFFFF)
2163  , rearGearShiftCount(0xFFFF)
2164  , timeStanding(0xFFFFFFFF)
2165  , standCount(0xFFFF)
2166  , avgLeftPco(0x7F)
2167  , avgRightPco(0x7F)
2168  , avgLeftPowerPhase(0xFF)
2169  , avgLeftPowerPhasePeak(0xFF)
2170  , avgRightPowerPhase(0xFF)
2171  , avgRightPowerPhasePeak(0xFF)
2172  , avgPowerPosition(0xFFFF)
2173  , maxPowerPosition(0xFFFF)
2174  , avgCadencePosition(0xFF)
2175  , maxCadencePosition(0xFF)
2176  , manufacturer(static_cast<Manufacturer>(-1))
2177  , totalGrit(static_cast<float>(-1))
2178  , totalFlow(static_cast<float>(-1))
2179  , avgGrit(static_cast<float>(-1))
2180  , avgFlow(static_cast<float>(-1))
2181  , totalFractionalAscent(0xFF)
2182  , totalFractionalDescent(0xFF)
2183 {
2184  globalMessageNumber = MesgNum::SegmentLap;
2185 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint8 minHeartRate
The SegmentLapMessage FIT message's minHeartRate field.
quint32 totalWork
The SegmentLapMessage FIT message's totalWork field.
MessageIndex messageIndex
The SegmentLapMessage FIT message's messageIndex field.
qint8 avgLeftPco
The SegmentLapMessage FIT message's avgLeftPco field.
quint16 avgPower
The SegmentLapMessage FIT message's avgPower field.
quint32 timeInCadenceZone
The SegmentLapMessage FIT message's timeInCadenceZone field.
DateTime timestamp
The SegmentLapMessage FIT message's timestamp field.
quint8 avgCombinedPedalSmoothness
The SegmentLapMessage FIT message's avgCombinedPedalSmoothness field.
EventType eventType
The SegmentLapMessage FIT message's eventType field.
qint8 avgTemperature
The SegmentLapMessage FIT message's avgTemperature field.
quint8 avgLeftTorqueEffectiveness
The SegmentLapMessage FIT message's avgLeftTorqueEffectiveness field.
qint16 maxNegVerticalSpeed
The SegmentLapMessage FIT message's maxNegVerticalSpeed field.
quint32 activeTime
The SegmentLapMessage FIT message's activeTime field.
quint16 avgAltitude
The SegmentLapMessage FIT message's avgAltitude field.
qint16 maxPosVerticalSpeed
The SegmentLapMessage FIT message's maxPosVerticalSpeed field.
quint16 rearGearShiftCount
The SegmentLapMessage FIT message's rearGearShiftCount field.
quint8 avgCadencePosition
The SegmentLapMessage FIT message's avgCadencePosition field.
qint32 swcLong
The SegmentLapMessage FIT message's swcLong field.
quint8 avgCadence
The SegmentLapMessage FIT message's avgCadence field.
quint16 totalDescent
The SegmentLapMessage FIT message's totalDescent field.
quint8 avgRightPowerPhasePeak
The SegmentLapMessage FIT message's avgRightPowerPhasePeak field.
quint8 avgRightPedalSmoothness
The SegmentLapMessage FIT message's avgRightPedalSmoothness field.
qint8 maxTemperature
The SegmentLapMessage FIT message's maxTemperature field.
qint16 avgNegGrade
The SegmentLapMessage FIT message's avgNegGrade field.
quint16 normalizedPower
The SegmentLapMessage FIT message's normalizedPower field.
quint32 totalTimerTime
The SegmentLapMessage FIT message's totalTimerTime field.
quint16 standCount
The SegmentLapMessage FIT message's standCount field.
qint8 avgRightPco
The SegmentLapMessage FIT message's avgRightPco field.
float avgFlow
The SegmentLapMessage FIT message's avgFlow field.
qint32 swcLat
The SegmentLapMessage FIT message's swcLat field.
quint16 avgPowerPosition
The SegmentLapMessage FIT message's avgPowerPosition field.
SportEvent sportEvent
The SegmentLapMessage FIT message's sportEvent field.
quint8 avgLeftPedalSmoothness
The SegmentLapMessage FIT message's avgLeftPedalSmoothness field.
quint16 avgSpeed
The SegmentLapMessage FIT message's avgSpeed field.
quint16 minAltitude
The SegmentLapMessage FIT message's minAltitude field.
quint16 totalFatCalories
The SegmentLapMessage FIT message's totalFatCalories field.
quint16 maxAltitude
The SegmentLapMessage FIT message's maxAltitude field.
qint32 necLat
The SegmentLapMessage FIT message's necLat field.
quint8 totalFractionalAscent
The SegmentLapMessage FIT message's totalFractionalAscent field.
qint32 endPositionLong
The SegmentLapMessage FIT message's endPositionLong field.
quint32 timeInPowerZone
The SegmentLapMessage FIT message's timeInPowerZone field.
Event event
The SegmentLapMessage FIT message's event field.
DateTime startTime
The SegmentLapMessage FIT message's startTime field.
Sport sport
The SegmentLapMessage FIT message's sport field.
qint16 avgPosGrade
The SegmentLapMessage FIT message's avgPosGrade field.
quint16 maxPower
The SegmentLapMessage FIT message's maxPower field.
quint16 maxPowerPosition
The SegmentLapMessage FIT message's maxPowerPosition field.
qint16 avgPosVerticalSpeed
The SegmentLapMessage FIT message's avgPosVerticalSpeed field.
quint16 repetitionNum
The SegmentLapMessage FIT message's repetitionNum field.
LeftRightBalance100 leftRightBalance
The SegmentLapMessage FIT message's leftRightBalance field.
quint16 totalAscent
The SegmentLapMessage FIT message's totalAscent field.
Manufacturer manufacturer
The SegmentLapMessage FIT message's manufacturer field.
quint32 totalDistance
The SegmentLapMessage FIT message's totalDistance field.
quint32 totalMovingTime
The SegmentLapMessage FIT message's totalMovingTime field.
MessageIndex wktStepIndex
The SegmentLapMessage FIT message's wktStepIndex field.
qint16 avgNegVerticalSpeed
The SegmentLapMessage FIT message's avgNegVerticalSpeed field.
quint8 maxCadencePosition
The SegmentLapMessage FIT message's maxCadencePosition field.
quint32 totalElapsedTime
The SegmentLapMessage FIT message's totalElapsedTime field.
quint8 avgRightTorqueEffectiveness
The SegmentLapMessage FIT message's avgRightTorqueEffectiveness field.
quint8 avgHeartRate
The SegmentLapMessage FIT message's avgHeartRate field.
float totalGrit
The SegmentLapMessage FIT message's totalGrit field.
qint32 startPositionLat
The SegmentLapMessage FIT message's startPositionLat field.
quint16 frontGearShiftCount
The SegmentLapMessage FIT message's frontGearShiftCount field.
qint16 maxNegGrade
The SegmentLapMessage FIT message's maxNegGrade field.
quint8 avgFractionalCadence
The SegmentLapMessage FIT message's avgFractionalCadence field.
quint8 maxFractionalCadence
The SegmentLapMessage FIT message's maxFractionalCadence field.
quint8 avgLeftPowerPhase
The SegmentLapMessage FIT message's avgLeftPowerPhase field.
qint16 avgGrade
The SegmentLapMessage FIT message's avgGrade field.
qint32 necLong
The SegmentLapMessage FIT message's necLong field.
float totalFlow
The SegmentLapMessage FIT message's totalFlow field.
quint32 timeInSpeedZone
The SegmentLapMessage FIT message's timeInSpeedZone field.
quint32 timeStanding
The SegmentLapMessage FIT message's timeStanding field.
quint16 maxSpeed
The SegmentLapMessage FIT message's maxSpeed field.
quint8 maxHeartRate
The SegmentLapMessage FIT message's maxHeartRate field.
quint8 totalFractionalCycles
The SegmentLapMessage FIT message's totalFractionalCycles field.
quint8 avgRightPowerPhase
The SegmentLapMessage FIT message's avgRightPowerPhase field.
quint32 timeInHrZone
The SegmentLapMessage FIT message's timeInHrZone field.
SegmentLapStatus status
The SegmentLapMessage FIT message's status field.
quint32 totalCycles
The SegmentLapMessage FIT message's totalCycles field.
SubSport subSport
The SegmentLapMessage FIT message's subSport field.
quint8 avgLeftPowerPhasePeak
The SegmentLapMessage FIT message's avgLeftPowerPhasePeak field.
quint8 maxCadence
The SegmentLapMessage FIT message's maxCadence field.
quint8 gpsAccuracy
The SegmentLapMessage FIT message's gpsAccuracy field.
quint8 eventGroup
The SegmentLapMessage FIT message's eventGroup field.
qint32 endPositionLat
The SegmentLapMessage FIT message's endPositionLat field.
qint32 startPositionLong
The SegmentLapMessage FIT message's startPositionLong field.
qint16 maxPosGrade
The SegmentLapMessage FIT message's maxPosGrade field.
float avgGrit
The SegmentLapMessage FIT message's avgGrit field.
quint16 totalCalories
The SegmentLapMessage FIT message's totalCalories field.
quint8 totalFractionalDescent
The SegmentLapMessage FIT message's totalFractionalDescent field.
EventType
Garmin FIT EventType type.
Definition: types.h:1182
Event
Garmin FIT Event type.
Definition: types.h:1133
SportEvent
Garmin FIT SportEvent type.
Definition: types.h:959
LeftRightBalance100
Garmin FIT LeftRightBalance100 type.
Definition: types.h:2377
Sport
Garmin FIT Sport type.
Definition: types.h:685
SegmentLapStatus
Garmin FIT SegmentLapStatus type.
Definition: types.h:2723
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
Manufacturer
Garmin FIT Manufacturer type.
Definition: types.h:1484
SubSport
Garmin FIT SubSport type.
Definition: types.h:881
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~SegmentLapMessagePrivate()

SegmentLapMessagePrivate::~SegmentLapMessagePrivate ( )
virtual

Destroys the SegmentLapMessagePrivate object.

Definition at line 2192 of file segmentlapmessage.cpp.

2193 {
2194 
2195 }

Member Function Documentation

◆ setField()

bool SegmentLapMessagePrivate::setField ( const int  fieldId,
const QByteArray &  data,
const FitBaseType  baseType,
const bool  bigEndian 
)
overrideprotectedvirtual

Sets the value of the fieldId field.

Derived classes must implement this method to extract the baseType value from data, and assign the extracted value the fieldId field.

Parameters
fieldIdThe field number within the given FIT data message.
dataThe raw data to extract the field value from.
baseTypeThe FIT base type for the field.
bigEndianWhether or not multibyte values in record are big-endian.
Returns
true if the field was set, or safely ignored; false otherwise.

Implements AbstractDataMessagePrivate.

Definition at line 2197 of file segmentlapmessage.cpp.

2199 {
2200  switch (fieldId) {
2201  case 254: // See Profile.xlsx::Messages:segment_lap.messageIndex
2202  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.messageIndex")) return false;
2203  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2204  break;
2205  case 253: // See Profile.xlsx::Messages:segment_lap.timestamp
2206  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timestamp")) return false;
2207  this->timestamp = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2208  break;
2209  case 0: // See Profile.xlsx::Messages:segment_lap.event
2210  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.event")) return false;
2211  this->event = static_cast<Event>(data.at(0));
2212  break;
2213  case 1: // See Profile.xlsx::Messages:segment_lap.eventType
2214  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.eventType")) return false;
2215  this->eventType = static_cast<EventType>(data.at(0));
2216  break;
2217  case 2: // See Profile.xlsx::Messages:segment_lap.startTime
2218  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.startTime")) return false;
2219  this->startTime = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2220  break;
2221  case 3: // See Profile.xlsx::Messages:segment_lap.startPositionLat
2222  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.startPositionLat")) return false;
2223  this->startPositionLat = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2224  break;
2225  case 4: // See Profile.xlsx::Messages:segment_lap.startPositionLong
2226  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.startPositionLong")) return false;
2227  this->startPositionLong = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2228  break;
2229  case 5: // See Profile.xlsx::Messages:segment_lap.endPositionLat
2230  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.endPositionLat")) return false;
2231  this->endPositionLat = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2232  break;
2233  case 6: // See Profile.xlsx::Messages:segment_lap.endPositionLong
2234  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.endPositionLong")) return false;
2235  this->endPositionLong = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2236  break;
2237  case 7: // See Profile.xlsx::Messages:segment_lap.totalElapsedTime
2238  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalElapsedTime")) return false;
2239  this->totalElapsedTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2240  break;
2241  case 8: // See Profile.xlsx::Messages:segment_lap.totalTimerTime
2242  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalTimerTime")) return false;
2243  this->totalTimerTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2244  break;
2245  case 9: // See Profile.xlsx::Messages:segment_lap.totalDistance
2246  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalDistance")) return false;
2247  this->totalDistance = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2248  break;
2249  case 10: // See Profile.xlsx::Messages:segment_lap.totalCycles
2250  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalCycles")) return false;
2251  this->totalCycles = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2252  break;
2253  case 11: // See Profile.xlsx::Messages:segment_lap.totalCalories
2254  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.totalCalories")) return false;
2255  this->totalCalories = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2256  break;
2257  case 12: // See Profile.xlsx::Messages:segment_lap.totalFatCalories
2258  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.totalFatCalories")) return false;
2259  this->totalFatCalories = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2260  break;
2261  case 13: // See Profile.xlsx::Messages:segment_lap.avgSpeed
2262  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.avgSpeed")) return false;
2263  this->avgSpeed = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2264  break;
2265  case 14: // See Profile.xlsx::Messages:segment_lap.maxSpeed
2266  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.maxSpeed")) return false;
2267  this->maxSpeed = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2268  break;
2269  case 15: // See Profile.xlsx::Messages:segment_lap.avgHeartRate
2270  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgHeartRate")) return false;
2271  this->avgHeartRate = static_cast<quint8>(data.at(0));
2272  break;
2273  case 16: // See Profile.xlsx::Messages:segment_lap.maxHeartRate
2274  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.maxHeartRate")) return false;
2275  this->maxHeartRate = static_cast<quint8>(data.at(0));
2276  break;
2277  case 17: // See Profile.xlsx::Messages:segment_lap.avgCadence
2278  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgCadence")) return false;
2279  this->avgCadence = static_cast<quint8>(data.at(0));
2280  break;
2281  case 18: // See Profile.xlsx::Messages:segment_lap.maxCadence
2282  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.maxCadence")) return false;
2283  this->maxCadence = static_cast<quint8>(data.at(0));
2284  break;
2285  case 19: // See Profile.xlsx::Messages:segment_lap.avgPower
2286  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.avgPower")) return false;
2287  this->avgPower = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2288  break;
2289  case 20: // See Profile.xlsx::Messages:segment_lap.maxPower
2290  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.maxPower")) return false;
2291  this->maxPower = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2292  break;
2293  case 21: // See Profile.xlsx::Messages:segment_lap.totalAscent
2294  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.totalAscent")) return false;
2295  this->totalAscent = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2296  break;
2297  case 22: // See Profile.xlsx::Messages:segment_lap.totalDescent
2298  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.totalDescent")) return false;
2299  this->totalDescent = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2300  break;
2301  case 23: // See Profile.xlsx::Messages:segment_lap.sport
2302  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.sport")) return false;
2303  this->sport = static_cast<Sport>(data.at(0));
2304  break;
2305  case 24: // See Profile.xlsx::Messages:segment_lap.eventGroup
2306  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.eventGroup")) return false;
2307  this->eventGroup = static_cast<quint8>(data.at(0));
2308  break;
2309  case 25: // See Profile.xlsx::Messages:segment_lap.necLat
2310  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.necLat")) return false;
2311  this->necLat = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2312  break;
2313  case 26: // See Profile.xlsx::Messages:segment_lap.necLong
2314  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.necLong")) return false;
2315  this->necLong = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2316  break;
2317  case 27: // See Profile.xlsx::Messages:segment_lap.swcLat
2318  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.swcLat")) return false;
2319  this->swcLat = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2320  break;
2321  case 28: // See Profile.xlsx::Messages:segment_lap.swcLong
2322  if (!verify(data, baseType, 4, FitBaseType::Sint32, "segment_lap.swcLong")) return false;
2323  this->swcLong = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
2324  break;
2325  case 29: // See Profile.xlsx::Messages:segment_lap.name
2326  if (!verify(data, baseType, 1, FitBaseType::String, "segment_lap.name")) return false;
2327  this->name = QString::fromUtf8(data);
2328  break;
2329  case 30: // See Profile.xlsx::Messages:segment_lap.normalizedPower
2330  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.normalizedPower")) return false;
2331  this->normalizedPower = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2332  break;
2333  case 31: // See Profile.xlsx::Messages:segment_lap.leftRightBalance
2334  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.leftRightBalance")) return false;
2335  this->leftRightBalance = static_cast<LeftRightBalance100>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2336  break;
2337  case 32: // See Profile.xlsx::Messages:segment_lap.subSport
2338  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.subSport")) return false;
2339  this->subSport = static_cast<SubSport>(data.at(0));
2340  break;
2341  case 33: // See Profile.xlsx::Messages:segment_lap.totalWork
2342  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalWork")) return false;
2343  this->totalWork = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2344  break;
2345  case 34: // See Profile.xlsx::Messages:segment_lap.avgAltitude
2346  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.avgAltitude")) return false;
2347  this->avgAltitude = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2348  break;
2349  case 35: // See Profile.xlsx::Messages:segment_lap.maxAltitude
2350  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.maxAltitude")) return false;
2351  this->maxAltitude = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2352  break;
2353  case 36: // See Profile.xlsx::Messages:segment_lap.gpsAccuracy
2354  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.gpsAccuracy")) return false;
2355  this->gpsAccuracy = static_cast<quint8>(data.at(0));
2356  break;
2357  case 37: // See Profile.xlsx::Messages:segment_lap.avgGrade
2358  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgGrade")) return false;
2359  this->avgGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2360  break;
2361  case 38: // See Profile.xlsx::Messages:segment_lap.avgPosGrade
2362  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgPosGrade")) return false;
2363  this->avgPosGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2364  break;
2365  case 39: // See Profile.xlsx::Messages:segment_lap.avgNegGrade
2366  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgNegGrade")) return false;
2367  this->avgNegGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2368  break;
2369  case 40: // See Profile.xlsx::Messages:segment_lap.maxPosGrade
2370  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.maxPosGrade")) return false;
2371  this->maxPosGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2372  break;
2373  case 41: // See Profile.xlsx::Messages:segment_lap.maxNegGrade
2374  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.maxNegGrade")) return false;
2375  this->maxNegGrade = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2376  break;
2377  case 42: // See Profile.xlsx::Messages:segment_lap.avgTemperature
2378  if (!verify(data, baseType, 1, FitBaseType::Sint8, "segment_lap.avgTemperature")) return false;
2379  this->avgTemperature = static_cast<qint8>(data.at(0));
2380  break;
2381  case 43: // See Profile.xlsx::Messages:segment_lap.maxTemperature
2382  if (!verify(data, baseType, 1, FitBaseType::Sint8, "segment_lap.maxTemperature")) return false;
2383  this->maxTemperature = static_cast<qint8>(data.at(0));
2384  break;
2385  case 44: // See Profile.xlsx::Messages:segment_lap.totalMovingTime
2386  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.totalMovingTime")) return false;
2387  this->totalMovingTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2388  break;
2389  case 45: // See Profile.xlsx::Messages:segment_lap.avgPosVerticalSpeed
2390  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgPosVerticalSpeed")) return false;
2391  this->avgPosVerticalSpeed = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2392  break;
2393  case 46: // See Profile.xlsx::Messages:segment_lap.avgNegVerticalSpeed
2394  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.avgNegVerticalSpeed")) return false;
2395  this->avgNegVerticalSpeed = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2396  break;
2397  case 47: // See Profile.xlsx::Messages:segment_lap.maxPosVerticalSpeed
2398  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.maxPosVerticalSpeed")) return false;
2399  this->maxPosVerticalSpeed = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2400  break;
2401  case 48: // See Profile.xlsx::Messages:segment_lap.maxNegVerticalSpeed
2402  if (!verify(data, baseType, 2, FitBaseType::Sint16, "segment_lap.maxNegVerticalSpeed")) return false;
2403  this->maxNegVerticalSpeed = static_cast<qint16>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
2404  break;
2405  case 49: // See Profile.xlsx::Messages:segment_lap.timeInHrZone
2406  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeInHrZone")) return false;
2407  this->timeInHrZone = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2408  break;
2409  case 50: // See Profile.xlsx::Messages:segment_lap.timeInSpeedZone
2410  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeInSpeedZone")) return false;
2411  this->timeInSpeedZone = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2412  break;
2413  case 51: // See Profile.xlsx::Messages:segment_lap.timeInCadenceZone
2414  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeInCadenceZone")) return false;
2415  this->timeInCadenceZone = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2416  break;
2417  case 52: // See Profile.xlsx::Messages:segment_lap.timeInPowerZone
2418  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeInPowerZone")) return false;
2419  this->timeInPowerZone = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2420  break;
2421  case 53: // See Profile.xlsx::Messages:segment_lap.repetitionNum
2422  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.repetitionNum")) return false;
2423  this->repetitionNum = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2424  break;
2425  case 54: // See Profile.xlsx::Messages:segment_lap.minAltitude
2426  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.minAltitude")) return false;
2427  this->minAltitude = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2428  break;
2429  case 55: // See Profile.xlsx::Messages:segment_lap.minHeartRate
2430  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.minHeartRate")) return false;
2431  this->minHeartRate = static_cast<quint8>(data.at(0));
2432  break;
2433  case 56: // See Profile.xlsx::Messages:segment_lap.activeTime
2434  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.activeTime")) return false;
2435  this->activeTime = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2436  break;
2437  case 57: // See Profile.xlsx::Messages:segment_lap.wktStepIndex
2438  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.wktStepIndex")) return false;
2439  this->wktStepIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2440  break;
2441  case 58: // See Profile.xlsx::Messages:segment_lap.sportEvent
2442  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.sportEvent")) return false;
2443  this->sportEvent = static_cast<SportEvent>(data.at(0));
2444  break;
2445  case 59: // See Profile.xlsx::Messages:segment_lap.avgLeftTorqueEffectiveness
2446  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgLeftTorqueEffectiveness")) return false;
2447  this->avgLeftTorqueEffectiveness = static_cast<quint8>(data.at(0));
2448  break;
2449  case 60: // See Profile.xlsx::Messages:segment_lap.avgRightTorqueEffectiveness
2450  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgRightTorqueEffectiveness")) return false;
2451  this->avgRightTorqueEffectiveness = static_cast<quint8>(data.at(0));
2452  break;
2453  case 61: // See Profile.xlsx::Messages:segment_lap.avgLeftPedalSmoothness
2454  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgLeftPedalSmoothness")) return false;
2455  this->avgLeftPedalSmoothness = static_cast<quint8>(data.at(0));
2456  break;
2457  case 62: // See Profile.xlsx::Messages:segment_lap.avgRightPedalSmoothness
2458  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgRightPedalSmoothness")) return false;
2459  this->avgRightPedalSmoothness = static_cast<quint8>(data.at(0));
2460  break;
2461  case 63: // See Profile.xlsx::Messages:segment_lap.avgCombinedPedalSmoothness
2462  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgCombinedPedalSmoothness")) return false;
2463  this->avgCombinedPedalSmoothness = static_cast<quint8>(data.at(0));
2464  break;
2465  case 64: // See Profile.xlsx::Messages:segment_lap.status
2466  if (!verify(data, baseType, 1, FitBaseType::Enum, "segment_lap.status")) return false;
2467  this->status = static_cast<SegmentLapStatus>(data.at(0));
2468  break;
2469  case 65: // See Profile.xlsx::Messages:segment_lap.uuid
2470  if (!verify(data, baseType, 1, FitBaseType::String, "segment_lap.uuid")) return false;
2471  this->uuid = QString::fromUtf8(data);
2472  break;
2473  case 66: // See Profile.xlsx::Messages:segment_lap.avgFractionalCadence
2474  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgFractionalCadence")) return false;
2475  this->avgFractionalCadence = static_cast<quint8>(data.at(0));
2476  break;
2477  case 67: // See Profile.xlsx::Messages:segment_lap.maxFractionalCadence
2478  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.maxFractionalCadence")) return false;
2479  this->maxFractionalCadence = static_cast<quint8>(data.at(0));
2480  break;
2481  case 68: // See Profile.xlsx::Messages:segment_lap.totalFractionalCycles
2482  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.totalFractionalCycles")) return false;
2483  this->totalFractionalCycles = static_cast<quint8>(data.at(0));
2484  break;
2485  case 69: // See Profile.xlsx::Messages:segment_lap.frontGearShiftCount
2486  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.frontGearShiftCount")) return false;
2487  this->frontGearShiftCount = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2488  break;
2489  case 70: // See Profile.xlsx::Messages:segment_lap.rearGearShiftCount
2490  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.rearGearShiftCount")) return false;
2491  this->rearGearShiftCount = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2492  break;
2493  case 71: // See Profile.xlsx::Messages:segment_lap.timeStanding
2494  if (!verify(data, baseType, 4, FitBaseType::Uint32, "segment_lap.timeStanding")) return false;
2495  this->timeStanding = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
2496  break;
2497  case 72: // See Profile.xlsx::Messages:segment_lap.standCount
2498  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.standCount")) return false;
2499  this->standCount = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2500  break;
2501  case 73: // See Profile.xlsx::Messages:segment_lap.avgLeftPco
2502  if (!verify(data, baseType, 1, FitBaseType::Sint8, "segment_lap.avgLeftPco")) return false;
2503  this->avgLeftPco = static_cast<qint8>(data.at(0));
2504  break;
2505  case 74: // See Profile.xlsx::Messages:segment_lap.avgRightPco
2506  if (!verify(data, baseType, 1, FitBaseType::Sint8, "segment_lap.avgRightPco")) return false;
2507  this->avgRightPco = static_cast<qint8>(data.at(0));
2508  break;
2509  case 75: // See Profile.xlsx::Messages:segment_lap.avgLeftPowerPhase
2510  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgLeftPowerPhase")) return false;
2511  this->avgLeftPowerPhase = static_cast<quint8>(data.at(0));
2512  break;
2513  case 76: // See Profile.xlsx::Messages:segment_lap.avgLeftPowerPhasePeak
2514  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgLeftPowerPhasePeak")) return false;
2515  this->avgLeftPowerPhasePeak = static_cast<quint8>(data.at(0));
2516  break;
2517  case 77: // See Profile.xlsx::Messages:segment_lap.avgRightPowerPhase
2518  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgRightPowerPhase")) return false;
2519  this->avgRightPowerPhase = static_cast<quint8>(data.at(0));
2520  break;
2521  case 78: // See Profile.xlsx::Messages:segment_lap.avgRightPowerPhasePeak
2522  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgRightPowerPhasePeak")) return false;
2523  this->avgRightPowerPhasePeak = static_cast<quint8>(data.at(0));
2524  break;
2525  case 79: // See Profile.xlsx::Messages:segment_lap.avgPowerPosition
2526  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.avgPowerPosition")) return false;
2527  this->avgPowerPosition = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2528  break;
2529  case 80: // See Profile.xlsx::Messages:segment_lap.maxPowerPosition
2530  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.maxPowerPosition")) return false;
2531  this->maxPowerPosition = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2532  break;
2533  case 81: // See Profile.xlsx::Messages:segment_lap.avgCadencePosition
2534  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.avgCadencePosition")) return false;
2535  this->avgCadencePosition = static_cast<quint8>(data.at(0));
2536  break;
2537  case 82: // See Profile.xlsx::Messages:segment_lap.maxCadencePosition
2538  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.maxCadencePosition")) return false;
2539  this->maxCadencePosition = static_cast<quint8>(data.at(0));
2540  break;
2541  case 83: // See Profile.xlsx::Messages:segment_lap.manufacturer
2542  if (!verify(data, baseType, 2, FitBaseType::Uint16, "segment_lap.manufacturer")) return false;
2543  this->manufacturer = static_cast<Manufacturer>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
2544  break;
2545  case 84: // See Profile.xlsx::Messages:segment_lap.totalGrit
2546  if (!verify(data, baseType, 4, FitBaseType::Float32, "segment_lap.totalGrit")) return false;
2547  #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
2548  { // Qt's from-endian functions have no float/double specialisations prior to Qt 5.12.
2549  const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
2550  static_assert(sizeof(localEndian) == 4, "src not expected size");
2551  static_assert(sizeof(this->totalGrit) == 4, "src and dst not the same size");
2552  memcpy(&this->totalGrit, &localEndian, data.size());
2553  }
2554  #else
2555  this->totalGrit = static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
2556  #endif
2557  break;
2558  case 85: // See Profile.xlsx::Messages:segment_lap.totalFlow
2559  if (!verify(data, baseType, 4, FitBaseType::Float32, "segment_lap.totalFlow")) return false;
2560  #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
2561  { // Qt's from-endian functions have no float/double specialisations prior to Qt 5.12.
2562  const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
2563  static_assert(sizeof(localEndian) == 4, "src not expected size");
2564  static_assert(sizeof(this->totalFlow) == 4, "src and dst not the same size");
2565  memcpy(&this->totalFlow, &localEndian, data.size());
2566  }
2567  #else
2568  this->totalFlow = static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
2569  #endif
2570  break;
2571  case 86: // See Profile.xlsx::Messages:segment_lap.avgGrit
2572  if (!verify(data, baseType, 4, FitBaseType::Float32, "segment_lap.avgGrit")) return false;
2573  #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
2574  { // Qt's from-endian functions have no float/double specialisations prior to Qt 5.12.
2575  const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
2576  static_assert(sizeof(localEndian) == 4, "src not expected size");
2577  static_assert(sizeof(this->avgGrit) == 4, "src and dst not the same size");
2578  memcpy(&this->avgGrit, &localEndian, data.size());
2579  }
2580  #else
2581  this->avgGrit = static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
2582  #endif
2583  break;
2584  case 87: // See Profile.xlsx::Messages:segment_lap.avgFlow
2585  if (!verify(data, baseType, 4, FitBaseType::Float32, "segment_lap.avgFlow")) return false;
2586  #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
2587  { // Qt's from-endian functions have no float/double specialisations prior to Qt 5.12.
2588  const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
2589  static_assert(sizeof(localEndian) == 4, "src not expected size");
2590  static_assert(sizeof(this->avgFlow) == 4, "src and dst not the same size");
2591  memcpy(&this->avgFlow, &localEndian, data.size());
2592  }
2593  #else
2594  this->avgFlow = static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
2595  #endif
2596  break;
2597  case 89: // See Profile.xlsx::Messages:segment_lap.totalFractionalAscent
2598  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.totalFractionalAscent")) return false;
2599  this->totalFractionalAscent = static_cast<quint8>(data.at(0));
2600  break;
2601  case 90: // See Profile.xlsx::Messages:segment_lap.totalFractionalDescent
2602  if (!verify(data, baseType, 1, FitBaseType::Uint8, "segment_lap.totalFractionalDescent")) return false;
2603  this->totalFractionalDescent = static_cast<quint8>(data.at(0));
2604  break;
2605  default:
2606  qWarning() << "ignoring unknown segment_lap message field number" << fieldId << bigEndian;
2607  // Fall through to return true, as its still 'safe' to continue parsing data messages.
2608  }
2609  return true;
2610 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
QString name
The SegmentLapMessage FIT message's name field.
QString uuid
The SegmentLapMessage FIT message's uuid field.

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

Member Data Documentation

◆ avgCadence

quint8 SegmentLapMessagePrivate::avgCadence

The SegmentLapMessage FIT message's avgCadence field.

total_cycles / total_timer_time if non_zero_avg_cadence otherwise total_cycles / total_elapsed_time

Definition at line 150 of file segmentlapmessage_p.h.

◆ avgCadencePosition

quint8 SegmentLapMessagePrivate::avgCadencePosition

The SegmentLapMessage FIT message's avgCadencePosition field.

Average cadence by position. Data value indexes defined by rider_position_type.

Definition at line 509 of file segmentlapmessage_p.h.

◆ avgFlow

float SegmentLapMessagePrivate::avgFlow

The SegmentLapMessage FIT message's avgFlow field.

The flow score estimates how long distance wise a cyclist deaccelerates over intervals where deacceleration is unnecessary such as smooth turns or small grade angle intervals.

Definition at line 555 of file segmentlapmessage_p.h.

◆ avgFractionalCadence

quint8 SegmentLapMessagePrivate::avgFractionalCadence

The SegmentLapMessage FIT message's avgFractionalCadence field.

fractional part of the avg_cadence

Definition at line 408 of file segmentlapmessage_p.h.

◆ avgGrit

float SegmentLapMessagePrivate::avgGrit

The SegmentLapMessage FIT message's avgGrit field.

The grit score estimates how challenging a route could be for a cyclist in terms of time spent going over sharp turns or large grade slopes.

Definition at line 547 of file segmentlapmessage_p.h.

◆ avgLeftPco

qint8 SegmentLapMessagePrivate::avgLeftPco

The SegmentLapMessage FIT message's avgLeftPco field.

Average left platform center offset

Definition at line 453 of file segmentlapmessage_p.h.

◆ avgLeftPowerPhase

quint8 SegmentLapMessagePrivate::avgLeftPowerPhase

The SegmentLapMessage FIT message's avgLeftPowerPhase field.

Average left power phase angles. Data value indexes defined by power_phase_type.

Definition at line 467 of file segmentlapmessage_p.h.

◆ avgLeftPowerPhasePeak

quint8 SegmentLapMessagePrivate::avgLeftPowerPhasePeak

The SegmentLapMessage FIT message's avgLeftPowerPhasePeak field.

Average left power phase peak angles. Data value indexes defined by power_phase_type.

Definition at line 474 of file segmentlapmessage_p.h.

◆ avgPower

quint16 SegmentLapMessagePrivate::avgPower

The SegmentLapMessage FIT message's avgPower field.

total_power / total_timer_time if non_zero_avg_power otherwise total_power / total_elapsed_time

Definition at line 163 of file segmentlapmessage_p.h.

◆ avgPowerPosition

quint16 SegmentLapMessagePrivate::avgPowerPosition

The SegmentLapMessage FIT message's avgPowerPosition field.

Average power by position. Data value indexes defined by rider_position_type.

Definition at line 495 of file segmentlapmessage_p.h.

◆ avgRightPco

qint8 SegmentLapMessagePrivate::avgRightPco

The SegmentLapMessage FIT message's avgRightPco field.

Average right platform center offset

Definition at line 460 of file segmentlapmessage_p.h.

◆ avgRightPowerPhase

quint8 SegmentLapMessagePrivate::avgRightPowerPhase

The SegmentLapMessage FIT message's avgRightPowerPhase field.

Average right power phase angles. Data value indexes defined by power_phase_type.

Definition at line 481 of file segmentlapmessage_p.h.

◆ avgRightPowerPhasePeak

quint8 SegmentLapMessagePrivate::avgRightPowerPhasePeak

The SegmentLapMessage FIT message's avgRightPowerPhasePeak field.

Average right power phase peak angles. Data value indexes defined by power_phase_type.

Definition at line 488 of file segmentlapmessage_p.h.

◆ manufacturer

Manufacturer SegmentLapMessagePrivate::manufacturer

The SegmentLapMessage FIT message's manufacturer field.

Manufacturer that produced the segment

Definition at line 523 of file segmentlapmessage_p.h.

◆ maxCadencePosition

quint8 SegmentLapMessagePrivate::maxCadencePosition

The SegmentLapMessage FIT message's maxCadencePosition field.

Maximum cadence by position. Data value indexes defined by rider_position_type.

Definition at line 516 of file segmentlapmessage_p.h.

◆ maxFractionalCadence

quint8 SegmentLapMessagePrivate::maxFractionalCadence

The SegmentLapMessage FIT message's maxFractionalCadence field.

fractional part of the max_cadence

Definition at line 415 of file segmentlapmessage_p.h.

◆ maxPowerPosition

quint16 SegmentLapMessagePrivate::maxPowerPosition

The SegmentLapMessage FIT message's maxPowerPosition field.

Maximum power by position. Data value indexes defined by rider_position_type.

Definition at line 502 of file segmentlapmessage_p.h.

◆ necLat

qint32 SegmentLapMessagePrivate::necLat

The SegmentLapMessage FIT message's necLat field.

North east corner latitude.

Definition at line 195 of file segmentlapmessage_p.h.

◆ necLong

qint32 SegmentLapMessagePrivate::necLong

The SegmentLapMessage FIT message's necLong field.

North east corner longitude.

Definition at line 202 of file segmentlapmessage_p.h.

◆ standCount

quint16 SegmentLapMessagePrivate::standCount

The SegmentLapMessage FIT message's standCount field.

Number of transitions to the standing state

Definition at line 446 of file segmentlapmessage_p.h.

◆ swcLat

qint32 SegmentLapMessagePrivate::swcLat

The SegmentLapMessage FIT message's swcLat field.

South west corner latitude.

Definition at line 209 of file segmentlapmessage_p.h.

◆ swcLong

qint32 SegmentLapMessagePrivate::swcLong

The SegmentLapMessage FIT message's swcLong field.

South west corner latitude.

Definition at line 216 of file segmentlapmessage_p.h.

◆ timestamp

DateTime SegmentLapMessagePrivate::timestamp

The SegmentLapMessage FIT message's timestamp field.

Lap end time.

Definition at line 51 of file segmentlapmessage_p.h.

◆ timeStanding

quint32 SegmentLapMessagePrivate::timeStanding

The SegmentLapMessage FIT message's timeStanding field.

Total time spent in the standing position

Definition at line 439 of file segmentlapmessage_p.h.

◆ totalElapsedTime

quint32 SegmentLapMessagePrivate::totalElapsedTime

The SegmentLapMessage FIT message's totalElapsedTime field.

Time (includes pauses)

Definition at line 93 of file segmentlapmessage_p.h.

◆ totalFatCalories

quint16 SegmentLapMessagePrivate::totalFatCalories

The SegmentLapMessage FIT message's totalFatCalories field.

If New Leaf

Definition at line 122 of file segmentlapmessage_p.h.

◆ totalFlow

float SegmentLapMessagePrivate::totalFlow

The SegmentLapMessage FIT message's totalFlow field.

The flow score estimates how long distance wise a cyclist deaccelerates over intervals where deacceleration is unnecessary such as smooth turns or small grade angle intervals.

Definition at line 539 of file segmentlapmessage_p.h.

◆ totalFractionalAscent

quint8 SegmentLapMessagePrivate::totalFractionalAscent

The SegmentLapMessage FIT message's totalFractionalAscent field.

fractional part of total_ascent

Definition at line 562 of file segmentlapmessage_p.h.

◆ totalFractionalCycles

quint8 SegmentLapMessagePrivate::totalFractionalCycles

The SegmentLapMessage FIT message's totalFractionalCycles field.

fractional part of the total_cycles

Definition at line 422 of file segmentlapmessage_p.h.

◆ totalFractionalDescent

quint8 SegmentLapMessagePrivate::totalFractionalDescent

The SegmentLapMessage FIT message's totalFractionalDescent field.

fractional part of total_descent

Definition at line 569 of file segmentlapmessage_p.h.

◆ totalGrit

float SegmentLapMessagePrivate::totalGrit

The SegmentLapMessage FIT message's totalGrit field.

The grit score estimates how challenging a route could be for a cyclist in terms of time spent going over sharp turns or large grade slopes.

Definition at line 531 of file segmentlapmessage_p.h.

◆ totalTimerTime

quint32 SegmentLapMessagePrivate::totalTimerTime

The SegmentLapMessage FIT message's totalTimerTime field.

Timer Time (excludes pauses)

Definition at line 100 of file segmentlapmessage_p.h.


The documentation for this class was generated from the following files: