92 return d->timestampMs;
107 return d->sampleTimeOffset;
162 return d->calibratedMagX;
175 return d->calibratedMagY;
188 return d->calibratedMagZ;
303 , timestamp(static_cast<
DateTime>(-1))
304 , timestampMs(0xFFFF)
305 , sampleTimeOffset(0xFFFF)
309 , calibratedMagX(static_cast<float>(-1))
310 , calibratedMagY(static_cast<float>(-1))
311 , calibratedMagZ(static_cast<float>(-1))
327 const int fieldId,
const QByteArray &data,
const FitBaseType baseType,
const bool bigEndian)
331 if (!
verify(data, baseType, 4, FitBaseType::Uint32,
"magnetometer_data.timestamp"))
return false;
332 this->
timestamp =
static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
335 if (!
verify(data, baseType, 2, FitBaseType::Uint16,
"magnetometer_data.timestampMs"))
return false;
336 this->
timestampMs =
static_cast<quint16
>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
339 if (!
verify(data, baseType, 2, FitBaseType::Uint16,
"magnetometer_data.sampleTimeOffset"))
return false;
340 this->
sampleTimeOffset =
static_cast<quint16
>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
343 if (!
verify(data, baseType, 2, FitBaseType::Uint16,
"magnetometer_data.magX"))
return false;
344 this->
magX =
static_cast<quint16
>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
347 if (!
verify(data, baseType, 2, FitBaseType::Uint16,
"magnetometer_data.magY"))
return false;
348 this->
magY =
static_cast<quint16
>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
351 if (!
verify(data, baseType, 2, FitBaseType::Uint16,
"magnetometer_data.magZ"))
return false;
352 this->
magZ =
static_cast<quint16
>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
355 if (!
verify(data, baseType, 4, FitBaseType::Float32,
"magnetometer_data.calibratedMagX"))
return false;
356 #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
358 const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
359 static_assert(
sizeof(localEndian) == 4,
"src not expected size");
360 static_assert(
sizeof(this->
calibratedMagX) == 4,
"src and dst not the same size");
364 this->
calibratedMagX =
static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
368 if (!
verify(data, baseType, 4, FitBaseType::Float32,
"magnetometer_data.calibratedMagY"))
return false;
369 #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
371 const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
372 static_assert(
sizeof(localEndian) == 4,
"src not expected size");
373 static_assert(
sizeof(this->
calibratedMagY) == 4,
"src and dst not the same size");
377 this->
calibratedMagY =
static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
381 if (!
verify(data, baseType, 4, FitBaseType::Float32,
"magnetometer_data.calibratedMagZ"))
return false;
382 #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
384 const quint32 localEndian = bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data);
385 static_assert(
sizeof(localEndian) == 4,
"src not expected size");
386 static_assert(
sizeof(this->
calibratedMagZ) == 4,
"src and dst not the same size");
390 this->
calibratedMagZ =
static_cast<float>(bigEndian ? qFromBigEndian<float>(data) : qFromLittleEndian<float>(data));
394 qWarning() <<
"ignoring unknown magnetometer_data 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.
float calibratedMagY
The MagnetometerDataMessage FIT message's calibratedMagY field.
DateTime timestamp
The MagnetometerDataMessage FIT message's timestamp field.
virtual ~MagnetometerDataMessagePrivate()
quint16 timestampMs
The MagnetometerDataMessage FIT message's timestampMs field.
quint16 magY
The MagnetometerDataMessage FIT message's magY field.
quint16 magX
The MagnetometerDataMessage FIT message's magX field.
quint16 magZ
The MagnetometerDataMessage FIT message's magZ field.
quint16 sampleTimeOffset
The MagnetometerDataMessage FIT message's sampleTimeOffset field.
float calibratedMagZ
The MagnetometerDataMessage FIT message's calibratedMagZ field.
float calibratedMagX
The MagnetometerDataMessage FIT message's calibratedMagX field.
bool setField(const int fieldId, const QByteArray &data, const FitBaseType baseType, const bool bigEndian) override
The MagnetometerDataMessage class represents a FIT MagnetometerDataMessage data message.
quint16 sampleTimeOffset() const
Returns the MagnetometerDataMessage data message's sampleTimeOffset field's current value.
quint16 magY() const
Returns the MagnetometerDataMessage data message's magY field's current value.
float calibratedMagY() const
Returns the MagnetometerDataMessage data message's calibratedMagY field's current value.
float calibratedMagZ() const
Returns the MagnetometerDataMessage data message's calibratedMagZ field's current value.
void setSampleTimeOffset(const quint16 sampleTimeOffset)
Sets the sampleTimeOffset field to sampleTimeOffset.
void setCalibratedMagZ(const float calibratedMagZ)
Sets the calibratedMagZ field to calibratedMagZ.
quint16 timestampMs() const
Returns the MagnetometerDataMessage data message's timestampMs field's current value.
void setTimestampMs(const quint16 timestampMs)
Sets the timestampMs field to timestampMs.
void setCalibratedMagX(const float calibratedMagX)
Sets the calibratedMagX field to calibratedMagX.
void setMagX(const quint16 magX)
Sets the magX field to magX.
float calibratedMagX() const
Returns the MagnetometerDataMessage data message's calibratedMagX field's current value.
MagnetometerDataMessage()
Constructs a MagnetometerDataMessage object.
void setMagZ(const quint16 magZ)
Sets the magZ field to magZ.
void setTimestamp(const DateTime timestamp)
Sets the timestamp field to timestamp.
void setMagY(const quint16 magY)
Sets the magY field to magY.
quint16 magX() const
Returns the MagnetometerDataMessage data message's magX field's current value.
quint16 magZ() const
Returns the MagnetometerDataMessage data message's magZ field's current value.
void setCalibratedMagY(const float calibratedMagY)
Sets the calibratedMagY field to calibratedMagY.
DateTime timestamp() const
Returns the MagnetometerDataMessage data message's timestamp field's current value.
Declares the MagnetometerDataMessage class.
Declares the MagnetometerDataMessagePrivate class.
FitBaseType
Garmin FIT FitBaseType type.
DateTime
Seconds since UTC 00:00 Dec 31 1989.