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

Public Member Functions

 SdmProfileMessagePrivate (SdmProfileMessage *const q)
 
virtual ~SdmProfileMessagePrivate ()
 
- 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 SdmProfileMessage FIT message's messageIndex field.
 
bool enabled
 The SdmProfileMessage FIT message's enabled field.
 
quint16z sdmAntId
 The SdmProfileMessage FIT message's sdmAntId field.
 
quint16 sdmCalFactor
 The SdmProfileMessage FIT message's sdmCalFactor field.
 
quint32 odometer
 The SdmProfileMessage FIT message's odometer field.
 
bool speedSource
 The SdmProfileMessage FIT message's speedSource field. More...
 
quint8z sdmAntIdTransType
 The SdmProfileMessage FIT message's sdmAntIdTransType field.
 
quint8 odometerRollover
 The SdmProfileMessage FIT message's odometerRollover 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 SdmProfileMessagePrivate class provides private implementation for the SdmProfileMessage.

See also
SdmProfileMessage

Definition at line 38 of file sdmprofilemessage_p.h.

Constructor & Destructor Documentation

◆ SdmProfileMessagePrivate()

SdmProfileMessagePrivate::SdmProfileMessagePrivate ( SdmProfileMessage *const  q)
explicit

Constructs a SdmProfileMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 261 of file sdmprofilemessage.cpp.

263  , messageIndex(static_cast<MessageIndex>(-1))
264  , enabled(static_cast<bool>(-1))
265  , sdmAntId(0)
266  , sdmCalFactor(0xFFFF)
267  , odometer(0xFFFFFFFF)
268  , speedSource(static_cast<bool>(-1))
269  , sdmAntIdTransType(static_cast<quint8z>(-1))
270  , odometerRollover(0xFF)
271 {
272  globalMessageNumber = MesgNum::SdmProfile;
273 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint16z sdmAntId
The SdmProfileMessage FIT message's sdmAntId field.
bool speedSource
The SdmProfileMessage FIT message's speedSource field.
quint16 sdmCalFactor
The SdmProfileMessage FIT message's sdmCalFactor field.
MessageIndex messageIndex
The SdmProfileMessage FIT message's messageIndex field.
quint32 odometer
The SdmProfileMessage FIT message's odometer field.
bool enabled
The SdmProfileMessage FIT message's enabled field.
quint8z sdmAntIdTransType
The SdmProfileMessage FIT message's sdmAntIdTransType field.
quint8 odometerRollover
The SdmProfileMessage FIT message's odometerRollover field.
MessageIndex
Garmin FIT MessageIndex type.
Definition: types.h:263
QTFIT_BEGIN_NAMESPACE typedef quint8 quint8z
8-bit unsigned integer, with 0-is-invalid semantics.
Definition: types.h:45

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~SdmProfileMessagePrivate()

SdmProfileMessagePrivate::~SdmProfileMessagePrivate ( )
virtual

Destroys the SdmProfileMessagePrivate object.

Definition at line 280 of file sdmprofilemessage.cpp.

281 {
282 
283 }

Member Function Documentation

◆ setField()

bool SdmProfileMessagePrivate::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 285 of file sdmprofilemessage.cpp.

287 {
288  switch (fieldId) {
289  case 254: // See Profile.xlsx::Messages:sdm_profile.messageIndex
290  if (!verify(data, baseType, 2, FitBaseType::Uint16, "sdm_profile.messageIndex")) return false;
291  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
292  break;
293  case 0: // See Profile.xlsx::Messages:sdm_profile.enabled
294  if (!verify(data, baseType, 0, FitBaseType::Byte, "sdm_profile.enabled")) return false;
295  this->enabled = static_cast<bool>(data.at(0));
296  break;
297  case 1: // See Profile.xlsx::Messages:sdm_profile.sdmAntId
298  if (!verify(data, baseType, 2, FitBaseType::Uint16z, "sdm_profile.sdmAntId")) return false;
299  this->sdmAntId = static_cast<quint16z>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
300  break;
301  case 2: // See Profile.xlsx::Messages:sdm_profile.sdmCalFactor
302  if (!verify(data, baseType, 2, FitBaseType::Uint16, "sdm_profile.sdmCalFactor")) return false;
303  this->sdmCalFactor = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
304  break;
305  case 3: // See Profile.xlsx::Messages:sdm_profile.odometer
306  if (!verify(data, baseType, 4, FitBaseType::Uint32, "sdm_profile.odometer")) return false;
307  this->odometer = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
308  break;
309  case 4: // See Profile.xlsx::Messages:sdm_profile.speedSource
310  if (!verify(data, baseType, 0, FitBaseType::Byte, "sdm_profile.speedSource")) return false;
311  this->speedSource = static_cast<bool>(data.at(0));
312  break;
313  case 5: // See Profile.xlsx::Messages:sdm_profile.sdmAntIdTransType
314  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "sdm_profile.sdmAntIdTransType")) return false;
315  this->sdmAntIdTransType = static_cast<quint8z>(data.at(0));
316  break;
317  case 7: // See Profile.xlsx::Messages:sdm_profile.odometerRollover
318  if (!verify(data, baseType, 1, FitBaseType::Uint8, "sdm_profile.odometerRollover")) return false;
319  this->odometerRollover = static_cast<quint8>(data.at(0));
320  break;
321  default:
322  qWarning() << "ignoring unknown sdm_profile message field number" << fieldId << bigEndian;
323  // Fall through to return true, as its still 'safe' to continue parsing data messages.
324  }
325  return true;
326 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
quint16 quint16z
16-bit unsigned integer, with 0-is-invalid semantics.
Definition: types.h:46

References AbstractDataMessagePrivate::verify().

Here is the call graph for this function:

Member Data Documentation

◆ odometerRollover

quint8 SdmProfileMessagePrivate::odometerRollover

The SdmProfileMessage FIT message's odometerRollover field.

Rollover counter that can be used to extend the odometer

Definition at line 83 of file sdmprofilemessage_p.h.

◆ speedSource

bool SdmProfileMessagePrivate::speedSource

The SdmProfileMessage FIT message's speedSource field.

Use footpod for speed source instead of GPS

Definition at line 71 of file sdmprofilemessage_p.h.


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