/*! * * Copyright (c) 2020-2022 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 MHDBloodLeakData.h * \author (last) Michael Garthwaite * \author (original) Michael Garthwaite * \date (last) 16-Feb-2022 * \date (original) 16-Feb-2022 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MHDBloodLeakData class * \details The HD blood leak data model * * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:---------------------: | * | 0x6C00 | 0x040 | 1 Hz | N | HD | UI | HD Blood Leak Data | * * | Payload || * | || * | #01:(U32) | \ref Data::mBloodLeakStatus | * | #02:(U32) | \ref Data::mBloodLeakState | * | #03:(U32) | \ref Data::mBloodLeakZeroStatusCounter | * | #04:(U32) | \ref Data::mBloodLeakCounter | * | #05:(u32) | \ref Data::mBloodLeakZeroedStatus | * | #06:(U32) | \ref Data::mBloodLeakDetectSetPoint | * | #07:(U32) | \ref Data::mBloodLeakDetectLevel | * | #08:(U32) | \ref Data::mBloodLeakStatusCount | * | #09:(U32) | \ref Data::mBloodLeakLEDIntensity | * | #10:(U32) | \ref Data::mBloodLeakRegisterCounter | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | HD | * | infoText | BloodLeak | * */ class MHDBloodLeakData : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U32 mBloodLeakStatus ; Types::U32 mBloodLeakState ; Types::U32 mBloodLeakZeroStatusCounter ; Types::U32 mBloodLeakCounter ; Types::U32 mBloodLeakZeroedStatus ; Types::U32 mBloodLeakDetectSetPoint ; Types::U32 mBloodLeakDetectLevel ; Types::U32 mBloodLeakStatusCount ; Types::U32 mBloodLeakLEDIntensity ; Types::U32 mBloodLeakRegisterCounter ; } _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("BloodLeak") ; } struct Data { quint32 mBloodLeakStatus = 0; quint32 mBloodLeakState = 0; quint32 mBloodLeakZeroStatusCounter = 0; quint32 mBloodLeakCounter = 0; quint32 mBloodLeakZeroedStatus = 0; quint32 mBloodLeakDetectSetPoint = 0; quint32 mBloodLeakDetectLevel = 0; quint32 mBloodLeakStatusCount = 0; quint32 mBloodLeakLEDIntensity = 0; quint32 mBloodLeakRegisterCounter = 0; }; MHDBloodLeakData () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MHDBloodLeakData::Data HDBloodLeakData;