/*! * * 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;