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

Public Member Functions

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

Public Attributes

quint8 activeTimeZone
 The DeviceSettingsMessage FIT message's activeTimeZone field. More...
 
quint32 utcOffset
 The DeviceSettingsMessage FIT message's utcOffset field. More...
 
quint32 timeOffset
 The DeviceSettingsMessage FIT message's timeOffset field. More...
 
TimeMode timeMode
 The DeviceSettingsMessage FIT message's timeMode field. More...
 
qint8 timeZoneOffset
 The DeviceSettingsMessage FIT message's timeZoneOffset field. More...
 
BacklightMode backlightMode
 The DeviceSettingsMessage FIT message's backlightMode field. More...
 
bool activityTrackerEnabled
 The DeviceSettingsMessage FIT message's activityTrackerEnabled field. More...
 
DateTime clockTime
 The DeviceSettingsMessage FIT message's clockTime field. More...
 
quint16 pagesEnabled
 The DeviceSettingsMessage FIT message's pagesEnabled field. More...
 
bool moveAlertEnabled
 The DeviceSettingsMessage FIT message's moveAlertEnabled field. More...
 
DateMode dateMode
 The DeviceSettingsMessage FIT message's dateMode field. More...
 
DisplayOrientation displayOrientation
 The DeviceSettingsMessage FIT message's displayOrientation field.
 
Side mountingSide
 The DeviceSettingsMessage FIT message's mountingSide field.
 
quint16 defaultPage
 The DeviceSettingsMessage FIT message's defaultPage field. More...
 
quint16 autosyncMinSteps
 The DeviceSettingsMessage FIT message's autosyncMinSteps field. More...
 
quint16 autosyncMinTime
 The DeviceSettingsMessage FIT message's autosyncMinTime field. More...
 
bool lactateThresholdAutodetectEnabled
 The DeviceSettingsMessage FIT message's lactateThresholdAutodetectEnabled field. More...
 
bool bleAutoUploadEnabled
 The DeviceSettingsMessage FIT message's bleAutoUploadEnabled field. More...
 
AutoSyncFrequency autoSyncFrequency
 The DeviceSettingsMessage FIT message's autoSyncFrequency field. More...
 
AutoActivityDetect autoActivityDetect
 The DeviceSettingsMessage FIT message's autoActivityDetect field. More...
 
quint8 numberOfScreens
 The DeviceSettingsMessage FIT message's numberOfScreens field. More...
 
DisplayOrientation smartNotificationDisplayOrientation
 The DeviceSettingsMessage FIT message's smartNotificationDisplayOrientation field. More...
 
Switch tapInterface
 The DeviceSettingsMessage FIT message's tapInterface field.
 
TapSensitivity tapSensitivity
 The DeviceSettingsMessage FIT message's tapSensitivity 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 DeviceSettingsMessagePrivate class provides private implementation for the DeviceSettingsMessage.

See also
DeviceSettingsMessage

Definition at line 38 of file devicesettingsmessage_p.h.

Constructor & Destructor Documentation

◆ DeviceSettingsMessagePrivate()

DeviceSettingsMessagePrivate::DeviceSettingsMessagePrivate ( DeviceSettingsMessage *const  q)
explicit

Constructs a DeviceSettingsMessagePrivate object with public implementation q.

Parameters
qPointer to public implementaton.

Definition at line 635 of file devicesettingsmessage.cpp.

637  , activeTimeZone(0xFF)
638  , utcOffset(0xFFFFFFFF)
639  , timeOffset(0xFFFFFFFF)
640  , timeMode(static_cast<TimeMode>(-1))
641  , timeZoneOffset(0x7F)
642  , backlightMode(static_cast<BacklightMode>(-1))
643  , activityTrackerEnabled(static_cast<bool>(-1))
644  , clockTime(static_cast<DateTime>(-1))
645  , pagesEnabled(0xFFFF)
646  , moveAlertEnabled(static_cast<bool>(-1))
647  , dateMode(static_cast<DateMode>(-1))
648  , displayOrientation(static_cast<DisplayOrientation>(-1))
649  , mountingSide(static_cast<Side>(-1))
650  , defaultPage(0xFFFF)
651  , autosyncMinSteps(0xFFFF)
652  , autosyncMinTime(0xFFFF)
653  , lactateThresholdAutodetectEnabled(static_cast<bool>(-1))
654  , bleAutoUploadEnabled(static_cast<bool>(-1))
655  , autoSyncFrequency(static_cast<AutoSyncFrequency>(-1))
656  , autoActivityDetect(static_cast<AutoActivityDetect>(-1))
657  , numberOfScreens(0xFF)
659  , tapInterface(static_cast<Switch>(-1))
660  , tapSensitivity(static_cast<TapSensitivity>(-1))
661 {
662  globalMessageNumber = MesgNum::DeviceSettings;
663 }
MesgNum globalMessageNumber
FIT Globla Message Number for this FIT Data Message.
DateTime clockTime
The DeviceSettingsMessage FIT message's clockTime field.
DisplayOrientation smartNotificationDisplayOrientation
The DeviceSettingsMessage FIT message's smartNotificationDisplayOrientation field.
quint32 utcOffset
The DeviceSettingsMessage FIT message's utcOffset field.
quint16 defaultPage
The DeviceSettingsMessage FIT message's defaultPage field.
bool activityTrackerEnabled
The DeviceSettingsMessage FIT message's activityTrackerEnabled field.
bool lactateThresholdAutodetectEnabled
The DeviceSettingsMessage FIT message's lactateThresholdAutodetectEnabled field.
qint8 timeZoneOffset
The DeviceSettingsMessage FIT message's timeZoneOffset field.
quint16 pagesEnabled
The DeviceSettingsMessage FIT message's pagesEnabled field.
DisplayOrientation displayOrientation
The DeviceSettingsMessage FIT message's displayOrientation field.
quint8 activeTimeZone
The DeviceSettingsMessage FIT message's activeTimeZone field.
quint16 autosyncMinSteps
The DeviceSettingsMessage FIT message's autosyncMinSteps field.
quint8 numberOfScreens
The DeviceSettingsMessage FIT message's numberOfScreens field.
AutoSyncFrequency autoSyncFrequency
The DeviceSettingsMessage FIT message's autoSyncFrequency field.
bool bleAutoUploadEnabled
The DeviceSettingsMessage FIT message's bleAutoUploadEnabled field.
Side mountingSide
The DeviceSettingsMessage FIT message's mountingSide field.
TapSensitivity tapSensitivity
The DeviceSettingsMessage FIT message's tapSensitivity field.
DateMode dateMode
The DeviceSettingsMessage FIT message's dateMode field.
quint32 timeOffset
The DeviceSettingsMessage FIT message's timeOffset field.
BacklightMode backlightMode
The DeviceSettingsMessage FIT message's backlightMode field.
Switch tapInterface
The DeviceSettingsMessage FIT message's tapInterface field.
quint16 autosyncMinTime
The DeviceSettingsMessage FIT message's autosyncMinTime field.
bool moveAlertEnabled
The DeviceSettingsMessage FIT message's moveAlertEnabled field.
TimeMode timeMode
The DeviceSettingsMessage FIT message's timeMode field.
AutoActivityDetect autoActivityDetect
The DeviceSettingsMessage FIT message's autoActivityDetect field.
AutoActivityDetect
Garmin FIT AutoActivityDetect type.
Definition: types.h:3349
TimeMode
Garmin FIT TimeMode type.
Definition: types.h:1069
DisplayOrientation
Garmin FIT DisplayOrientation type.
Definition: types.h:2818
AutoSyncFrequency
Garmin FIT AutoSyncFrequency type.
Definition: types.h:3061
DateMode
Garmin FIT DateMode type.
Definition: types.h:1106
Side
Garmin FIT Side type.
Definition: types.h:2349
TapSensitivity
Garmin FIT TapSensitivity type.
Definition: types.h:5292
Switch
Garmin FIT Switch type.
Definition: types.h:670
BacklightMode
Garmin FIT BacklightMode type.
Definition: types.h:1087
DateTime
Seconds since UTC 00:00 Dec 31 1989.
Definition: types.h:237

References AbstractDataMessagePrivate::globalMessageNumber.

◆ ~DeviceSettingsMessagePrivate()

DeviceSettingsMessagePrivate::~DeviceSettingsMessagePrivate ( )
virtual

Destroys the DeviceSettingsMessagePrivate object.

Definition at line 670 of file devicesettingsmessage.cpp.

671 {
672 
673 }

Member Function Documentation

◆ setField()

bool DeviceSettingsMessagePrivate::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 675 of file devicesettingsmessage.cpp.

677 {
678  switch (fieldId) {
679  case 0: // See Profile.xlsx::Messages:device_settings.activeTimeZone
680  if (!verify(data, baseType, 1, FitBaseType::Uint8, "device_settings.activeTimeZone")) return false;
681  this->activeTimeZone = static_cast<quint8>(data.at(0));
682  break;
683  case 1: // See Profile.xlsx::Messages:device_settings.utcOffset
684  if (!verify(data, baseType, 4, FitBaseType::Uint32, "device_settings.utcOffset")) return false;
685  this->utcOffset = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
686  break;
687  case 2: // See Profile.xlsx::Messages:device_settings.timeOffset
688  if (!verify(data, baseType, 4, FitBaseType::Uint32, "device_settings.timeOffset")) return false;
689  this->timeOffset = static_cast<quint32>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
690  break;
691  case 4: // See Profile.xlsx::Messages:device_settings.timeMode
692  if (!verify(data, baseType, 1, FitBaseType::Enum, "device_settings.timeMode")) return false;
693  this->timeMode = static_cast<TimeMode>(data.at(0));
694  break;
695  case 5: // See Profile.xlsx::Messages:device_settings.timeZoneOffset
696  if (!verify(data, baseType, 1, FitBaseType::Sint8, "device_settings.timeZoneOffset")) return false;
697  this->timeZoneOffset = static_cast<qint8>(data.at(0));
698  break;
699  case 12: // See Profile.xlsx::Messages:device_settings.backlightMode
700  if (!verify(data, baseType, 1, FitBaseType::Enum, "device_settings.backlightMode")) return false;
701  this->backlightMode = static_cast<BacklightMode>(data.at(0));
702  break;
703  case 36: // See Profile.xlsx::Messages:device_settings.activityTrackerEnabled
704  if (!verify(data, baseType, 0, FitBaseType::Byte, "device_settings.activityTrackerEnabled")) return false;
705  this->activityTrackerEnabled = static_cast<bool>(data.at(0));
706  break;
707  case 39: // See Profile.xlsx::Messages:device_settings.clockTime
708  if (!verify(data, baseType, 4, FitBaseType::Uint32, "device_settings.clockTime")) return false;
709  this->clockTime = static_cast<DateTime>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
710  break;
711  case 40: // See Profile.xlsx::Messages:device_settings.pagesEnabled
712  if (!verify(data, baseType, 2, FitBaseType::Uint16, "device_settings.pagesEnabled")) return false;
713  this->pagesEnabled = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
714  break;
715  case 46: // See Profile.xlsx::Messages:device_settings.moveAlertEnabled
716  if (!verify(data, baseType, 0, FitBaseType::Byte, "device_settings.moveAlertEnabled")) return false;
717  this->moveAlertEnabled = static_cast<bool>(data.at(0));
718  break;
719  case 47: // See Profile.xlsx::Messages:device_settings.dateMode
720  if (!verify(data, baseType, 1, FitBaseType::Enum, "device_settings.dateMode")) return false;
721  this->dateMode = static_cast<DateMode>(data.at(0));
722  break;
723  case 55: // See Profile.xlsx::Messages:device_settings.displayOrientation
724  if (!verify(data, baseType, 1, FitBaseType::Enum, "device_settings.displayOrientation")) return false;
725  this->displayOrientation = static_cast<DisplayOrientation>(data.at(0));
726  break;
727  case 56: // See Profile.xlsx::Messages:device_settings.mountingSide
728  if (!verify(data, baseType, 1, FitBaseType::Enum, "device_settings.mountingSide")) return false;
729  this->mountingSide = static_cast<Side>(data.at(0));
730  break;
731  case 57: // See Profile.xlsx::Messages:device_settings.defaultPage
732  if (!verify(data, baseType, 2, FitBaseType::Uint16, "device_settings.defaultPage")) return false;
733  this->defaultPage = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
734  break;
735  case 58: // See Profile.xlsx::Messages:device_settings.autosyncMinSteps
736  if (!verify(data, baseType, 2, FitBaseType::Uint16, "device_settings.autosyncMinSteps")) return false;
737  this->autosyncMinSteps = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
738  break;
739  case 59: // See Profile.xlsx::Messages:device_settings.autosyncMinTime
740  if (!verify(data, baseType, 2, FitBaseType::Uint16, "device_settings.autosyncMinTime")) return false;
741  this->autosyncMinTime = static_cast<quint16>(bigEndian ? qFromBigEndian<quint16>(data) : qFromLittleEndian<quint16>(data));
742  break;
743  case 80: // See Profile.xlsx::Messages:device_settings.lactateThresholdAutodetectEnabled
744  if (!verify(data, baseType, 0, FitBaseType::Byte, "device_settings.lactateThresholdAutodetectEnabled")) return false;
745  this->lactateThresholdAutodetectEnabled = static_cast<bool>(data.at(0));
746  break;
747  case 86: // See Profile.xlsx::Messages:device_settings.bleAutoUploadEnabled
748  if (!verify(data, baseType, 0, FitBaseType::Byte, "device_settings.bleAutoUploadEnabled")) return false;
749  this->bleAutoUploadEnabled = static_cast<bool>(data.at(0));
750  break;
751  case 89: // See Profile.xlsx::Messages:device_settings.autoSyncFrequency
752  if (!verify(data, baseType, 1, FitBaseType::Enum, "device_settings.autoSyncFrequency")) return false;
753  this->autoSyncFrequency = static_cast<AutoSyncFrequency>(data.at(0));
754  break;
755  case 90: // See Profile.xlsx::Messages:device_settings.autoActivityDetect
756  if (!verify(data, baseType, 4, FitBaseType::Uint32, "device_settings.autoActivityDetect")) return false;
757  this->autoActivityDetect = static_cast<AutoActivityDetect>(bigEndian ? qFromBigEndian<quint32>(data) : qFromLittleEndian<quint32>(data));
758  break;
759  case 94: // See Profile.xlsx::Messages:device_settings.numberOfScreens
760  if (!verify(data, baseType, 1, FitBaseType::Uint8, "device_settings.numberOfScreens")) return false;
761  this->numberOfScreens = static_cast<quint8>(data.at(0));
762  break;
763  case 95: // See Profile.xlsx::Messages:device_settings.smartNotificationDisplayOrientation
764  if (!verify(data, baseType, 1, FitBaseType::Enum, "device_settings.smartNotificationDisplayOrientation")) return false;
765  this->smartNotificationDisplayOrientation = static_cast<DisplayOrientation>(data.at(0));
766  break;
767  case 134: // See Profile.xlsx::Messages:device_settings.tapInterface
768  if (!verify(data, baseType, 1, FitBaseType::Enum, "device_settings.tapInterface")) return false;
769  this->tapInterface = static_cast<Switch>(data.at(0));
770  break;
771  case 174: // See Profile.xlsx::Messages:device_settings.tapSensitivity
772  if (!verify(data, baseType, 1, FitBaseType::Enum, "device_settings.tapSensitivity")) return false;
773  this->tapSensitivity = static_cast<TapSensitivity>(data.at(0));
774  break;
775  default:
776  qWarning() << "ignoring unknown device_settings message field number" << fieldId << bigEndian;
777  // Fall through to return true, as its still 'safe' to continue parsing data messages.
778  }
779  return true;
780 }
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

◆ activeTimeZone

quint8 DeviceSettingsMessagePrivate::activeTimeZone

The DeviceSettingsMessage FIT message's activeTimeZone field.

Index into time zone arrays.

Definition at line 46 of file devicesettingsmessage_p.h.

◆ activityTrackerEnabled

bool DeviceSettingsMessagePrivate::activityTrackerEnabled

The DeviceSettingsMessage FIT message's activityTrackerEnabled field.

Enabled state of the activity tracker functionality

Definition at line 88 of file devicesettingsmessage_p.h.

◆ autoActivityDetect

AutoActivityDetect DeviceSettingsMessagePrivate::autoActivityDetect

The DeviceSettingsMessage FIT message's autoActivityDetect field.

Allows setting specific activities auto-activity detect enabled/disabled settings

Definition at line 175 of file devicesettingsmessage_p.h.

◆ autoSyncFrequency

AutoSyncFrequency DeviceSettingsMessagePrivate::autoSyncFrequency

The DeviceSettingsMessage FIT message's autoSyncFrequency field.

Helps to conserve battery by changing modes

Definition at line 168 of file devicesettingsmessage_p.h.

◆ autosyncMinSteps

quint16 DeviceSettingsMessagePrivate::autosyncMinSteps

The DeviceSettingsMessage FIT message's autosyncMinSteps field.

Minimum steps before an autosync can occur

Definition at line 140 of file devicesettingsmessage_p.h.

◆ autosyncMinTime

quint16 DeviceSettingsMessagePrivate::autosyncMinTime

The DeviceSettingsMessage FIT message's autosyncMinTime field.

Minimum minutes before an autosync can occur

Definition at line 147 of file devicesettingsmessage_p.h.

◆ backlightMode

BacklightMode DeviceSettingsMessagePrivate::backlightMode

The DeviceSettingsMessage FIT message's backlightMode field.

Mode for backlight

Definition at line 81 of file devicesettingsmessage_p.h.

◆ bleAutoUploadEnabled

bool DeviceSettingsMessagePrivate::bleAutoUploadEnabled

The DeviceSettingsMessage FIT message's bleAutoUploadEnabled field.

Automatically upload using BLE

Definition at line 161 of file devicesettingsmessage_p.h.

◆ clockTime

DateTime DeviceSettingsMessagePrivate::clockTime

The DeviceSettingsMessage FIT message's clockTime field.

UTC timestamp used to set the devices clock and date

Definition at line 95 of file devicesettingsmessage_p.h.

◆ dateMode

DateMode DeviceSettingsMessagePrivate::dateMode

The DeviceSettingsMessage FIT message's dateMode field.

Display mode for the date

Definition at line 116 of file devicesettingsmessage_p.h.

◆ defaultPage

quint16 DeviceSettingsMessagePrivate::defaultPage

The DeviceSettingsMessage FIT message's defaultPage field.

Bitfield to indicate one page as default for each supported loop

Definition at line 133 of file devicesettingsmessage_p.h.

◆ lactateThresholdAutodetectEnabled

bool DeviceSettingsMessagePrivate::lactateThresholdAutodetectEnabled

The DeviceSettingsMessage FIT message's lactateThresholdAutodetectEnabled field.

Enable auto-detect setting for the lactate threshold feature.

Definition at line 154 of file devicesettingsmessage_p.h.

◆ moveAlertEnabled

bool DeviceSettingsMessagePrivate::moveAlertEnabled

The DeviceSettingsMessage FIT message's moveAlertEnabled field.

Enabled state of the move alert

Definition at line 109 of file devicesettingsmessage_p.h.

◆ numberOfScreens

quint8 DeviceSettingsMessagePrivate::numberOfScreens

The DeviceSettingsMessage FIT message's numberOfScreens field.

Number of screens configured to display

Definition at line 182 of file devicesettingsmessage_p.h.

◆ pagesEnabled

quint16 DeviceSettingsMessagePrivate::pagesEnabled

The DeviceSettingsMessage FIT message's pagesEnabled field.

Bitfield to configure enabled screens for each supported loop

Definition at line 102 of file devicesettingsmessage_p.h.

◆ smartNotificationDisplayOrientation

DisplayOrientation DeviceSettingsMessagePrivate::smartNotificationDisplayOrientation

The DeviceSettingsMessage FIT message's smartNotificationDisplayOrientation field.

Smart Notification display orientation

Definition at line 189 of file devicesettingsmessage_p.h.

◆ tapSensitivity

TapSensitivity DeviceSettingsMessagePrivate::tapSensitivity

The DeviceSettingsMessage FIT message's tapSensitivity field.

Used to hold the tap threshold setting

Definition at line 201 of file devicesettingsmessage_p.h.

◆ timeMode

TimeMode DeviceSettingsMessagePrivate::timeMode

The DeviceSettingsMessage FIT message's timeMode field.

Display mode for the time

Definition at line 67 of file devicesettingsmessage_p.h.

◆ timeOffset

quint32 DeviceSettingsMessagePrivate::timeOffset

The DeviceSettingsMessage FIT message's timeOffset field.

Offset from system time.

Definition at line 60 of file devicesettingsmessage_p.h.

◆ timeZoneOffset

qint8 DeviceSettingsMessagePrivate::timeZoneOffset

The DeviceSettingsMessage FIT message's timeZoneOffset field.

timezone offset in 1/4 hour increments

Definition at line 74 of file devicesettingsmessage_p.h.

◆ utcOffset

quint32 DeviceSettingsMessagePrivate::utcOffset

The DeviceSettingsMessage FIT message's utcOffset field.

Offset from system time. Required to convert timestamp from system time to UTC.

Definition at line 53 of file devicesettingsmessage_p.h.


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