88 return d->positionLat;
99 return d->positionLong;
110 return d->climbProEvent;
121 return d->climbNumber;
132 return d->climbCategory;
143 return d->currentDist;
238 , timestamp(static_cast<
DateTime>(-1))
239 , positionLat(0x7FFFFFFF)
240 , positionLong(0x7FFFFFFF)
242 , climbNumber(0xFFFF)
243 , climbCategory(0xFF)
244 , currentDist(static_cast<float>(-1))
260 const int fieldId,
const QByteArray &data,
const FitBaseType baseType,
const bool bigEndian)
264 if (!
verify(data, baseType, 4, FitBaseType::Uint32,
"climb_pro.timestamp"))
return false;
265 this->
timestamp =
static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
268 if (!
verify(data, baseType, 4, FitBaseType::Sint32,
"climb_pro.positionLat"))
return false;
269 this->
positionLat =
static_cast<qint32
>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
272 if (!
verify(data, baseType, 4, FitBaseType::Sint32,
"climb_pro.positionLong"))
return false;
273 this->
positionLong =
static_cast<qint32
>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
276 if (!
verify(data, baseType, 1, FitBaseType::Enum,
"climb_pro.climbProEvent"))
return false;
280 if (!
verify(data, baseType, 2, FitBaseType::Uint16,
"climb_pro.climbNumber"))
return false;
281 this->
climbNumber =
static_cast<quint16
>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
284 if (!
verify(data, baseType, 1, FitBaseType::Uint8,
"climb_pro.climbCategory"))
return false;
288 if (!
verify(data, baseType, 4, FitBaseType::Float32,
"climb_pro.currentDist"))
return false;
289 #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
291 const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
292 static_assert(
sizeof(localEndian) == 4,
"src not expected size");
293 static_assert(
sizeof(this->
currentDist) == 4,
"src and dst not the same size");
294 memcpy(&this->
currentDist, &localEndian, data.size());
297 this->
currentDist =
static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
301 qWarning() <<
"ignoring unknown climb_pro message field number" << fieldId << bigEndian;
#define QTFIT_END_NAMESPACE
Macro for ending the QtFit library's top-most namespace (if one is defined).
#define QTFIT_BEGIN_NAMESPACE
Macro for starting the QtFit library's top-most namespace (if one is defined).
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
The AbstractDataMessage class is the polymorphic base class for all FIT Data Message classes.
quint16 climbNumber
The ClimbProMessage FIT message's climbNumber field.
qint32 positionLat
The ClimbProMessage FIT message's positionLat field.
bool setField(const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian) override
virtual ~ClimbProMessagePrivate()
quint8 climbCategory
The ClimbProMessage FIT message's climbCategory field.
qint32 positionLong
The ClimbProMessage FIT message's positionLong field.
float currentDist
The ClimbProMessage FIT message's currentDist field.
ClimbProEvent climbProEvent
The ClimbProMessage FIT message's climbProEvent field.
DateTime timestamp
The ClimbProMessage FIT message's timestamp field.
The ClimbProMessage class represents a FIT ClimbProMessage data message.
void setClimbProEvent(const ClimbProEvent climbProEvent)
Sets the climbProEvent field to climbProEvent.
void setClimbCategory(const quint8 climbCategory)
Sets the climbCategory field to climbCategory.
DateTime timestamp() const
Returns the ClimbProMessage data message's timestamp field's current value.
void setTimestamp(const DateTime timestamp)
Sets the timestamp field to timestamp.
float currentDist() const
Returns the ClimbProMessage data message's currentDist field's current value.
void setPositionLat(const qint32 positionLat)
Sets the positionLat field to positionLat.
qint32 positionLat() const
Returns the ClimbProMessage data message's positionLat field's current value.
qint32 positionLong() const
Returns the ClimbProMessage data message's positionLong field's current value.
ClimbProEvent climbProEvent() const
Returns the ClimbProMessage data message's climbProEvent field's current value.
void setPositionLong(const qint32 positionLong)
Sets the positionLong field to positionLong.
ClimbProMessage()
Constructs a ClimbProMessage object.
quint8 climbCategory() const
Returns the ClimbProMessage data message's climbCategory field's current value.
void setCurrentDist(const float currentDist)
Sets the currentDist field to currentDist.
quint16 climbNumber() const
Returns the ClimbProMessage data message's climbNumber field's current value.
void setClimbNumber(const quint16 climbNumber)
Sets the climbNumber field to climbNumber.
Declares the ClimbProMessage class.
Declares the ClimbProMessagePrivate class.
ClimbProEvent
Garmin FIT ClimbProEvent type.
FitBaseType
Garmin FIT FitBaseType type.
DateTime
Seconds since UTC 00:00 Dec 31 1989.