Index: denali.pro =================================================================== diff -u -r21e68ccf5594b0ca3e0a8c7986e405260d273899 -r4c3c38d7f96cd63be776677bec5d1d0aa574611a --- denali.pro (.../denali.pro) (revision 21e68ccf5594b0ca3e0a8c7986e405260d273899) +++ denali.pro (.../denali.pro) (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -79,6 +79,8 @@ sources/model/MTreatmentParametersResp.h \ sources/model/MDGDebugText.h \ sources/model/MHDDebugText.h \ + sources/model/MHDSerialNumberResponse.h \ + sources/model/MDGSerialNumberResponse.h \ \ # ---------- Models - Alarm sources/model/hd/alarm/MAlarmStatusData.h \ sources/model/hd/alarm/MAlarmTriggered.h \ @@ -240,6 +242,8 @@ sources/model/MStartTreatmentResponse.cpp \ sources/model/MTreatmentParametersResp.cpp \ sources/model/MDGDebugText.cpp \ + sources/model/MHDSerialNumberResponse.cpp \ + sources/model/MDGSerialNumberResponse.cpp \ \ # ---------- Models - Alarm sources/model/hd/alarm/MAlarmStatusData.cpp \ sources/model/hd/alarm/MAlarmTriggered.cpp \ Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -rb5a7852d2637f7969680fbd3d2c821a6a74a8ccd -r4c3c38d7f96cd63be776677bec5d1d0aa574611a --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision b5a7852d2637f7969680fbd3d2c821a6a74a8ccd) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -155,6 +155,8 @@ {Gui::GuiActionType::ID_AdjustVersionsReq , 0 * 4 }, // 0 parameters each 4bytes {Gui::GuiActionType::ID_AdjustHDVersionsRsp , 9 }, // 9 parameters each 4bytes {Gui::GuiActionType::ID_AdjustDGVersionsRsp , 9 }, // 9 parameters each 4bytes + {Gui::GuiActionType::ID_HDSerialNumberRsp , 10 }, // 10 parameters each 4bytes + {Gui::GuiActionType::ID_DGSerialNumberRsp , 10 }, // 10 parameters each 4bytes // ---- RTC {Gui::GuiActionType::ID_AdjustHDDateTimeReq , 1 * 4 }, // 1 parameters each 4bytes Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -rb5a7852d2637f7969680fbd3d2c821a6a74a8ccd -r4c3c38d7f96cd63be776677bec5d1d0aa574611a --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision b5a7852d2637f7969680fbd3d2c821a6a74a8ccd) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -365,7 +365,7 @@ case Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp : ok = adjustUltrafiltrationEdit (vMessage, vData); break; // TODO : implement notify<>() case Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp : ok = adjustUltrafiltrationConfirm (vMessage, vData); break; // TODO : implement notify<>() - case Gui::GuiActionType::ID_TreatmentStartRsp : ok = notify (vMessage, vData, Gui::GuiActionType::ID_TreatmentStartRsp ); break; + case Gui::GuiActionType::ID_HDSerialNumberRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDSerialNumberRsp ); break; // Alarms case Gui::GuiActionType::ID_AlarmStatus : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmStatus ); break; @@ -421,6 +421,7 @@ // DG Response Messages case Gui::GuiActionType::ID_AdjustDGVersionsRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDGVersionsRsp ); break; case Gui::GuiActionType::ID_AdjustDGDateTimeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDGDateTimeRsp ); break; + case Gui::GuiActionType::ID_DGSerialNumberRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGSerialNumberRsp ); break; // unhandled messages: these will only be logged as received message Index: sources/gui/GuiGlobals.h =================================================================== diff -u -rb5a7852d2637f7969680fbd3d2c821a6a74a8ccd -r4c3c38d7f96cd63be776677bec5d1d0aa574611a --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision b5a7852d2637f7969680fbd3d2c821a6a74a8ccd) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -171,12 +171,15 @@ ID_AdjustVersionsReq = 0x1C00, // 28 ID_AdjustHDVersionsRsp = 0x1D00, // 29 ID_AdjustDGVersionsRsp = 0x1E00, // 30 + ID_HDSerialNumberRsp = 0x8700, // 135 + ID_DGSerialNumberRsp = 0x8800, // 136 // RTC ID_AdjustHDDateTimeReq = 0x6D00, // 109 ID_AdjustHDDateTimeRsp = 0x6E00, // 110 ID_AdjustDGDateTimeReq = 0x6F00, // 111 ID_AdjustDGDateTimeRsp = 0x7000, // 112 + }; enum class GuiActionsData_Enum /*: quint8 QML doesn't support*/ { Index: sources/model/MDGSerialNumberResponse.cpp =================================================================== diff -u --- sources/model/MDGSerialNumberResponse.cpp (revision 0) +++ sources/model/MDGSerialNumberResponse.cpp (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -0,0 +1,22 @@ +#include "MDGSerialNumberResponse.h" + +using namespace Model; + +QVariantList MDGSerialNumberResponse::parameters() const { + return { + _data.serialNumber + }; +} + +bool MDGSerialNumberResponse::fromByteArray(const QByteArray &vByteArray, int *) { + + _data.serialNumber = qPrintable(vByteArray); + return true; +} + + +MDGSerialNumberResponse::Data MDGSerialNumberResponse::data() const { + Data data; + data.serialNumber = _data.serialNumber; + return data; +} Index: sources/model/MDGSerialNumberResponse.h =================================================================== diff -u --- sources/model/MDGSerialNumberResponse.h (revision 0) +++ sources/model/MDGSerialNumberResponse.h (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -0,0 +1,64 @@ +#pragma once + +// Qt + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDGSerialNumberResponse class + * \details The DG serial number response data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x8800| 0x070 | Rsp | Y | DG | UI | DG Serial Number | + * + * | Payload || + * | || + * | #1:(bytes) | \ref Data::serialNumber + null term | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | DG | + * | infoText | SerialNumber | + * + */ +class MDGSerialNumberResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + QString serialNumber; + } _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("SerialNumber"); } + + struct Data { + QString serialNumber; + }; + + MDGSerialNumberResponse() {} + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MDGSerialNumberResponse::Data DGSerialNumberResponseData; Index: sources/model/MHDSerialNumberResponse.cpp =================================================================== diff -u --- sources/model/MHDSerialNumberResponse.cpp (revision 0) +++ sources/model/MHDSerialNumberResponse.cpp (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -0,0 +1,21 @@ +#include "MHDSerialNumberResponse.h" + +using namespace Model; + +QVariantList MHDSerialNumberResponse::parameters() const { + return { + _data.serialNumber + }; +} + +bool MHDSerialNumberResponse::fromByteArray(const QByteArray &vByteArray, int *) { + _data.serialNumber = qPrintable(vByteArray); + return true; +} + + +MHDSerialNumberResponse::Data MHDSerialNumberResponse::data() const { + Data data; + data.serialNumber = _data.serialNumber; + return data; +} Index: sources/model/MHDSerialNumberResponse.h =================================================================== diff -u --- sources/model/MHDSerialNumberResponse.h (revision 0) +++ sources/model/MHDSerialNumberResponse.h (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -0,0 +1,64 @@ +#pragma once + +// Qt + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MHDSerialNumberResponse class + * \details The HD serial number response data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x8700| 0x020 | Rsp | Y | HD | UI | HD Serial Number | + * + * | Payload || + * | || + * | #1:(bytes) | \ref Data::serialNumber + null term | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | HD | + * | infoText | SerialNumber | + * + */ +class MHDSerialNumberResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + QString serialNumber; + } _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("SerialNumber"); } + + struct Data { + QString serialNumber; + }; + + MHDSerialNumberResponse() {} + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MHDSerialNumberResponse::Data HDSerialNumberResponseData; Index: sources/model/MModel.h =================================================================== diff -u -r96b249bba7de97afe17cfbdaf02250dbded38f4b -r4c3c38d7f96cd63be776677bec5d1d0aa574611a --- sources/model/MModel.h (.../MModel.h) (revision 96b249bba7de97afe17cfbdaf02250dbded38f4b) +++ sources/model/MModel.h (.../MModel.h) (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -72,6 +72,8 @@ #include "MTreatmentAdjustDGVersionsResponse.h" #include "MAdjustHDDateTimeResponse.h" #include "MAdjustDGDateTimeResponse.h" +#include "MHDSerialNumberResponse.h" +#include "MDGSerialNumberResponse.h" /*! * \page MessageFlow Message interpretation Flow @@ -276,7 +278,9 @@ REGISTER_METATYPE( AdjustHDVersionsResponseData ) \ REGISTER_METATYPE( AdjustDGVersionsResponseData ) \ REGISTER_METATYPE( AdjustHDDateTimeResponseData ) \ - REGISTER_METATYPE( AdjustDGDateTimeResponseData ) + REGISTER_METATYPE( AdjustDGDateTimeResponseData ) \ + REGISTER_METATYPE( HDSerialNumberResponseData ) \ + REGISTER_METATYPE( DGSerialNumberResponseData ) //===============================================================================// /*! @@ -348,7 +352,9 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustHDVersionsResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDGVersionsResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustHDDateTimeResponseData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDGDateTimeResponseData ) + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDGDateTimeResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDSerialNumberResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGSerialNumberResponseData ) // /* Request */ ---------------------------------------------------------// #define ADJUST_TRANSMT_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ @@ -453,6 +459,8 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDGVersionsResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustHDDateTimeResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDGDateTimeResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( HDSerialNumberResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGSerialNumberResponseData ) \ #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS \ /* Request --------------------------------------------------------- */ \ @@ -593,6 +601,8 @@ ACTION_RECEIVE_SIGNAL( AdjustDGVersionsResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustHDDateTimeResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustDGDateTimeResponseData ) \ + ACTION_RECEIVE_SIGNAL( HDSerialNumberResponseData ) \ + ACTION_RECEIVE_SIGNAL( DGSerialNumberResponseData ) \ //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------// Index: sources/view/VDeviceInformation.cpp =================================================================== diff -u -rc3bf2cd135f9351e16eb0f4237f71a7be38a4ce4 -r4c3c38d7f96cd63be776677bec5d1d0aa574611a --- sources/view/VDeviceInformation.cpp (.../VDeviceInformation.cpp) (revision c3bf2cd135f9351e16eb0f4237f71a7be38a4ce4) +++ sources/view/VDeviceInformation.cpp (.../VDeviceInformation.cpp) (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -17,10 +17,16 @@ */ void VDeviceInformation::initConnections() { + // requests + ADJUST_VIEW_CONNECTION(AdjustVersionsRequestData); + + // responses ACTION_VIEW_CONNECTION(AdjustHDVersionsResponseData); ACTION_VIEW_CONNECTION(AdjustDGVersionsResponseData); - ADJUST_VIEW_CONNECTION(AdjustVersionsRequestData); + ACTION_VIEW_CONNECTION(HDSerialNumberResponseData); + ACTION_VIEW_CONNECTION(DGSerialNumberResponseData); + init(); } @@ -138,3 +144,25 @@ .arg(vData.mFPGAMinor) .arg(vData.mFPGALab )); } + + +/*! + * \brief VDeviceInformation::onActionReceive + * When the HD Serial number response is received + * \param vData - (HDSerialNumberResponseData) the version response + */ +void VDeviceInformation::onActionReceive(const HDSerialNumberResponseData &vData) +{ + mHDSerialNumber(vData.serialNumber); +} + +/*! + * \brief VDeviceInformation::onActionReceive + * When the DG serial number response is received + * \param vData - (DGSerialNumberResponseData) the version response + */ +void VDeviceInformation::onActionReceive(const DGSerialNumberResponseData &vData) +{ + mDGSerialNumber(vData.serialNumber); +} + Index: sources/view/VDeviceInformation.h =================================================================== diff -u -rc3bf2cd135f9351e16eb0f4237f71a7be38a4ce4 -r4c3c38d7f96cd63be776677bec5d1d0aa574611a --- sources/view/VDeviceInformation.h (.../VDeviceInformation.h) (revision c3bf2cd135f9351e16eb0f4237f71a7be38a4ce4) +++ sources/view/VDeviceInformation.h (.../VDeviceInformation.h) (revision 4c3c38d7f96cd63be776677bec5d1d0aa574611a) @@ -11,6 +11,8 @@ #include "main.h" #include "GuiController.h" #include "MTreatmentAdjustHDVersionsResponse.h" +#include "MHDSerialNumberResponse.h" +#include "MDGSerialNumberResponse.h" // forward declarations class tst_views; @@ -32,6 +34,8 @@ VIEW_DEC_CLASS(VDeviceInformation) VIEW_DEC_SLOT(AdjustHDVersionsResponseData) VIEW_DEC_SLOT(AdjustDGVersionsResponseData) +VIEW_DEC_SLOT(HDSerialNumberResponseData) +VIEW_DEC_SLOT(DGSerialNumberResponseData) protected: PROPERTY(QString, mUIVersion, "")