/*! * * Copyright (c) 2022-2024 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 MHDAirTrapData.h * \author (last) Dara Navaei * \date (last) 07-Mar-2024 * \author (original) Michael Garthwaite * \date (original) 23-Feb-2022 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MHDAirTrapData class * \details The HD Air Trap data model * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | * |0x3E00| 0x040 | 1 Hz | N | HD | All | HD Air Trap Data | * * | Payload || * | || * | #1:(U32) | \ref Data::mAirTrapLowerLevel | * | #2:(U32) | \ref Data::mAirTrapUpperLevel | * | #3:(U32) | \ref Data::mAirTrapRawLowerLevel | * | #4:(U32) | \ref Data::mAirTrapRawUpperLevel | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | HD | * | infoText | AirTrap | * */ class MHDAirTrapData : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U32 mAirTrapLowerLevel; Types::U32 mAirTrapUpperLevel; Types::U32 mAirTrapRawLowerLevel; Types::U32 mAirTrapRawUpperLevel; } _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("AirTrap") ; } struct Data { quint32 mAirTrapLowerLevel = 0; ///< Lower Level quint32 mAirTrapUpperLevel = 0; ///< Upper Level quint32 mAirTrapRawLowerLevel = 0; ///< Raw Lower Level quint32 mAirTrapRawUpperLevel = 0; ///< Raw Upper Level }; MHDAirTrapData () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MHDAirTrapData::Data HDAirTrapData;