Index: denali.pro =================================================================== diff -u -r5c21e83a3fdc897cb99ac62e1cec0213f411cd73 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- denali.pro (.../denali.pro) (revision 5c21e83a3fdc897cb99ac62e1cec0213f411cd73) +++ denali.pro (.../denali.pro) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -61,11 +61,13 @@ sources/model/hd/adjustment/posttreatment \ sources/model/hd/alarm \ sources/model/hd/data \ + sources/model/hd/data/post \ sources/model/hd/data/pretreatment \ sources/model/hd/data/treatment \ sources/model/hd/data/posttreatment \ sources/model/hd/data/treatmentlog \ sources/model/dg/data \ + sources/model/dg/data/post \ sources/model/dg/data/pretreatment \ sources/model/dg/data/disinfect \ sources/model/dg/adjustment \ @@ -112,6 +114,11 @@ sources/model/MModel.h \ sources/model/MAbstract.h \ sources/device/DeviceModels.h \ + \ # ---------- Models - POST + sources/model/dg/data/post/MDGPostFinalResultData.h \ + sources/model/dg/data/post/MDGPostSingleResultData.h \ + sources/model/hd/data/post/MHDPostFinalResultData.h \ + sources/model/hd/data/post/MHDPostSingleResultData.h \ \ # ---------- Models - settings sources/model/settings/MSettings.h \ sources/model/settings/MWifiNetwork.h \ @@ -344,6 +351,11 @@ \ # ---------- Models ---------- sources/model/MAbstract.cpp \ sources/device/DeviceModels.cpp \ + \ # ---------- Models - POST + sources/model/dg/data/post/MDGPostFinalResultData.cpp \ + sources/model/dg/data/post/MDGPostSingleResultData.cpp \ + sources/model/hd/data/post/MHDPostFinalResultData.cpp \ + sources/model/hd/data/post/MHDPostSingleResultData.cpp \ \ # ---------- Models - settings sources/model/settings/MSettings.cpp \ sources/model/dg/adjustment/settings/MAdjustDGSerialNumberResponse.cpp \ Index: denali.pro.user =================================================================== diff -u -r1b24a85761c65a685fac98f396e244af97b94443 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- denali.pro.user (.../denali.pro.user) (revision 1b24a85761c65a685fac98f396e244af97b94443) +++ denali.pro.user (.../denali.pro.user) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -1,6 +1,6 @@ - + EnvironmentId Index: sources/canbus/MessageDispatcher.cpp =================================================================== diff -u -r13d6a4fae2f910ab6e289ac9280258a94f734405 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 13d6a4fae2f910ab6e289ac9280258a94f734405) +++ sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -709,6 +709,19 @@ onActionTransmit(GuiActionType::ID_AdjustChemicalConfirmReq, mData); } +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the UI power on self test final result + * \param vData - Data model contains the final result of the UI POST + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustUIPostFinalResultRequestData &vData) +{ + QVariantList mData; + mData += vData.mResult; + onActionTransmit(GuiActionType::ID_UIPostFinalResultData, mData); +} + // ---------------------------------------------------------------------------------------------------- /*! Index: sources/canbus/MessageDispatcher.h =================================================================== diff -u -r13d6a4fae2f910ab6e289ac9280258a94f734405 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision 13d6a4fae2f910ab6e289ac9280258a94f734405) +++ sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -106,6 +106,8 @@ bool _init = false; QList _needsAcknow { + // Power on self test + GuiActionType::ID_UIPostFinalResultData , // Alarm GuiActionType::ID_AlarmUserActionReq , GuiActionType::ID_AlarmSilenceReq , Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r1b24a85761c65a685fac98f396e244af97b94443 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 1b24a85761c65a685fac98f396e244af97b94443) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -49,6 +49,13 @@ {Gui::GuiActionType::ID_ShuttingDown , 0 }, {Gui::GuiActionType::ID_KeepAlive , 255 }, // 0 => 255 to be able to run a multi-frame test. + // POST + {Gui::GuiActionType::ID_UIPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_HDPostSingleResultData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_HDPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_DGPostSingleResultData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_DGPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes + // ----- {Gui::GuiActionType::ID_TreatmentTime , 3 * 4 }, // 3 parameters each 4bytes {Gui::GuiActionType::ID_BloodFlow , 8 * 4 }, // 8 parameters each 4bytes Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r615da996f40180040439b2a2fba22e8f24920336 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 615da996f40180040439b2a2fba22e8f24920336) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -236,6 +236,8 @@ break; case Gui::GuiActionType::ID_PowerOff : INTERPRET_TRANSMIT_MESSAGE(AdjustPowerOffRequestData ); break; + // POST + case Gui::GuiActionType::ID_UIPostFinalResultData : INTERPRET_TRANSMIT_MESSAGE(AdjustUIPostFinalResultRequestData ); break; // Settings case Gui::GuiActionType::ID_AdjustVersionsReq : INTERPRET_TRSMT_MT_MESSAGE(AdjustVersionsRequestData ); break; case Gui::GuiActionType::ID_AdjustHDDateTimeReq : INTERPRET_TRANSMIT_MESSAGE(AdjustHDDateTimeRequestData ); break; @@ -385,6 +387,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; @@ -496,6 +500,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.h =================================================================== diff -u -r6233e005c77ee0aa10e80c02254a21f2042b840b -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 6233e005c77ee0aa10e80c02254a21f2042b840b) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -75,6 +75,13 @@ ID_DGCheckIn = 0x0600, ID_KeepAlive = 0x0700, + // POST + ID_HDPostSingleResultData = 0x8E00, // 142 + ID_HDPostFinalResultData = 0x8F00, // 143 + ID_DGPostSingleResultData = 0x9000, // 144 + ID_DGPostFinalResultData = 0x9100, // 145 + ID_UIPostFinalResultData = 0x9200, // 146 + // ----- Settings // Version ID_AdjustVersionsReq = 0x1C00, // 28 @@ -88,7 +95,6 @@ ID_AdjustServiceHDRsp = 0x8A00, // 138 ID_AdjustServiceDGRsp = 0x8C00, // 140 - // RTC ID_AdjustHDDateTimeReq = 0x6D00, // 109 ID_AdjustHDDateTimeRsp = 0x6E00, // 110 Index: sources/gui/qml/dialogs/DiagnosticsDialog.qml =================================================================== diff -u -r30eab37f37822513f07948fb47a8af612d06e5f3 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- sources/gui/qml/dialogs/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision 30eab37f37822513f07948fb47a8af612d06e5f3) +++ sources/gui/qml/dialogs/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -29,7 +29,7 @@ */ ModalDialog { id: _root - width : Variables.applicationWidth // - 40 + width : Variables.applicationWidth height : Variables.applicationHeight - 60 function col(idx, gap = 0) { Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r1b24a85761c65a685fac98f396e244af97b94443 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 1b24a85761c65a685fac98f396e244af97b94443) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -83,6 +83,7 @@ } ScreenItem { id: _treatmentTrending +/* ----- Under the test code, for the plotting of the items ----- Timer { id: _timer property real x1: 0 property real x2: 0 @@ -157,6 +158,7 @@ } } } +*/ } //// Treatment Adjustment Dialogs Index: sources/model/MModel.h =================================================================== diff -u -r13d6a4fae2f910ab6e289ac9280258a94f734405 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- sources/model/MModel.h (.../MModel.h) (revision 13d6a4fae2f910ab6e289ac9280258a94f734405) +++ sources/model/MModel.h (.../MModel.h) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -29,6 +29,12 @@ #include "MAlarmActiveList.h" #include "MAdjustHDAlarmVolumeResponse.h" +// POST +#include "MHDPostSingleResultData.h" +#include "MHDPostFinalResultData.h" +#include "MDGPostSingleResultData.h" +#include "MDGPostFinalResultData.h" + // States Messages #include "MHDOperationModeData.h" #include "MPreTreatmentStatesData.h" @@ -242,6 +248,12 @@ \details Registers the models in the Qt MetaType so it can be used in signal/slots between threads. */ #define REGISTER_MODEL_METATYPES \ + /* POST */ \ + REGISTER_METATYPE( HDPostSingleResultData ) \ + REGISTER_METATYPE( HDPostFinalResultData ) \ + REGISTER_METATYPE( DGPostSingleResultData ) \ + REGISTER_METATYPE( DGPostFinalResultData ) \ + REGISTER_METATYPE( AdjustUIPostFinalResultRequestData ) \ /* Devices */ \ REGISTER_METATYPE( DeviceBrightnessRequestData ) \ REGISTER_METATYPE( DeviceBrightnessResponseData ) \ @@ -405,6 +417,12 @@ */ #define ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ \ + /* POST */ \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDPostSingleResultData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDPostFinalResultData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGPostSingleResultData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGPostFinalResultData ) \ + /* */ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, SettingsData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDOperationModeData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, PreTreatmentStatesData ) \ @@ -500,6 +518,8 @@ // /* Request */ ---------------------------------------------------------// #define ADJUST_TRANSMT_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ + /* POST */ \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUIPostFinalResultRequestData ) \ \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustBloodDialysateRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustDurationRequestData ) \ @@ -563,6 +583,11 @@ This macro should be used with its counterpart macro \ref ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS */ #define ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS \ + /* POST */ \ + ACTION_RECEIVE_BRIDGE_DEFINITION( HDPostSingleResultData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( HDPostFinalResultData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGPostSingleResultData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGPostFinalResultData ) \ \ ACTION_RECEIVE_BRIDGE_DEFINITION( SettingsData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( HDOperationModeData ) \ @@ -659,6 +684,8 @@ #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS \ /* Request --------------------------------------------------------- */ \ + /* POST */ \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUIPostFinalResultRequestData ) \ /* Post-Treatment */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustPatientDisconnectionConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustDisposablesRemovalConfirmRequestData ) \ @@ -706,6 +733,8 @@ #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_NOEMIT \ /* Request ----------------------- NoEmit -------------------------- */ \ + /* POST */ \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUIPostFinalResultRequestData ) \ /* Post-Treatment */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustPatientDisconnectionConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustDisposablesRemovalConfirmRequestData ) \ @@ -753,6 +782,8 @@ #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_PUBLIC \ /* Request ----------------------- public -------------------------- */ \ + /* POST */ \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUIPostFinalResultRequestData ) \ /* Post-Treatment */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustPatientDisconnectionConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustDisposablesRemovalConfirmRequestData ) \ @@ -800,6 +831,11 @@ //===============================================================================// #define ACTION_RECEIVE_SIGNALS \ + /* POST */ \ + ACTION_RECEIVE_SIGNAL( HDPostSingleResultData ) \ + ACTION_RECEIVE_SIGNAL( HDPostFinalResultData ) \ + ACTION_RECEIVE_SIGNAL( DGPostSingleResultData ) \ + ACTION_RECEIVE_SIGNAL( DGPostFinalResultData ) \ /* Received signals */ \ /* NO RESPONSE message model here */ \ ACTION_RECEIVE_SIGNAL( SettingsData ) \ Index: sources/model/dg/data/post/MDGPostFinalResultData.cpp =================================================================== diff -u --- sources/model/dg/data/post/MDGPostFinalResultData.cpp (revision 0) +++ sources/model/dg/data/post/MDGPostFinalResultData.cpp (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -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/post/MDGPostFinalResultData.h =================================================================== diff -u --- sources/model/dg/data/post/MDGPostFinalResultData.h (revision 0) +++ sources/model/dg/data/post/MDGPostFinalResultData.h (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -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/post/MDGPostSingleResultData.cpp =================================================================== diff -u --- sources/model/dg/data/post/MDGPostSingleResultData.cpp (revision 0) +++ sources/model/dg/data/post/MDGPostSingleResultData.cpp (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -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/post/MDGPostSingleResultData.h =================================================================== diff -u --- sources/model/dg/data/post/MDGPostSingleResultData.h (revision 0) +++ sources/model/dg/data/post/MDGPostSingleResultData.h (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -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/adjustment/settings/MAdjustHDRequests.h =================================================================== diff -u -r13d6a4fae2f910ab6e289ac9280258a94f734405 -r667baa15f6fc3a9438dae68ded8cee26c2ca7450 --- sources/model/hd/adjustment/settings/MAdjustHDRequests.h (.../MAdjustHDRequests.h) (revision 13d6a4fae2f910ab6e289ac9280258a94f734405) +++ sources/model/hd/adjustment/settings/MAdjustHDRequests.h (.../MAdjustHDRequests.h) (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -144,9 +144,40 @@ static Can::Can_Id canid () { return Can::eChlid_UI_Sync; } }; + +/*! + * \brief The MAdjustUIPostFinalResultRequest class + * \details The UI power on self test result model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| + * | 0x9200 | 0x100 | Req | Y | UI | HD | Report UI POST result | + * + * | Payload || + * | || + * | #1:(U32) mResult | \ref mResult | + * + */ +class MAdjustUIPostFinalResultReq : public MModel { +public: + + quint32 mResult; + + // coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + QString toString() { + return toString( { mResult } ); + } + // coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString("AdjustUIPostFinalResult", vParameters); + } +}; } -typedef Model:: MAdjustVersionsReq AdjustVersionsRequestData; -typedef Model:: MAdjustServiceReq AdjustServiceRequestData; -typedef Model:: MAdjustHDDateTimeReq AdjustHDDateTimeRequestData; -typedef Model::MAdjustHDAlarmVolumeReq AdjustHDAlarmVolumeRequestData; +typedef Model:: MAdjustVersionsReq AdjustVersionsRequestData; +typedef Model:: MAdjustServiceReq AdjustServiceRequestData; +typedef Model:: MAdjustHDDateTimeReq AdjustHDDateTimeRequestData; +typedef Model:: MAdjustHDAlarmVolumeReq AdjustHDAlarmVolumeRequestData; +typedef Model::MAdjustUIPostFinalResultReq AdjustUIPostFinalResultRequestData; + Index: sources/model/hd/data/post/MHDPostFinalResultData.cpp =================================================================== diff -u --- sources/model/hd/data/post/MHDPostFinalResultData.cpp (revision 0) +++ sources/model/hd/data/post/MHDPostFinalResultData.cpp (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -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/post/MHDPostFinalResultData.h =================================================================== diff -u --- sources/model/hd/data/post/MHDPostFinalResultData.h (revision 0) +++ sources/model/hd/data/post/MHDPostFinalResultData.h (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -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/post/MHDPostSingleResultData.cpp =================================================================== diff -u --- sources/model/hd/data/post/MHDPostSingleResultData.cpp (revision 0) +++ sources/model/hd/data/post/MHDPostSingleResultData.cpp (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -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/post/MHDPostSingleResultData.h =================================================================== diff -u --- sources/model/hd/data/post/MHDPostSingleResultData.h (revision 0) +++ sources/model/hd/data/post/MHDPostSingleResultData.h (revision 667baa15f6fc3a9438dae68ded8cee26c2ca7450) @@ -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;