92 return d->timestampMs;
103 return d->positionLat;
114 return d->positionLong;
125 return d->enhancedAltitude;
136 return d->enhancedSpeed;
161 return d->utcTimestamp;
289 , timestamp(static_cast<
DateTime>(-1))
290 , timestampMs(0xFFFF)
291 , positionLat(0x7FFFFFFF)
292 , positionLong(0x7FFFFFFF)
293 , enhancedAltitude(0xFFFFFFFF)
294 , enhancedSpeed(0xFFFFFFFF)
296 , utcTimestamp(static_cast<
DateTime>(-1))
313 const int fieldId,
const QByteArray &data,
const FitBaseType baseType,
const bool bigEndian)
317 if (!
verify(data, baseType, 4, FitBaseType::Uint32,
"gps_metadata.timestamp"))
return false;
318 this->
timestamp =
static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
321 if (!
verify(data, baseType, 2, FitBaseType::Uint16,
"gps_metadata.timestampMs"))
return false;
322 this->
timestampMs =
static_cast<quint16
>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
325 if (!
verify(data, baseType, 4, FitBaseType::Sint32,
"gps_metadata.positionLat"))
return false;
326 this->
positionLat =
static_cast<qint32
>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
329 if (!
verify(data, baseType, 4, FitBaseType::Sint32,
"gps_metadata.positionLong"))
return false;
330 this->
positionLong =
static_cast<qint32
>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
333 if (!
verify(data, baseType, 4, FitBaseType::Uint32,
"gps_metadata.enhancedAltitude"))
return false;
334 this->
enhancedAltitude =
static_cast<quint32
>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
337 if (!
verify(data, baseType, 4, FitBaseType::Uint32,
"gps_metadata.enhancedSpeed"))
return false;
338 this->
enhancedSpeed =
static_cast<quint32
>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
341 if (!
verify(data, baseType, 2, FitBaseType::Uint16,
"gps_metadata.heading"))
return false;
342 this->
heading =
static_cast<quint16
>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
345 if (!
verify(data, baseType, 4, FitBaseType::Uint32,
"gps_metadata.utcTimestamp"))
return false;
346 this->
utcTimestamp =
static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
349 if (!
verify(data, baseType, 2, FitBaseType::Sint16,
"gps_metadata.velocity"))
return false;
350 this->
velocity =
static_cast<qint16
>(bigEndian ? qFromBigEndian< qint16>(data) : qFromLittleEndian< qint16>(data));
353 qWarning() <<
"ignoring unknown gps_metadata 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.
FitBaseType
Garmin FIT FitBaseType type.
DateTime
Seconds since UTC 00:00 Dec 31 1989.