/*! * * Copyright (c) 2020-2020 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file MHDAccelerometerData.h * \author (last) Peman Montazemi * \date (last) 3-Sep-2020 * \author (original) Peman Montazemi * \date (original) 3-Sep-2020 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { class MHDAccelerometer : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 mX ; Types::F32 mY ; Types::F32 mZ ; Types::F32 mXMax ; Types::F32 mYMax ; Types::F32 mZMax ; Types::F32 mXTilt ; Types::F32 mYTilt ; Types::F32 mZTilt ; } _data; public: Type_Enum typeText() const override { return Type_Enum::eDatum ; } Unit_Enum unitText() const override { return Unit_Enum::eHD ; } QString infoText() const override { return QString("HDAccelData") ; } struct Data { float mX = 0; /*!< X Magnitude of acceleration vector in X axis in g units */ float mY = 0; /*!< Y Magnitude of acceleration vector in Y axis in g units */ float mZ = 0; /*!< Z Magnitude of acceleration vector in Z axis in g units */ float mXMax = 0; /*!< X Max Maximum magnitude of acceleration vector in X axis in g units */ float mYMax = 0; /*!< Y Max Maximum magnitude of acceleration vector in Y axis in g units */ float mZMax = 0; /*!< Z Max Maximum magnitude of acceleration vector in Z axis in g units */ float mXTilt = 0; /*!< X Tilt Tilt angle in the X axis in degrees */ float mYTilt = 0; /*!< Y Tilt Tilt angle in the Y axis in degrees */ float mZTilt = 0; /*!< Z Tilt Tilt angle in the Z axis in degrees */ }; public: MHDAccelerometer () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MHDAccelerometer::Data HDAccelerometerData;