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

Public Member Functions

 BikeProfileMessagePrivate (BikeProfileMessage *const q)
 
virtual ~BikeProfileMessagePrivate ()
 
- 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 BikeProfileMessage FIT message's messageIndex field.
 
QString name
 The BikeProfileMessage FIT message's name field.
 
Sport sport
 The BikeProfileMessage FIT message's sport field.
 
SubSport subSport
 The BikeProfileMessage FIT message's subSport field.
 
quint32 odometer
 The BikeProfileMessage FIT message's odometer field.
 
quint16z bikeSpdAntId
 The BikeProfileMessage FIT message's bikeSpdAntId field.
 
quint16z bikeCadAntId
 The BikeProfileMessage FIT message's bikeCadAntId field.
 
quint16z bikeSpdcadAntId
 The BikeProfileMessage FIT message's bikeSpdcadAntId field.
 
quint16z bikePowerAntId
 The BikeProfileMessage FIT message's bikePowerAntId field.
 
quint16 customWheelsize
 The BikeProfileMessage FIT message's customWheelsize field.
 
quint16 autoWheelsize
 The BikeProfileMessage FIT message's autoWheelsize field.
 
quint16 bikeWeight
 The BikeProfileMessage FIT message's bikeWeight field.
 
quint16 powerCalFactor
 The BikeProfileMessage FIT message's powerCalFactor field.
 
bool autoWheelCal
 The BikeProfileMessage FIT message's autoWheelCal field.
 
bool autoPowerZero
 The BikeProfileMessage FIT message's autoPowerZero field.
 
quint8 id
 The BikeProfileMessage FIT message's id field.
 
bool spdEnabled
 The BikeProfileMessage FIT message's spdEnabled field.
 
bool cadEnabled
 The BikeProfileMessage FIT message's cadEnabled field.
 
bool spdcadEnabled
 The BikeProfileMessage FIT message's spdcadEnabled field.
 
bool powerEnabled
 The BikeProfileMessage FIT message's powerEnabled field.
 
quint8 crankLength
 The BikeProfileMessage FIT message's crankLength field.
 
bool enabled
 The BikeProfileMessage FIT message's enabled field.
 
quint8z bikeSpdAntIdTransType
 The BikeProfileMessage FIT message's bikeSpdAntIdTransType field.
 
quint8z bikeCadAntIdTransType
 The BikeProfileMessage FIT message's bikeCadAntIdTransType field.
 
quint8z bikeSpdcadAntIdTransType
 The BikeProfileMessage FIT message's bikeSpdcadAntIdTransType field.
 
quint8z bikePowerAntIdTransType
 The BikeProfileMessage FIT message's bikePowerAntIdTransType field.
 
quint8 odometerRollover
 The BikeProfileMessage FIT message's odometerRollover field. More...
 
quint8z frontGearNum
 The BikeProfileMessage FIT message's frontGearNum field. More...
 
quint8z frontGear
 The BikeProfileMessage FIT message's frontGear field. More...
 
quint8z rearGearNum
 The BikeProfileMessage FIT message's rearGearNum field. More...
 
quint8z rearGear
 The BikeProfileMessage FIT message's rearGear field. More...
 
bool shimanoDi2Enabled
 The BikeProfileMessage FIT message's shimanoDi2Enabled field.
 
- 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 BikeProfileMessagePrivate class provides private implementation for the BikeProfileMessage.

See also
BikeProfileMessage

Definition at line 38 of file bikeprofilemessage_p.h.

Constructor & Destructor Documentation

◆ BikeProfileMessagePrivate()

BikeProfileMessagePrivate::BikeProfileMessagePrivate ( BikeProfileMessage *const  q)
explicit

Constructs a BikeProfileMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 771 of file bikeprofilemessage.cpp.

773  , messageIndex(static_cast<MessageIndex>(-1))
774  , sport(static_cast<Sport>(-1))
775  , subSport(static_cast<SubSport>(-1))
776  , odometer(0xFFFFFFFF)
777  , bikeSpdAntId(0)
778  , bikeCadAntId(0)
779  , bikeSpdcadAntId(0)
780  , bikePowerAntId(0)
781  , customWheelsize(0xFFFF)
782  , autoWheelsize(0xFFFF)
783  , bikeWeight(0xFFFF)
784  , powerCalFactor(0xFFFF)
785  , autoWheelCal(static_cast<bool>(-1))
786  , autoPowerZero(static_cast<bool>(-1))
787  , id(0xFF)
788  , spdEnabled(static_cast<bool>(-1))
789  , cadEnabled(static_cast<bool>(-1))
790  , spdcadEnabled(static_cast<bool>(-1))
791  , powerEnabled(static_cast<bool>(-1))
792  , crankLength(0xFF)
793  , enabled(static_cast<bool>(-1))
794  , bikeSpdAntIdTransType(static_cast<quint8z>(-1))
795  , bikeCadAntIdTransType(static_cast<quint8z>(-1))
796  , bikeSpdcadAntIdTransType(static_cast<quint8z>(-1))
797  , bikePowerAntIdTransType(static_cast<quint8z>(-1))
798  , odometerRollover(0xFF)
799  , frontGearNum(static_cast<quint8z>(-1))
800  , frontGear(static_cast<quint8z>(-1))
801  , rearGearNum(static_cast<quint8z>(-1))
802  , rearGear(static_cast<quint8z>(-1))
803  , shimanoDi2Enabled(static_cast<bool>(-1))
804 {
805  globalMessageNumber = MesgNum::BikeProfile;
806 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
quint16z bikeCadAntId
The BikeProfileMessage FIT message's bikeCadAntId field.
quint16 powerCalFactor
The BikeProfileMessage FIT message's powerCalFactor field.
quint8z bikeSpdAntIdTransType
The BikeProfileMessage FIT message's bikeSpdAntIdTransType field.
bool powerEnabled
The BikeProfileMessage FIT message's powerEnabled field.
quint16 bikeWeight
The BikeProfileMessage FIT message's bikeWeight field.
bool shimanoDi2Enabled
The BikeProfileMessage FIT message's shimanoDi2Enabled field.
quint8z bikePowerAntIdTransType
The BikeProfileMessage FIT message's bikePowerAntIdTransType field.
bool enabled
The BikeProfileMessage FIT message's enabled field.
quint8z bikeSpdcadAntIdTransType
The BikeProfileMessage FIT message's bikeSpdcadAntIdTransType field.
quint8z frontGearNum
The BikeProfileMessage FIT message's frontGearNum field.
bool autoWheelCal
The BikeProfileMessage FIT message's autoWheelCal field.
quint16 customWheelsize
The BikeProfileMessage FIT message's customWheelsize field.
quint8z frontGear
The BikeProfileMessage FIT message's frontGear field.
quint16z bikeSpdAntId
The BikeProfileMessage FIT message's bikeSpdAntId field.
quint16z bikeSpdcadAntId
The BikeProfileMessage FIT message's bikeSpdcadAntId field.
quint8 crankLength
The BikeProfileMessage FIT message's crankLength field.
quint8z bikeCadAntIdTransType
The BikeProfileMessage FIT message's bikeCadAntIdTransType field.
quint16z bikePowerAntId
The BikeProfileMessage FIT message's bikePowerAntId field.
bool autoPowerZero
The BikeProfileMessage FIT message's autoPowerZero field.
quint8z rearGear
The BikeProfileMessage FIT message's rearGear field.
Sport sport
The BikeProfileMessage FIT message's sport field.
quint32 odometer
The BikeProfileMessage FIT message's odometer field.
quint8z rearGearNum
The BikeProfileMessage FIT message's rearGearNum field.
bool spdEnabled
The BikeProfileMessage FIT message's spdEnabled field.
MessageIndex messageIndex
The BikeProfileMessage FIT message's messageIndex field.
SubSport subSport
The BikeProfileMessage FIT message's subSport field.
bool spdcadEnabled
The BikeProfileMessage FIT message's spdcadEnabled field.
quint16 autoWheelsize
The BikeProfileMessage FIT message's autoWheelsize field.
quint8 odometerRollover
The BikeProfileMessage FIT message's odometerRollover field.
bool cadEnabled
The BikeProfileMessage FIT message's cadEnabled field.
quint8 id
The BikeProfileMessage FIT message's id field.
Sport
Garmin FIT Sport type.
Definition: types.h:685
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
SubSport
Garmin FIT SubSport type.
Definition: types.h:881

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~BikeProfileMessagePrivate()

BikeProfileMessagePrivate::~BikeProfileMessagePrivate ( )
virtual

Destroys the BikeProfileMessagePrivate object.

Definition at line 813 of file bikeprofilemessage.cpp.

814 {
815 
816 }

Member Function Documentation

◆ setField()

bool BikeProfileMessagePrivate::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 818 of file bikeprofilemessage.cpp.

820 {
821  switch (fieldId) {
822  case 254: // See Profile.xlsx::Messages:bike_profile.messageIndex
823  if (!verify(data, baseType, 2, FitBaseType::Uint16, "bike_profile.messageIndex")) return false;
824  this->messageIndex = static_cast<MessageIndex>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
825  break;
826  case 0: // See Profile.xlsx::Messages:bike_profile.name
827  if (!verify(data, baseType, 1, FitBaseType::String, "bike_profile.name")) return false;
828  this->name = QString::fromUtf8(data);
829  break;
830  case 1: // See Profile.xlsx::Messages:bike_profile.sport
831  if (!verify(data, baseType, 1, FitBaseType::Enum, "bike_profile.sport")) return false;
832  this->sport = static_cast<Sport>(data.at(0));
833  break;
834  case 2: // See Profile.xlsx::Messages:bike_profile.subSport
835  if (!verify(data, baseType, 1, FitBaseType::Enum, "bike_profile.subSport")) return false;
836  this->subSport = static_cast<SubSport>(data.at(0));
837  break;
838  case 3: // See Profile.xlsx::Messages:bike_profile.odometer
839  if (!verify(data, baseType, 4, FitBaseType::Uint32, "bike_profile.odometer")) return false;
840  this->odometer = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
841  break;
842  case 4: // See Profile.xlsx::Messages:bike_profile.bikeSpdAntId
843  if (!verify(data, baseType, 2, FitBaseType::Uint16z, "bike_profile.bikeSpdAntId")) return false;
844  this->bikeSpdAntId = static_cast<quint16z>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
845  break;
846  case 5: // See Profile.xlsx::Messages:bike_profile.bikeCadAntId
847  if (!verify(data, baseType, 2, FitBaseType::Uint16z, "bike_profile.bikeCadAntId")) return false;
848  this->bikeCadAntId = static_cast<quint16z>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
849  break;
850  case 6: // See Profile.xlsx::Messages:bike_profile.bikeSpdcadAntId
851  if (!verify(data, baseType, 2, FitBaseType::Uint16z, "bike_profile.bikeSpdcadAntId")) return false;
852  this->bikeSpdcadAntId = static_cast<quint16z>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
853  break;
854  case 7: // See Profile.xlsx::Messages:bike_profile.bikePowerAntId
855  if (!verify(data, baseType, 2, FitBaseType::Uint16z, "bike_profile.bikePowerAntId")) return false;
856  this->bikePowerAntId = static_cast<quint16z>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
857  break;
858  case 8: // See Profile.xlsx::Messages:bike_profile.customWheelsize
859  if (!verify(data, baseType, 2, FitBaseType::Uint16, "bike_profile.customWheelsize")) return false;
860  this->customWheelsize = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
861  break;
862  case 9: // See Profile.xlsx::Messages:bike_profile.autoWheelsize
863  if (!verify(data, baseType, 2, FitBaseType::Uint16, "bike_profile.autoWheelsize")) return false;
864  this->autoWheelsize = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
865  break;
866  case 10: // See Profile.xlsx::Messages:bike_profile.bikeWeight
867  if (!verify(data, baseType, 2, FitBaseType::Uint16, "bike_profile.bikeWeight")) return false;
868  this->bikeWeight = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
869  break;
870  case 11: // See Profile.xlsx::Messages:bike_profile.powerCalFactor
871  if (!verify(data, baseType, 2, FitBaseType::Uint16, "bike_profile.powerCalFactor")) return false;
872  this->powerCalFactor = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
873  break;
874  case 12: // See Profile.xlsx::Messages:bike_profile.autoWheelCal
875  if (!verify(data, baseType, 0, FitBaseType::Byte, "bike_profile.autoWheelCal")) return false;
876  this->autoWheelCal = static_cast<bool>(data.at(0));
877  break;
878  case 13: // See Profile.xlsx::Messages:bike_profile.autoPowerZero
879  if (!verify(data, baseType, 0, FitBaseType::Byte, "bike_profile.autoPowerZero")) return false;
880  this->autoPowerZero = static_cast<bool>(data.at(0));
881  break;
882  case 14: // See Profile.xlsx::Messages:bike_profile.id
883  if (!verify(data, baseType, 1, FitBaseType::Uint8, "bike_profile.id")) return false;
884  this->id = static_cast<quint8>(data.at(0));
885  break;
886  case 15: // See Profile.xlsx::Messages:bike_profile.spdEnabled
887  if (!verify(data, baseType, 0, FitBaseType::Byte, "bike_profile.spdEnabled")) return false;
888  this->spdEnabled = static_cast<bool>(data.at(0));
889  break;
890  case 16: // See Profile.xlsx::Messages:bike_profile.cadEnabled
891  if (!verify(data, baseType, 0, FitBaseType::Byte, "bike_profile.cadEnabled")) return false;
892  this->cadEnabled = static_cast<bool>(data.at(0));
893  break;
894  case 17: // See Profile.xlsx::Messages:bike_profile.spdcadEnabled
895  if (!verify(data, baseType, 0, FitBaseType::Byte, "bike_profile.spdcadEnabled")) return false;
896  this->spdcadEnabled = static_cast<bool>(data.at(0));
897  break;
898  case 18: // See Profile.xlsx::Messages:bike_profile.powerEnabled
899  if (!verify(data, baseType, 0, FitBaseType::Byte, "bike_profile.powerEnabled")) return false;
900  this->powerEnabled = static_cast<bool>(data.at(0));
901  break;
902  case 19: // See Profile.xlsx::Messages:bike_profile.crankLength
903  if (!verify(data, baseType, 1, FitBaseType::Uint8, "bike_profile.crankLength")) return false;
904  this->crankLength = static_cast<quint8>(data.at(0));
905  break;
906  case 20: // See Profile.xlsx::Messages:bike_profile.enabled
907  if (!verify(data, baseType, 0, FitBaseType::Byte, "bike_profile.enabled")) return false;
908  this->enabled = static_cast<bool>(data.at(0));
909  break;
910  case 21: // See Profile.xlsx::Messages:bike_profile.bikeSpdAntIdTransType
911  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "bike_profile.bikeSpdAntIdTransType")) return false;
912  this->bikeSpdAntIdTransType = static_cast<quint8z>(data.at(0));
913  break;
914  case 22: // See Profile.xlsx::Messages:bike_profile.bikeCadAntIdTransType
915  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "bike_profile.bikeCadAntIdTransType")) return false;
916  this->bikeCadAntIdTransType = static_cast<quint8z>(data.at(0));
917  break;
918  case 23: // See Profile.xlsx::Messages:bike_profile.bikeSpdcadAntIdTransType
919  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "bike_profile.bikeSpdcadAntIdTransType")) return false;
920  this->bikeSpdcadAntIdTransType = static_cast<quint8z>(data.at(0));
921  break;
922  case 24: // See Profile.xlsx::Messages:bike_profile.bikePowerAntIdTransType
923  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "bike_profile.bikePowerAntIdTransType")) return false;
924  this->bikePowerAntIdTransType = static_cast<quint8z>(data.at(0));
925  break;
926  case 37: // See Profile.xlsx::Messages:bike_profile.odometerRollover
927  if (!verify(data, baseType, 1, FitBaseType::Uint8, "bike_profile.odometerRollover")) return false;
928  this->odometerRollover = static_cast<quint8>(data.at(0));
929  break;
930  case 38: // See Profile.xlsx::Messages:bike_profile.frontGearNum
931  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "bike_profile.frontGearNum")) return false;
932  this->frontGearNum = static_cast<quint8z>(data.at(0));
933  break;
934  case 39: // See Profile.xlsx::Messages:bike_profile.frontGear
935  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "bike_profile.frontGear")) return false;
936  this->frontGear = static_cast<quint8z>(data.at(0));
937  break;
938  case 40: // See Profile.xlsx::Messages:bike_profile.rearGearNum
939  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "bike_profile.rearGearNum")) return false;
940  this->rearGearNum = static_cast<quint8z>(data.at(0));
941  break;
942  case 41: // See Profile.xlsx::Messages:bike_profile.rearGear
943  if (!verify(data, baseType, 1, FitBaseType::Uint8z, "bike_profile.rearGear")) return false;
944  this->rearGear = static_cast<quint8z>(data.at(0));
945  break;
946  case 44: // See Profile.xlsx::Messages:bike_profile.shimanoDi2Enabled
947  if (!verify(data, baseType, 0, FitBaseType::Byte, "bike_profile.shimanoDi2Enabled")) return false;
948  this->shimanoDi2Enabled = static_cast<bool>(data.at(0));
949  break;
950  default:
951  qWarning() << "ignoring unknown bike_profile message field number" << fieldId << bigEndian;
952  // Fall through to return true, as its still 'safe' to continue parsing data messages.
953  }
954  return true;
955 }
bool verify(const QByteArray &data, const FitBaseType actualType, const int expectedSize, const FitBaseType expectedType, const char *messageFieldName)
QString name
The BikeProfileMessage FIT message's name field.
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

◆ frontGear

quint8z BikeProfileMessagePrivate::frontGear

The BikeProfileMessage FIT message's frontGear field.

Number of teeth on each gear 0 is innermost

Definition at line 190 of file bikeprofilemessage_p.h.

◆ frontGearNum

quint8z BikeProfileMessagePrivate::frontGearNum

The BikeProfileMessage FIT message's frontGearNum field.

Number of front gears

Definition at line 183 of file bikeprofilemessage_p.h.

◆ odometerRollover

quint8 BikeProfileMessagePrivate::odometerRollover

The BikeProfileMessage FIT message's odometerRollover field.

Rollover counter that can be used to extend the odometer

Definition at line 176 of file bikeprofilemessage_p.h.

◆ rearGear

quint8z BikeProfileMessagePrivate::rearGear

The BikeProfileMessage FIT message's rearGear field.

Number of teeth on each gear 0 is innermost

Definition at line 204 of file bikeprofilemessage_p.h.

◆ rearGearNum

quint8z BikeProfileMessagePrivate::rearGearNum

The BikeProfileMessage FIT message's rearGearNum field.

Number of rear gears

Definition at line 197 of file bikeprofilemessage_p.h.


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