/*! * * Copyright (c) 2019-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 MAlarmStatusData.h * \author (last) Behrouz NematiPour * \date (last) 25-Sep-2020 * \author (original) Behrouz NemaiPour * \date (original) 02-Jul-2020 * */ #pragma once // Qt #include // Project #include "types.h" #include "GuiGlobals.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MAlarmStatus class * \details The alarm status model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x0200| 0x001 | 1 | 1 Hz | N | HD | All | Alarm Status | * * | Payload || * | || * | #1:(U32) | \ref Data::mState | * | #2:(U32) | \ref Data::mTop | * | #3:(U32) | \ref Data::mEscalatesIn | * | #4:(U32) | \ref Data::mMuteTimeout | * | #5:(U16) | \ref Data::mFlags | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | HD | * | infoText | Alarm Status | * */ class MAlarmStatus { // friends friend class ::tst_models; public: enum Flag { eFlag_systemFault = 0 , eFlag_stop , eFlag_noClear , eFlag_noResume , eFlag_noRinseback , eFlag_noEndTreatment , eFlag_noNewTreatment , eFlag_bypassDialyzer , eFlag_alarmsToEscalate , eFlag_alarmsSilenced , eFlag_Bits_Length = 16, }; QString stringPrefix = "Alarm Status"; struct Data { quint32 mState = 0; ///< State - Alarm Priority quint32 mTop = 0; ///< Top - Top current alarm ID quint32 mEscalatesIn = 0; ///< EscalatesIn - EscalatesIn quint32 mMuteTimeout = 0; ///< MuteTimeout - MuteTimeout QBitArray mFlags ; ///< Flags - Flags }; private: struct { Types::U32 mState ; Types::U32 mTop ; Types::U32 mEscalatesIn ; Types::U32 mMuteTimeout ; Types::Flags mFlags ; } _data; public: MAlarmStatus(); QString toString ( ) const ; void toVariantList ( QVariantList &vData ) const ; bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); static QString toText ( Gui::GuiAlarmID vAlarmID); Data data() const ; }; } typedef Model::MAlarmStatus::Data AlarmStatusData; typedef Model::MAlarmStatus::Flag AlarmStatusFlag;