Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r7077e38c74db9cccb5496ffefcf8936c0916de76 -r4e708c6e93443b01ac26c71a466708916ede4abf --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 7077e38c74db9cccb5496ffefcf8936c0916de76) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -357,6 +357,8 @@ // ----- Datum case Gui::GuiActionType::ID_HDAccelerometerData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDAccelerometerData ); break; + case Gui::GuiActionType::ID_HDPostSingleResultData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDPostSingleResultData ); break; + case Gui::GuiActionType::ID_HDPostFinalResultData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDPostFinalResultData ); break; // ----- Datum - Treatment case Gui::GuiActionType::ID_TreatmentRanges : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TreatmentRanges ); break; @@ -459,6 +461,8 @@ case Gui::GuiActionType::ID_DGTemperaturesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGTemperaturesData ); break; case Gui::GuiActionType::ID_DGDebugText : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGDebugText ); break; case Gui::GuiActionType::ID_DGAccelerometerData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGAccelerometerData ); break; + case Gui::GuiActionType::ID_DGPostSingleResultData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGPostSingleResultData ); break; + case Gui::GuiActionType::ID_DGPostFinalResultData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGPostFinalResultData ); break; // ----- Datum - Pre-Treatment progress case Gui::GuiActionType::ID_DGFilterFlushData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGFilterFlushData ); break; // ----- Datum - Disinfection Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -r7077e38c74db9cccb5496ffefcf8936c0916de76 -r4e708c6e93443b01ac26c71a466708916ede4abf --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 7077e38c74db9cccb5496ffefcf8936c0916de76) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -64,6 +64,8 @@ #include "VTreatmentRecirculateData.h" #include "VTreatmentBloodPrimeData.h" #include "VHDAccelerometerData.h" +#include "VHDPostSingleResultData.h" +#include "VHDPostFinalResultData.h" // DG data #include "VDGDrainPumpData.h" #include "VDGHeatersData.h" @@ -75,6 +77,8 @@ #include "VDGTemperaturesData.h" #include "VDGValvesStatesData.h" #include "VDGAccelerometerData.h" +#include "VDGPostSingleResultData.h" +#include "VDGPostFinalResultData.h" // ----- #include "VTreatmentCreate.h" // ----- In-Treatment Adjustments Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r7077e38c74db9cccb5496ffefcf8936c0916de76 -r4e708c6e93443b01ac26c71a466708916ede4abf --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 7077e38c74db9cccb5496ffefcf8936c0916de76) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -109,6 +109,8 @@ ID_Recirculate = 0x5A00, // 90 ID_BloodPrime = 0x5900, // 89 ID_HDAccelerometerData = 0x3300, // 51 + ID_HDPostSingleResultData = 0x8E00, // 142 + ID_HDPostFinalResultData = 0x8F00, // 143 // Alarm Messages ID_AlarmStatus = 0x0200, @@ -168,6 +170,8 @@ ID_DGLoadCellReadingsData = 0x0C00, // 12 ID_DGTemperaturesData = 0x2D00, // 45 ID_DGAccelerometerData = 0x3400, // 52 + ID_DGPostSingleResultData = 0x9000, // 144 + ID_DGPostFinalResultData = 0x9100, // 145 // In-Treatment Adjustables ID_AdjustDurationReq = 0x1600, // 22 Index: sources/gui/qml/main.qml =================================================================== diff -u -r8f83b92860a33498ea7856e63afef0a10ee11923 -r4e708c6e93443b01ac26c71a466708916ede4abf --- sources/gui/qml/main.qml (.../main.qml) (revision 8f83b92860a33498ea7856e63afef0a10ee11923) +++ sources/gui/qml/main.qml (.../main.qml) (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -47,6 +47,8 @@ import VTreatmentRecirculate 0.1 import VTreatmentBloodPrime 0.1 import VTreatmentRanges 0.1 +import VHDPostSingleResult 0.1 +import VHDPostFinalResult 0.1 // Pre-Treatment import VPreTreatmentAdjustmentInitTreatment 0.1 import VDGFilterFlush 0.1 @@ -73,6 +75,8 @@ import VDGValvesStates 0.1 import VTreatmentCreate 0.1 import VDGAccelerometer 0.1 +import VDGPostSingleResult 0.1 +import VDGPostFinalResult 0.1 // In-Treatment - Adjustemnt import VTreatmentAdjustmentDuration 0.1 import VTreatmentAdjustmentFlows 0.1 Index: sources/model/MModel.h =================================================================== diff -u -r7077e38c74db9cccb5496ffefcf8936c0916de76 -r4e708c6e93443b01ac26c71a466708916ede4abf --- sources/model/MModel.h (.../MModel.h) (revision 7077e38c74db9cccb5496ffefcf8936c0916de76) +++ sources/model/MModel.h (.../MModel.h) (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -43,6 +43,8 @@ #include "MTreatmentRecirculateData.h" #include "MTreatmentBloodPrimeData.h" #include "MHDAccelerometerData.h" +#include "MHDPostSingleResultData.h" +#include "MHDPostFinalResultData.h" // Debugging Messages #include "MHDDebugText.h" @@ -67,6 +69,8 @@ #include "MDGTemperaturesData.h" #include "MDGValvesStatesData.h" #include "MDGAccelerometerData.h" +#include "MDGPostSingleResultData.h" +#include "MDGPostFinalResultData.h" // Pre-Treatment #include "MPreTreatmentAdjustRequests.h" @@ -251,6 +255,8 @@ REGISTER_METATYPE( TreatmentRecirculateData ) \ REGISTER_METATYPE( TreatmentBloodPrimeData ) \ REGISTER_METATYPE( HDAccelerometerData ) \ + REGISTER_METATYPE( HDPostSingleResultData ) \ + REGISTER_METATYPE( HDPostFinalResultData ) \ \ REGISTER_METATYPE( AlarmStatusData ) \ REGISTER_METATYPE( AlarmTriggeredData ) \ @@ -268,6 +274,8 @@ REGISTER_METATYPE( DGLoadCellReadingsData ) \ REGISTER_METATYPE( DGTemperaturesData ) \ REGISTER_METATYPE( DGAccelerometerData ) \ + REGISTER_METATYPE( DGPostSingleResultData ) \ + REGISTER_METATYPE( DGPostFinalResultData ) \ \ REGISTER_METATYPE( HDDebugTextData ) \ REGISTER_METATYPE( DGDebugTextData ) \ @@ -392,6 +400,8 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentRecirculateData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentBloodPrimeData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDAccelerometerData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDPostSingleResultData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDPostFinalResultData ) \ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmStatusData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmTriggeredData ) \ @@ -409,6 +419,8 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGLoadCellReadingsData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGTemperaturesData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGAccelerometerData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGPostSingleResultData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGPostFinalResultData ) \ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDDebugTextData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGDebugTextData ) \ @@ -536,6 +548,8 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentRecirculateData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentBloodPrimeData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( HDAccelerometerData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( HDPostSingleResultData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( HDPostFinalResultData ) \ \ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmStatusData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmTriggeredData ) \ @@ -553,6 +567,8 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( DGLoadCellReadingsData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGTemperaturesData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGAccelerometerData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGPostSingleResultData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGPostFinalResultData ) \ \ ACTION_RECEIVE_BRIDGE_DEFINITION( HDDebugTextData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGDebugTextData ) \ @@ -753,6 +769,8 @@ ACTION_RECEIVE_SIGNAL( TreatmentRecirculateData ) \ ACTION_RECEIVE_SIGNAL( TreatmentBloodPrimeData ) \ ACTION_RECEIVE_SIGNAL( HDAccelerometerData ) \ + ACTION_RECEIVE_SIGNAL( HDPostSingleResultData ) \ + ACTION_RECEIVE_SIGNAL( HDPostFinalResultData ) \ \ ACTION_RECEIVE_SIGNAL( AlarmStatusData ) \ ACTION_RECEIVE_SIGNAL( AlarmTriggeredData ) \ @@ -768,6 +786,8 @@ ACTION_RECEIVE_SIGNAL( DGLoadCellReadingsData ) \ ACTION_RECEIVE_SIGNAL( DGTemperaturesData ) \ ACTION_RECEIVE_SIGNAL( DGAccelerometerData ) \ + ACTION_RECEIVE_SIGNAL( DGPostSingleResultData ) \ + ACTION_RECEIVE_SIGNAL( DGPostFinalResultData ) \ \ ACTION_RECEIVE_SIGNAL( HDDebugTextData ) \ ACTION_RECEIVE_SIGNAL( DGDebugTextData ) \ Index: sources/model/dg/data/MDGPostFinalResultData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGPostFinalResultData.cpp (revision 0) +++ sources/model/dg/data/MDGPostFinalResultData.cpp (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,43 @@ +/*! + * + * Copyright (c) 2021 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 MDGPostFinalResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ + +#include "MDGPostFinalResultData.h" + +using namespace Model; + +QVariantList MDGPostFinalResult::parameters() const { + return { + _data.mResult.value, + }; +} + +bool MDGPostFinalResult::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mResult )) + return true ; + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MDGPostFinalResult::data + * \details Provides the model's data from the received messages data values + * \return Data + */ +MDGPostFinalResult::Data MDGPostFinalResult::data() const { + Data data; + data.mResult = _data.mResult.value; + return data; +} + Index: sources/model/dg/data/MDGPostFinalResultData.h =================================================================== diff -u --- sources/model/dg/data/MDGPostFinalResultData.h (revision 0) +++ sources/model/dg/data/MDGPostFinalResultData.h (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,81 @@ +/*! + * + * Copyright (c) 2021 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 MDGPostFinalResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * rief The MDGPostFinalResult class + * \details Model for the final DG post result + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:---------------------------------: | + * |0X9100| 0X80 | Event | N | DG | UI | Model for the final DG post result | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mResult | + + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | DG | + * | infoText | DGPostFinalResult | + * + */ + +class MDGPostFinalResult : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mResult; + } _data; + +public: + + Type_Enum typeText () const override { return Type_Enum::eDatum ;} + Unit_Enum unitText () const override { return Unit_Enum::eDG ;} + QString infoText () const override { return QString("DGPostFinalResult") ;} + + struct Data { + quint32 mResult; + }; + + MDGPostFinalResult() {} + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MDGPostFinalResult::Data DGPostFinalResultData; Index: sources/model/dg/data/MDGPostSingleResultData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGPostSingleResultData.cpp (revision 0) +++ sources/model/dg/data/MDGPostSingleResultData.cpp (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,47 @@ +/*! + * + * Copyright (c) 2021 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 MDGPostSingleResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ + +#include "MDGPostSingleResultData.h" + +using namespace Model; + +QVariantList MDGPostSingleResult::parameters() const { + return { + _data.mResult.value, + _data.mIndex.value, + }; +} + +bool MDGPostSingleResult::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mResult )) + if (GetValue(vByteArray, index, _data.mIndex )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MDGPostSingleResult::data + * \details Provides the model's data from the received messages data values + * \return Data + */ +MDGPostSingleResult::Data MDGPostSingleResult::data() const { + Data data; + data.mResult = _data.mResult.value; + data.mIndex = _data.mIndex.value; + return data; +} + Index: sources/model/dg/data/MDGPostSingleResultData.h =================================================================== diff -u --- sources/model/dg/data/MDGPostSingleResultData.h (revision 0) +++ sources/model/dg/data/MDGPostSingleResultData.h (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,84 @@ +/*! + * + * Copyright (c) 2021 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 MDGPostSingleResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * rief The MDGPostSingleResult class + * \details Model for a single DG post result + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:--------------------------------: | + * |0X9000| 0X80 | Event | N | DG | UI | Model for a single DG post result | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mResult | + * | #2:(U32) | \ref Data::mIndex | + + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | DG | + * | infoText | DGPostSingleResult | + * + */ + +class MDGPostSingleResult : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mResult; + Types::U32 mIndex; + } _data; + +public: + + Type_Enum typeText () const override { return Type_Enum::eDatum ;} + Unit_Enum unitText () const override { return Unit_Enum::eDG ;} + QString infoText () const override { return QString("DGPostSingleResult") ;} + + struct Data { + quint32 mResult; + quint32 mIndex; + }; + + MDGPostSingleResult() {} + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MDGPostSingleResult::Data DGPostSingleResultData; Index: sources/model/hd/data/MHDPostFinalResultData.cpp =================================================================== diff -u --- sources/model/hd/data/MHDPostFinalResultData.cpp (revision 0) +++ sources/model/hd/data/MHDPostFinalResultData.cpp (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,43 @@ +/*! + * + * Copyright (c) 2021 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 MHDPostFinalResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ + +#include "MHDPostFinalResultData.h" + +using namespace Model; + +QVariantList MHDPostFinalResult::parameters() const { + return { + _data.mResult.value, + }; +} + +bool MHDPostFinalResult::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mResult )) + return true ; + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MHDPostFinalResult::data + * \details Provides the model's data from the received messages data values + * \return Data + */ +MHDPostFinalResult::Data MHDPostFinalResult::data() const { + Data data; + data.mResult = _data.mResult.value; + return data; +} + Index: sources/model/hd/data/MHDPostFinalResultData.h =================================================================== diff -u --- sources/model/hd/data/MHDPostFinalResultData.h (revision 0) +++ sources/model/hd/data/MHDPostFinalResultData.h (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,81 @@ +/*! + * + * Copyright (c) 2021 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 MHDPostFinalResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * rief The MHDPostFinalResult class + * \details Model for the final HD post result + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:---------------------------------: | + * |0X8F00| 0X40 | Event | N | HD | UI | Model for the final HD post result | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mResult | + + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | HD | + * | infoText | HDPostFinalResult | + * + */ + +class MHDPostFinalResult : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mResult; + } _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("HDPostFinalResult") ;} + + struct Data { + quint32 mResult; + }; + + MHDPostFinalResult() {} + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MHDPostFinalResult::Data HDPostFinalResultData; Index: sources/model/hd/data/MHDPostSingleResultData.cpp =================================================================== diff -u --- sources/model/hd/data/MHDPostSingleResultData.cpp (revision 0) +++ sources/model/hd/data/MHDPostSingleResultData.cpp (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,47 @@ +/*! + * + * Copyright (c) 2021 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 MHDPostSingleResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ + +#include "MHDPostSingleResultData.h" + +using namespace Model; + +QVariantList MHDPostSingleResult::parameters() const { + return { + _data.mResult.value, + _data.mIndex.value, + }; +} + +bool MHDPostSingleResult::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mResult )) + if (GetValue(vByteArray, index, _data.mIndex )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MHDPostSingleResult::data + * \details Provides the model's data from the received messages data values + * \return Data + */ +MHDPostSingleResult::Data MHDPostSingleResult::data() const { + Data data; + data.mResult = _data.mResult.value; + data.mIndex = _data.mIndex.value; + return data; +} + Index: sources/model/hd/data/MHDPostSingleResultData.h =================================================================== diff -u --- sources/model/hd/data/MHDPostSingleResultData.h (revision 0) +++ sources/model/hd/data/MHDPostSingleResultData.h (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,84 @@ +/*! + * + * Copyright (c) 2021 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 MHDPostSingleResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * rief The MHDPostSingleResult class + * \details Model for a single HD post result + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:--------------------------------: | + * |0X8E00| 0X40 | Event | N | HD | UI | Model for a single HD post result | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mResult | + * | #2:(U32) | \ref Data::mIndex | + + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | HD | + * | infoText | HDPostSingleResult | + * + */ + +class MHDPostSingleResult : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mResult; + Types::U32 mIndex; + } _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("HDPostSingleResult") ;} + + struct Data { + quint32 mResult; + quint32 mIndex; + }; + + MHDPostSingleResult() {} + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MHDPostSingleResult::Data HDPostSingleResultData; Index: sources/view/VView.h =================================================================== diff -u -r7077e38c74db9cccb5496ffefcf8936c0916de76 -r4e708c6e93443b01ac26c71a466708916ede4abf --- sources/view/VView.h (.../VView.h) (revision 7077e38c74db9cccb5496ffefcf8936c0916de76) +++ sources/view/VView.h (.../VView.h) (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -130,6 +130,8 @@ REGISTER_TYPE( VTreatmentBloodPrime ) \ /* Device - Data */ \ REGISTER_TYPE( VHDAccelerometer ) \ + REGISTER_TYPE( VHDPostSingleResult ) \ + REGISTER_TYPE( VHDPostFinalResult ) \ /* DG - Data */ \ REGISTER_TYPE( VDGDrainPump ) \ REGISTER_TYPE( VDGHeaters ) \ @@ -141,6 +143,8 @@ REGISTER_TYPE( VDGTemperatures ) \ REGISTER_TYPE( VDGValvesStates ) \ REGISTER_TYPE( VDGAccelerometer ) \ + REGISTER_TYPE( VDGPostSingleResult ) \ + REGISTER_TYPE( VDGPostFinalResult ) \ /* Pre-Treatment */ \ REGISTER_TYPE( VPreTreatmentAdjustmentInitTreatment ) \ REGISTER_TYPE( VDGFilterFlush ) \ Index: sources/view/dg/data/VDGPostFinalResultData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGPostFinalResultData.cpp (revision 0) +++ sources/view/dg/data/VDGPostFinalResultData.cpp (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,24 @@ +/*! + * + * Copyright (c) 2021 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 VDGPostFinalResultData.cpp + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#include "VDGPostFinalResultData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDGPostFinalResult, DGPostFinalResultData) + +void VDGPostFinalResult::onActionReceive(const DGPostFinalResultData &vData) { + Q_UNUSED(vData) +} Index: sources/view/dg/data/VDGPostFinalResultData.h =================================================================== diff -u --- sources/view/dg/data/VDGPostFinalResultData.h (revision 0) +++ sources/view/dg/data/VDGPostFinalResultData.h (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,43 @@ +/*! + * + * Copyright (c) 2021 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 VDGPostFinalResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : don't remove +#include "VView.h" +#include "MDGPostFinalResultData.h" + +// namespace +namespace View { + +/*! + * \brief The VDGPostFinalResult class + * \details View for Model's Data representation. + * + * \sa Model::MDGPostFinalResultData + * + */ +class VDGPostFinalResult : public QObject { + Q_OBJECT + + PROPERTY( quint32, result, 0) + PROPERTY( quint32, index, 0) + + VIEW_DEC(VDGPostFinalResult, DGPostFinalResultData) +}; +} Index: sources/view/dg/data/VDGPostSingleResultData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGPostSingleResultData.cpp (revision 0) +++ sources/view/dg/data/VDGPostSingleResultData.cpp (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,24 @@ +/*! + * + * Copyright (c) 2021 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 VDGPostSingleResultData.cpp + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#include "VDGPostSingleResultData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDGPostSingleResult, DGPostSingleResultData) + +void VDGPostSingleResult::onActionReceive(const DGPostSingleResultData &vData) { + Q_UNUSED(vData) +} Index: sources/view/dg/data/VDGPostSingleResultData.h =================================================================== diff -u --- sources/view/dg/data/VDGPostSingleResultData.h (revision 0) +++ sources/view/dg/data/VDGPostSingleResultData.h (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,43 @@ +/*! + * + * Copyright (c) 2021 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 VDGPostSingleResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : don't remove +#include "VView.h" +#include "MDGPostSingleResultData.h" + +// namespace +namespace View { + +/*! + * \brief The VDGPostSingleResult class + * \details View for Model's Data representation. + * + * \sa Model::MDGPostSingleResultData + * + */ +class VDGPostSingleResult : public QObject { + Q_OBJECT + + PROPERTY( quint32, result, 0) + PROPERTY( quint32, index, 0) + + VIEW_DEC(VDGPostSingleResult, DGPostSingleResultData) +}; +} Index: sources/view/hd/data/VHDPostFinalResultData.cpp =================================================================== diff -u --- sources/view/hd/data/VHDPostFinalResultData.cpp (revision 0) +++ sources/view/hd/data/VHDPostFinalResultData.cpp (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,24 @@ +/*! + * + * Copyright (c) 2021 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 VHDPostFinalResultData.cpp + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#include "VHDPostFinalResultData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VHDPostFinalResult, HDPostFinalResultData) + +void VHDPostFinalResult::onActionReceive(const HDPostFinalResultData &vData) { + Q_UNUSED(vData) +} Index: sources/view/hd/data/VHDPostFinalResultData.h =================================================================== diff -u --- sources/view/hd/data/VHDPostFinalResultData.h (revision 0) +++ sources/view/hd/data/VHDPostFinalResultData.h (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,43 @@ +/*! + * + * Copyright (c) 2021 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 VHDPostFinalResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : don't remove +#include "VView.h" +#include "MHDPostFinalResultData.h" + +// namespace +namespace View { + +/*! + * \brief The VHDPostFinalResultData class + * \details View for Model's Data representation. + * + * \sa Model::MHDPostFinalResultData + * + */ +class VHDPostFinalResult : public QObject { + Q_OBJECT + + PROPERTY( quint32, result, 0) + PROPERTY( quint32, index, 0) + + VIEW_DEC(VHDPostFinalResult, HDPostFinalResultData) +}; +} Index: sources/view/hd/data/VHDPostSingleResultData.cpp =================================================================== diff -u --- sources/view/hd/data/VHDPostSingleResultData.cpp (revision 0) +++ sources/view/hd/data/VHDPostSingleResultData.cpp (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,24 @@ +/*! + * + * Copyright (c) 2021 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 VHDPostSingleResultData.cpp + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#include "VHDPostSingleResultData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VHDPostSingleResult, HDPostSingleResultData) + +void VHDPostSingleResult::onActionReceive(const HDPostSingleResultData &vData) { + Q_UNUSED(vData) +} Index: sources/view/hd/data/VHDPostSingleResultData.h =================================================================== diff -u --- sources/view/hd/data/VHDPostSingleResultData.h (revision 0) +++ sources/view/hd/data/VHDPostSingleResultData.h (revision 4e708c6e93443b01ac26c71a466708916ede4abf) @@ -0,0 +1,43 @@ +/*! + * + * Copyright (c) 2021 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 VHDPostSingleResultData.h + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : don't remove +#include "VView.h" +#include "MHDPostSingleResultData.h" + +// namespace +namespace View { + +/*! + * \brief The VHDPostSingleResult class + * \details View for Model's Data representation. + * + * \sa Model::MHDPostSingleResultData + * + */ +class VHDPostSingleResult : public QObject { + Q_OBJECT + + PROPERTY( quint32, result, 0) + PROPERTY( quint32, index, 0) + + VIEW_DEC(VHDPostSingleResult, HDPostSingleResultData) +}; +}