/*! * * 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 { /*! * \brief The MHDVersion class * \details The HD version data model * * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description | * |:------:|:------:|:-----:|:----:|:---:|:---:|:----:|:----------------:| * | 0x1D00 | 0x020 | 6 | Rsp | Y | HD | UI | HD Version Data | * * | Payload || * | || * | #1:(U08) | \ref Data::mMajor | * | #2:(U08) | \ref Data::mMacro | * | #3:(U08) | \ref Data::mMicro | * | #4:(U16) | \ref Data::mBuild | * | #5:(U08) | \ref Data::mFPGAId | * | #6:(U08) | \ref Data::mFPGAMajor | * | #7:(U08) | \ref Data::mFPGAMinor | * | #8:(U08) | \ref Data::mFPGALab | * * \sa Data * \sa MHDVersion : HD Version Data * *

Logging info

* | || * | || * | typeText | Event | * | unitText | HD | * | infoText | Version Data | * */ class MHDVersion : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U08 mMajor ; Types::U08 mMinor ; Types::U08 mMicro ; Types::U16 mBuild ; Types::U08 mFPGAId ; Types::U08 mFPGAMajor ; Types::U08 mFPGAMinor ; Types::U08 mFPGALab ; } _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("HDVersionData") ; } struct Data { float mMajor = 0; /*!< Major Firmware build major number in Major.X.X format */ float mMinor = 0; /*!< Minor Firmware build minor number in X.Minor.X format */ float mMicro = 0; /*!< Micro Firmware build micro number in X.X.Micro format */ float mBuild = 0; /*!< Build Firmware build number */ float mFPGAId = 0; /*!< FPGA ID FPGA ID number */ float mFPGAMajor = 0; /*!< FPGA Major FPGA build major number in Major.X format */ float mFPGAMinor = 0; /*!< FPGA Minor FPGA build minor number in X.Minor format */ float mFPGALab = 0; /*!< FPGA Lab FPGA test build number for lab roll-out before merging to master */ }; public: MHDVersion () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MHDVersion::Data HDVersionData;