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

Public Member Functions

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

Public Attributes

DateTime timestamp
 The ThreeDSensorCalibrationMessage FIT message's timestamp field. More...
 
SensorType sensorType
 The ThreeDSensorCalibrationMessage FIT message's sensorType field. More...
 
quint32 calibrationFactor
 The ThreeDSensorCalibrationMessage FIT message's calibrationFactor field. More...
 
quint32 calibrationDivisor
 The ThreeDSensorCalibrationMessage FIT message's calibrationDivisor field. More...
 
quint32 levelShift
 The ThreeDSensorCalibrationMessage FIT message's levelShift field. More...
 
qint32 offsetCal
 The ThreeDSensorCalibrationMessage FIT message's offsetCal field. More...
 
qint32 orientationMatrix
 The ThreeDSensorCalibrationMessage FIT message's orientationMatrix 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 ThreeDSensorCalibrationMessagePrivate class provides private implementation for the ThreeDSensorCalibrationMessage.

See also
ThreeDSensorCalibrationMessage

Definition at line 38 of file threedsensorcalibrationmessage_p.h.

Constructor & Destructor Documentation

◆ ThreeDSensorCalibrationMessagePrivate()

ThreeDSensorCalibrationMessagePrivate::ThreeDSensorCalibrationMessagePrivate ( ThreeDSensorCalibrationMessage *const  q)
explicit

Constructs a ThreeDSensorCalibrationMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 250 of file threedsensorcalibrationmessage.cpp.

252  , timestamp(static_cast<DateTime>(-1))
253  , sensorType(static_cast<SensorType>(-1))
254  , calibrationFactor(0xFFFFFFFF)
255  , calibrationDivisor(0xFFFFFFFF)
256  , levelShift(0xFFFFFFFF)
257  , offsetCal(0x7FFFFFFF)
258  , orientationMatrix(0x7FFFFFFF)
259 {
260  globalMessageNumber = MesgNum::ThreeDSensorCalibration;
261 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
SensorType sensorType
The ThreeDSensorCalibrationMessage FIT message's sensorType field.
DateTime timestamp
The ThreeDSensorCalibrationMessage FIT message's timestamp field.
quint32 calibrationFactor
The ThreeDSensorCalibrationMessage FIT message's calibrationFactor field.
qint32 offsetCal
The ThreeDSensorCalibrationMessage FIT message's offsetCal field.
qint32 orientationMatrix
The ThreeDSensorCalibrationMessage FIT message's orientationMatrix field.
quint32 levelShift
The ThreeDSensorCalibrationMessage FIT message's levelShift field.
quint32 calibrationDivisor
The ThreeDSensorCalibrationMessage FIT message's calibrationDivisor field.
SensorType
Garmin FIT SensorType type.
Definition: types.h:2956
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~ThreeDSensorCalibrationMessagePrivate()

ThreeDSensorCalibrationMessagePrivate::~ThreeDSensorCalibrationMessagePrivate ( )
virtual

Destroys the ThreeDSensorCalibrationMessagePrivate object.

Definition at line 268 of file threedsensorcalibrationmessage.cpp.

269 {
270 
271 }

Member Function Documentation

◆ setField()

bool ThreeDSensorCalibrationMessagePrivate::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 273 of file threedsensorcalibrationmessage.cpp.

275 {
276  switch (fieldId) {
277  case 253: // See Profile.xlsx::Messages:three_d_sensor_calibration.timestamp
278  if (!verify(data, baseType, 4, FitBaseType::Uint32, "three_d_sensor_calibration.timestamp")) return false;
279  this->timestamp = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
280  break;
281  case 0: // See Profile.xlsx::Messages:three_d_sensor_calibration.sensorType
282  if (!verify(data, baseType, 1, FitBaseType::Enum, "three_d_sensor_calibration.sensorType")) return false;
283  this->sensorType = static_cast<SensorType>(data.at(0));
284  break;
285  case 1: // See Profile.xlsx::Messages:three_d_sensor_calibration.calibrationFactor
286  if (!verify(data, baseType, 4, FitBaseType::Uint32, "three_d_sensor_calibration.calibrationFactor")) return false;
287  this->calibrationFactor = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
288  break;
289  case 2: // See Profile.xlsx::Messages:three_d_sensor_calibration.calibrationDivisor
290  if (!verify(data, baseType, 4, FitBaseType::Uint32, "three_d_sensor_calibration.calibrationDivisor")) return false;
291  this->calibrationDivisor = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
292  break;
293  case 3: // See Profile.xlsx::Messages:three_d_sensor_calibration.levelShift
294  if (!verify(data, baseType, 4, FitBaseType::Uint32, "three_d_sensor_calibration.levelShift")) return false;
295  this->levelShift = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
296  break;
297  case 4: // See Profile.xlsx::Messages:three_d_sensor_calibration.offsetCal
298  if (!verify(data, baseType, 4, FitBaseType::Sint32, "three_d_sensor_calibration.offsetCal")) return false;
299  this->offsetCal = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
300  break;
301  case 5: // See Profile.xlsx::Messages:three_d_sensor_calibration.orientationMatrix
302  if (!verify(data, baseType, 4, FitBaseType::Sint32, "three_d_sensor_calibration.orientationMatrix")) return false;
303  this->orientationMatrix = static_cast<qint32>(bigEndian ? qFromBigEndian< qint32>(data) : qFromLittleEndian< qint32>(data));
304  break;
305  default:
306  qWarning() << "ignoring unknown three_d_sensor_calibration message field number" << fieldId << bigEndian;
307  // Fall through to return true, as its still 'safe' to continue parsing data messages.
308  }
309  return true;
310 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

Member Data Documentation

◆ calibrationDivisor

quint32 ThreeDSensorCalibrationMessagePrivate::calibrationDivisor

The ThreeDSensorCalibrationMessage FIT message's calibrationDivisor field.

Calibration factor divisor

Definition at line 67 of file threedsensorcalibrationmessage_p.h.

◆ calibrationFactor

quint32 ThreeDSensorCalibrationMessagePrivate::calibrationFactor

The ThreeDSensorCalibrationMessage FIT message's calibrationFactor field.

Calibration factor used to convert from raw ADC value to degrees, g, etc.

Definition at line 60 of file threedsensorcalibrationmessage_p.h.

◆ levelShift

quint32 ThreeDSensorCalibrationMessagePrivate::levelShift

The ThreeDSensorCalibrationMessage FIT message's levelShift field.

Level shift value used to shift the ADC value back into range

Definition at line 74 of file threedsensorcalibrationmessage_p.h.

◆ offsetCal

qint32 ThreeDSensorCalibrationMessagePrivate::offsetCal

The ThreeDSensorCalibrationMessage FIT message's offsetCal field.

Internal calibration factors, one for each: xy, yx, zx

Definition at line 81 of file threedsensorcalibrationmessage_p.h.

◆ orientationMatrix

qint32 ThreeDSensorCalibrationMessagePrivate::orientationMatrix

The ThreeDSensorCalibrationMessage FIT message's orientationMatrix field.

3 x 3 rotation matrix (row major)

Definition at line 88 of file threedsensorcalibrationmessage_p.h.

◆ sensorType

SensorType ThreeDSensorCalibrationMessagePrivate::sensorType

The ThreeDSensorCalibrationMessage FIT message's sensorType field.

Indicates which sensor the calibration is for

Definition at line 53 of file threedsensorcalibrationmessage_p.h.

◆ timestamp

DateTime ThreeDSensorCalibrationMessagePrivate::timestamp

The ThreeDSensorCalibrationMessage FIT message's timestamp field.

Whole second part of the timestamp

Definition at line 46 of file threedsensorcalibrationmessage_p.h.


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