Index: denali.pro =================================================================== diff -u -rbcb57845e03fef70d9268623e93219cd160546ef -ra2c7aa348f7759e256b27791c4cbd7682b2c74d5 --- denali.pro (.../denali.pro) (revision bcb57845e03fef70d9268623e93219cd160546ef) +++ denali.pro (.../denali.pro) (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -117,7 +117,6 @@ \ # Controllers sources/ApplicationController.h \ sources/device/DeviceController.h \ - sources/model/hd/data/post/MHDDateTimeData.h \ sources/storage/Settings.h \ sources/storage/TreatmentLog.h \ sources/wifi/WifiInterface.h \ @@ -225,6 +224,7 @@ sources/model/hd/data/treatment/MTreatmentRecirculateData.h \ sources/model/hd/data/treatment/MTreatmentBloodPrimeData.h \ sources/model/hd/data/treatment/MTreatmentStopData.h \ + sources/model/hd/data/post/MHDRTCEpochData.h \ \ # ---------- Models - HD - Data - Treatment Log sources/model/hd/data/treatmentlog/MTreatmentLogAlarmData.h \ sources/model/hd/data/treatmentlog/MTreatmentLogAvrgeData.h \ @@ -388,7 +388,6 @@ \ # Controllers sources/ApplicationController.cpp \ sources/device/DeviceController.cpp \ - sources/model/hd/data/post/MHDDataTimeData.cpp \ sources/model/ui/data/MUIBloodPressureData.cpp \ sources/storage/Settings.cpp \ sources/storage/TreatmentLog.cpp \ @@ -485,6 +484,7 @@ sources/model/hd/data/treatment/MTreatmentRecirculateData.cpp \ sources/model/hd/data/treatment/MTreatmentBloodPrimeData.cpp \ sources/model/hd/data/treatment/MTreatmentStopData.cpp \ + sources/model/hd/data/post/MHDRTCEpochData.cpp \ \ # ---------- Models - HD - Data - Pre-Treatment sources/model/hd/data/pretreatment/MPreTreatmentDisposablesPrimeData.cpp \ sources/model/hd/data/pretreatment/MPreTreatmentSelfTestNoCartridgeData.cpp \ Index: sources/ApplicationPost.cpp =================================================================== diff -u -rbcb57845e03fef70d9268623e93219cd160546ef -ra2c7aa348f7759e256b27791c4cbd7682b2c74d5 --- sources/ApplicationPost.cpp (.../ApplicationPost.cpp) (revision bcb57845e03fef70d9268623e93219cd160546ef) +++ sources/ApplicationPost.cpp (.../ApplicationPost.cpp) (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -36,7 +36,6 @@ */ void ApplicationPost::start() { - QString postLogFileName = qApp->applicationDirPath() + "/" + Storage::POST_LOG; if (Storage::FileHandler::read(postLogFileName, _content)) { _isShaSum = checkShaSum (); Index: sources/canbus/MessageDispatcher.h =================================================================== diff -u -rbcb57845e03fef70d9268623e93219cd160546ef -ra2c7aa348f7759e256b27791c4cbd7682b2c74d5 --- sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision bcb57845e03fef70d9268623e93219cd160546ef) +++ sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -163,8 +163,6 @@ GuiActionType::ID_TreatmentLogAvrgeData , GuiActionType::ID_TreatmentLogAlarmData , GuiActionType::ID_TreatmentLogEventData , - // POST HD->UI - GuiActionType::ID_HDDateTimeData , }; public slots: Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -rbcb57845e03fef70d9268623e93219cd160546ef -ra2c7aa348f7759e256b27791c4cbd7682b2c74d5 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision bcb57845e03fef70d9268623e93219cd160546ef) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -64,7 +64,7 @@ {Gui::GuiActionType::ID_DGPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes {Gui::GuiActionType::ID_UIPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes {Gui::GuiActionType::ID_UIPostFinalResultHDReq , 0 * 4 }, // 0 parameters - {Gui::GuiActionType::ID_HDDateTimeData , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_HDRTCEpochData , 1 * 4 }, // 1 parameters each 4bytes // Service Mode {Gui::GuiActionType::ID_AdjustServiceModeReq , 0 * 4 }, // 0 parameters each 4bytes Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -rbcb57845e03fef70d9268623e93219cd160546ef -ra2c7aa348f7759e256b27791c4cbd7682b2c74d5 --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision bcb57845e03fef70d9268623e93219cd160546ef) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -432,7 +432,7 @@ 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; case Gui::GuiActionType::ID_UIPostFinalResultHDReq : ok = notify(vMessage, vData, Gui::GuiActionType::ID_UIPostFinalResultHDReq ); break; - case Gui::GuiActionType::ID_HDDateTimeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDDateTimeData ); break; + case Gui::GuiActionType::ID_HDRTCEpochData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDRTCEpochData ); break; // ----- Settings case Gui::GuiActionType::ID_AdjustServiceModeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustServiceModeRsp ); break; Index: sources/gui/GuiGlobals.h =================================================================== diff -u -rbcb57845e03fef70d9268623e93219cd160546ef -ra2c7aa348f7759e256b27791c4cbd7682b2c74d5 --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision bcb57845e03fef70d9268623e93219cd160546ef) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -115,7 +115,7 @@ ID_AdjustHDDateTimeRsp = 0x6E00, // 110 ID_AdjustDGDateTimeReq = 0x6F00, // 111 ID_AdjustDGDateTimeRsp = 0x7000, // 112 - ID_HDDateTimeData = 0x0A00, // 10 + ID_HDRTCEpochData = 0x0A00, // 10 // State Messages ID_HDOperationModeData = 0x2500, // 37 Index: sources/model/MModel.h =================================================================== diff -u -rbcb57845e03fef70d9268623e93219cd160546ef -ra2c7aa348f7759e256b27791c4cbd7682b2c74d5 --- sources/model/MModel.h (.../MModel.h) (revision bcb57845e03fef70d9268623e93219cd160546ef) +++ sources/model/MModel.h (.../MModel.h) (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -63,7 +63,7 @@ #include "MHDAirTrapData.h" #include "MHDBloodLeakData.h" #include "MHDAirBubbleData.h" -#include "MHDDateTimeData.h" +#include "MHDRTCEpochData.h" // Debugging Messages #include "MHDDebugText.h" @@ -278,7 +278,7 @@ REGISTER_METATYPE( DGPostFinalResultData ) \ REGISTER_METATYPE( AdjustUIPostFinalResultRequestData ) \ REGISTER_METATYPE( UIPostFinalResultHDRequestData ) \ - REGISTER_METATYPE( HDDateTimeData ) \ + REGISTER_METATYPE( HDRTCEpochData ) \ /* Devices */ \ REGISTER_METATYPE( DeviceBrightnessRequestData ) \ REGISTER_METATYPE( DeviceBrightnessResponseData ) \ @@ -470,7 +470,7 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGPostSingleResultData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGPostFinalResultData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, UIPostFinalResultHDRequestData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDDateTimeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDRTCEpochData ) \ /* */ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, SettingsData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDOperationModeData ) \ @@ -657,7 +657,7 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( HDPostFinalResultData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGPostSingleResultData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGPostFinalResultData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( HDDateTimeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( HDRTCEpochData ) \ /* The slot implementation is different in Dispatcher, App, Gui, so only signal is here. */ \ ACTION_RECEIVE_SIGNAL ( UIPostFinalResultHDRequestData ) \ \ @@ -945,7 +945,7 @@ ACTION_RECEIVE_SIGNAL( DGPostSingleResultData ) \ ACTION_RECEIVE_SIGNAL( DGPostFinalResultData ) \ ACTION_RECEIVE_SIGNAL( UIPostFinalResultHDRequestData ) \ - ACTION_RECEIVE_SIGNAL( HDDateTimeData ) \ + ACTION_RECEIVE_SIGNAL( HDRTCEpochData ) \ /* Received signals */ \ /* NO RESPONSE message model here */ \ ACTION_RECEIVE_SIGNAL( SettingsData ) \ Fisheye: Tag a2c7aa348f7759e256b27791c4cbd7682b2c74d5 refers to a dead (removed) revision in file `sources/model/hd/data/post/MHDDataTimeData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag a2c7aa348f7759e256b27791c4cbd7682b2c74d5 refers to a dead (removed) revision in file `sources/model/hd/data/post/MHDDateTimeData.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/model/hd/data/post/MHDRTCEpochData.cpp =================================================================== diff -u --- sources/model/hd/data/post/MHDRTCEpochData.cpp (revision 0) +++ sources/model/hd/data/post/MHDRTCEpochData.cpp (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -0,0 +1,41 @@ +/*! + * + * Copyright (c) 2020-2023 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 MHDRTCEpochData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 17-Apr-2021 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#include "MHDRTCEpochData.h" + +using namespace Model; + +QVariantList MHDRTCEpochData::parameters() const { + return { + _data.mEpoch.value + }; +} + +bool MHDRTCEpochData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mEpoch )) + return true ; + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MHDRTCEpochData::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MHDRTCEpochData::Data MHDRTCEpochData::data() const { + Data data; + data.mEpoch = _data.mEpoch .value; + return data; +} Index: sources/model/hd/data/post/MHDRTCEpochData.h =================================================================== diff -u --- sources/model/hd/data/post/MHDRTCEpochData.h (revision 0) +++ sources/model/hd/data/post/MHDRTCEpochData.h (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -0,0 +1,81 @@ +/*! + * + * Copyright (c) 2022-2023 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 MHDRTCEpochData.h + * \author (last) Behrouz NematiPour + * \date (last) 09-Mar-2022 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MHDRTCEpochData class + * \details The HD datetime data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0A00| 0x020 | 1 Hz | N | HD | UI | HD datetime Data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mEpoch | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | HD | + * | infoText | HDRTCEpoch | + * + */ +class MHDRTCEpochData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mEpoch; + } _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("HDRTCEpoch") ; } + + + struct Data { + quint32 mEpoch = 0; ///< HD datetime epoch + }; + + MHDRTCEpochData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MHDRTCEpochData::Data HDRTCEpochData; Index: sources/view/settings/VDateTime.cpp =================================================================== diff -u -r41887ec41419f06574e4c83a09ff7f7582aed247 -ra2c7aa348f7759e256b27791c4cbd7682b2c74d5 --- sources/view/settings/VDateTime.cpp (.../VDateTime.cpp) (revision 41887ec41419f06574e4c83a09ff7f7582aed247) +++ sources/view/settings/VDateTime.cpp (.../VDateTime.cpp) (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -30,9 +30,9 @@ ACTION_VIEW_CONNECTION(AdjustHDDateTimeResponseData); ACTION_VIEW_CONNECTION(AdjustDGDateTimeResponseData); + ACTION_VIEW_CONNECTION(HDRTCEpochData); ADJUST_VIEW_CONNECTION( AdjustHDDateTimeRequestData); ADJUST_VIEW_CONNECTION( AdjustDGDateTimeRequestData); - ACTION_VIEW_CONNECTION(HDDateTimeData); connect(&_process, SIGNAL( finished(int)), this, SLOT(onSetDateUIFinished(int))); @@ -82,7 +82,7 @@ _day .toInt()), QTime(_hour .toInt() , _minute .toInt())); - const QString dateTimeLocalStr = currentDateTimeLocal.toString(_UIDateTimeStringFormat); + const QString dateTimeLocalStr = currentDateTimeLocal.toString(_Settings.getDatetimeFormat()); // Get the current UTC datetime QDateTime currentDateTimeUTC(currentDateTimeLocal); @@ -249,7 +249,7 @@ * \details received response model data handler * \param vData - model data */ -void VDateTime::onActionReceive(const HDDateTimeData &vData) +void VDateTime::onActionReceive(const HDRTCEpochData &vData) { // Doing a single update of the HD-UI RTC sync on start-up static bool _hasDoneHDSyncRTC = false; @@ -260,10 +260,10 @@ QDateTime localDateTime = hdRTCTime.toLocalTime(); - QString newDateTimeString = localDateTime.toString(_UIDateTimeStringFormat); + QString newDateTimeString = localDateTime.toString(_Settings.getDatetimeFormat()); dateTimeUI(newDateTimeString); - //DEBUG: qDebug() << "Sync HD-UI RTC | HD Epoch: " << vData.mEpoch << " | HD datetime: " << hdRTCTime.toString(_UIDateTimeStringFormat) <<" | datetime : " << newDateTimeString; + //DEBUG: qDebug() << "Sync HD-UI RTC | HD Epoch: " << vData.mEpoch << " | HD datetime: " << hdRTCTime.toString(_Settings.getDatetimeFormat()) <<" | datetime : " << newDateTimeString; _hasDoneHDSyncRTC = true; // indicate HD-UI RTC sync'd } Index: sources/view/settings/VDateTime.h =================================================================== diff -u -rbcb57845e03fef70d9268623e93219cd160546ef -ra2c7aa348f7759e256b27791c4cbd7682b2c74d5 --- sources/view/settings/VDateTime.h (.../VDateTime.h) (revision bcb57845e03fef70d9268623e93219cd160546ef) +++ sources/view/settings/VDateTime.h (.../VDateTime.h) (revision a2c7aa348f7759e256b27791c4cbd7682b2c74d5) @@ -24,7 +24,7 @@ #include "VAdjustmentResponseBase.h" #include "MAdjustHDDateTimeResponse.h" #include "MAdjustDGDateTimeResponse.h" -#include "MHDDateTimeData.h" +#include "MHDRTCEpochData.h" // forward declarations @@ -64,10 +64,6 @@ void timerEvent(QTimerEvent *event) override; private: - // the accepted format of the Linux data command: - // example: 2021-03-16 16:24:00 - const char* _UIDateTimeStringFormat = "yyyy-MM-dd hh:mm:ss"; - QDateTime _currentDateTime ; int _timerInterval = 1000; // ms QProcess _process ; @@ -102,7 +98,7 @@ VIEW_DEC_CLASS(VDateTime) VIEW_DEC_SLOT (AdjustHDDateTimeResponseData) VIEW_DEC_SLOT (AdjustDGDateTimeResponseData) - VIEW_DEC_SLOT (HDDateTimeData) + VIEW_DEC_SLOT (HDRTCEpochData) void greeting(quint16 vMilitaryTime);