Index: AlarmMapping.csv =================================================================== diff -u -rcd7956150072dcb5264c891ee363074623052ead -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- AlarmMapping.csv (.../AlarmMapping.csv) (revision cd7956150072dcb5264c891ee363074623052ead) +++ AlarmMapping.csv (.../AlarmMapping.csv) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -5,10 +5,10 @@ 4,"HD Watchdog POST failure." 5,"DG Watchdog POST failure." 6,"UI communication POST failure.\nUI failed to communicate within a reasonable time after power up." - 7,"Real-time clock configuration error." + 7,"Alarm ID available for use." 8,"HD accelerometer failed POST." 9,"DG accelerometer failed POST." - 10,"RTC or MCU timer inaccurate." + 10,"Alarm ID available for use." 11,"DG heaters failed POST." 12,"HD firmware image integrity POST test failed." 13,"DG firmware image integrity POST test failed." @@ -41,9 +41,9 @@ 40,"Dialysis outlet pump failed motor off check.\nMeasured speed while commanded off." 41,"Dialysis outlet pump failed motor direction check.\nMeasured vs commanded." 42,"Dialysis outlet pump failed rotor speed check.\nMismatch with rotor and motor speeds." - 43,"Watchdog expired error.\nWatchdog was not \"pet\" within the appropriate time." + 43,"Alarm ID available for use." 44,"User interface communication timeout." - 45,"Too many bad CRCs detected on received system messages." + 45,"HD too many bad communications CRC." 46,"System message that required acknowledgment was not acknowledged." 47,"Ultrafiltration rate is too high error during treatment." 48,"Ultrafiltration volume accuracy error during treatment." @@ -142,7 +142,7 @@ 141,"Air trap fill timeout during treatment." 142,"Blood pump occlusion detected." 143,"DG dialysate temperature sensors out of range." - 144,"DG software configuration record invalid CRC." + 144,"Alarm ID available for use." 145,"Concentrate conductivity after adding acid out of range alarm." 146,"DG RTC or timer accuracy failure." 147,"Wait for the DG to produce dialysate." @@ -153,7 +153,7 @@ 152,"Inlet water pressure in low range." 153,"HD prime completed high priority alarm." 154,"EEPROM operations (read, write, erase) failure." - 155,"DG software configuration record invalid CRC." + 155,"Alarm ID available for use." 156,"HW usage data (treatment time in HD and total consumed water in DG) failure." 157,"DG chemical disinfect prime acid line timeout." 158,"Inlet water temperature is in the low range." @@ -171,8 +171,8 @@ 170,"HD syringe empty alarm." 171,"HD syringe pump occlusion alarm." 172,"HD syringe pump not enough Heparin alarm." - 173,"HD arterial air bubble detected alarm." - 174,"HD arterial air bubble detected rinseback alarm." + 173,"HD RTC configuration error." + 174,"HD RTC or timer accuracy failure." 175,"HD pump direction status error." 176,"HD active reservoir is full during treatment and DG not ready to switch reservoirs." 177,"DG software fault.\nSoftware found itself in an unexpected state." @@ -196,7 +196,7 @@ 195,"DG RO pump pressure out of range." 196,"DG temperature sensor error flag fault." 197,"DG temperature sensors ADC fault." - 198,"DG heaters cold junction temperature out of range." + 198,"Alarm ID available for use." 199,"DG heaters fault." 200,"DG thermistors/sensors temperature out of range." 201,"HD pre-treatment mode wet self-test lc vs FMD failure." @@ -206,7 +206,7 @@ 205,"Conductivity sensor fault." 206,"DG dialysate fill runs out of time." 207,"DG flow meter check failure alarm." - 208,"DG primary heater on with no flow time out." + 208,"Alarm ID available for use." 209,"DG drain circulation line timeout." 210,"HD battery pack detected an error." 211,"Blood sitting too long warning (>4 min)." @@ -231,7 +231,7 @@ 230,"HD prime dialysate bypass time out alarm." 231,"HD pre-treatment mode dry pressure self-test failure." 232,"HD pre-treatment mode wet self-test LC vs LC failure." - 233,"RTC battery low." + 233,"Alarm ID available for use." 234,"RTC (i.e read time) or RAM operations failure (read or write)." 235,"HD in treatment stopped sub-mode after rinseback completed (no escalation)." 236,"HD needs new cartridge to be installed." @@ -286,7 +286,7 @@ 285,"HD treatment recirculate timeout warning." 286,"HD treatment rinseback complete timeout warning." 287,"HD processor clock speed checks against FPGA clock failure." - 288,"DG trimmer heater on with flow timeout." + 288,"Alarm ID available for use." 289,"DG dialysate or concentrate caps not closed." 290,"DG flow too low while heater is on." 291,"Total number of alarms." Index: alarmMapping.sh =================================================================== diff -u -r79a6cfcb10472261f3ec26eaf0baf6f1245cd311 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- alarmMapping.sh (.../alarmMapping.sh) (revision 79a6cfcb10472261f3ec26eaf0baf6f1245cd311) +++ alarmMapping.sh (.../alarmMapping.sh) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -15,7 +15,7 @@ # ############################################################################ -BRANCH="develop" +BRANCH="staging" if ( test -n "$1" ); then BRANCH="$1" fi Index: denali.pro =================================================================== diff -u -r9abc1790bb39fb52bf5a2bd113bc8957e4a1fc30 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- denali.pro (.../denali.pro) (revision 9abc1790bb39fb52bf5a2bd113bc8957e4a1fc30) +++ denali.pro (.../denali.pro) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -135,10 +135,11 @@ sources/model/settings/MSettings.h \ sources/model/settings/MWifiNetwork.h \ sources/model/settings/MBluetooth.h \ + sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.h \ sources/model/dg/adjustment/settings/MAdjustDGSerialNumberResponse.h \ - sources/model/dg/adjustment/settings/MAdjustDGServiceResponse.h \ sources/model/hd/adjustment/settings/MAdjustHDSerialNumberResponse.h \ - sources/model/hd/adjustment/settings/MAdjustHDServiceResponse.h \ + sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.h \ + sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.h \ \ # ---------- Models - Alarm sources/model/hd/alarm/MAlarmStatusData.h \ sources/model/hd/alarm/MAlarmTriggered.h \ @@ -275,7 +276,8 @@ sources/view/settings/VNetworkModel.h \ sources/view/settings/VAdjustmentVersions.h \ sources/view/settings/VAdjustmentAlarmVolume.h \ - sources/view/settings/VAdjustmentService.h \ + sources/view/settings/VAdjustmentServiceMode.h \ + sources/view/settings/VAdjustmentServiceDates.h \ \ # ---------- Views - Alarm sources/view/hd/alarm/VAlarmStatus.h \ sources/view/hd/alarm/VAlarmActiveList.h \ @@ -398,10 +400,11 @@ \ # ---------- Models - settings sources/model/settings/MSettings.cpp \ sources/model/settings/MBluetooth.cpp \ + sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.cpp \ sources/model/dg/adjustment/settings/MAdjustDGSerialNumberResponse.cpp \ - sources/model/dg/adjustment/settings/MAdjustDGServiceResponse.cpp \ sources/model/hd/adjustment/settings/MAdjustHDSerialNumberResponse.cpp \ - sources/model/hd/adjustment/settings/MAdjustHDServiceResponse.cpp \ + sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.cpp \ + sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.cpp \ \ # ---------- Models - Alarm sources/model/hd/alarm/MAlarmStatusData.cpp \ sources/model/hd/alarm/MAlarmMapping.cpp \ @@ -533,7 +536,8 @@ sources/view/settings/VNetworkModel.cpp \ sources/view/settings/VAdjustmentVersions.cpp \ sources/view/settings/VAdjustmentAlarmVolume.cpp \ - sources/view/settings/VAdjustmentService.cpp \ + sources/view/settings/VAdjustmentServiceMode.cpp \ + sources/view/settings/VAdjustmentServiceDates.cpp \ \ # ---------- Views - HD - Adjustment sources/view/VAdjustmentResponseBase.cpp \ \ # ---------- Views - HD - Adjustment - common Index: denali.pro.user =================================================================== diff -u -r768259b3c00ee3fbc5ba04475763b43cfac76bfe -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- denali.pro.user (.../denali.pro.user) (revision 768259b3c00ee3fbc5ba04475763b43cfac76bfe) +++ denali.pro.user (.../denali.pro.user) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -1,6 +1,6 @@ - + EnvironmentId Index: sources/canbus/MessageDispatcher.cpp =================================================================== diff -u -r79a6cfcb10472261f3ec26eaf0baf6f1245cd311 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 79a6cfcb10472261f3ec26eaf0baf6f1245cd311) +++ sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -469,12 +469,23 @@ * \param vData - Data model contains the epoch time * \return void */ -void MessageDispatcher::onAdjustment(const AdjustServiceRequestData &) +void MessageDispatcher::onAdjustment(const AdjustServiceDatesRequestData &) { QVariantList mData; - onActionTransmit(GuiActionType::ID_AdjustServiceReq, mData); + onActionTransmit(GuiActionType::ID_AdjustServiceDatesReq, mData); } +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the Disposables Removal Confirm Adjustment Denali message. + * \param vData - Data model contains Service Mode adjustment. + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustServiceModeRequestData &) +{ + QVariantList mData; + onActionTransmit(GuiActionType::ID_AdjustServiceModeReq, mData); +} /*! * \brief MessageDispatcher::onAdjustment Index: sources/canbus/MessageDispatcher.h =================================================================== diff -u -r79a6cfcb10472261f3ec26eaf0baf6f1245cd311 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision 79a6cfcb10472261f3ec26eaf0baf6f1245cd311) +++ sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -146,9 +146,10 @@ GuiActionType::ID_AdjustDisinfectReq , GuiActionType::ID_AdjustChemicalConfirmReq , // Settings + GuiActionType::ID_AdjustServiceModeReq , GuiActionType::ID_AdjustVersionsUIReq , GuiActionType::ID_AdjustVersionsUIRsp , - GuiActionType::ID_AdjustServiceReq , + GuiActionType::ID_AdjustServiceDatesReq , GuiActionType::ID_AdjustHDDateTimeReq , GuiActionType::ID_AdjustDGDateTimeReq , // Treatment Log Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r79a6cfcb10472261f3ec26eaf0baf6f1245cd311 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 79a6cfcb10472261f3ec26eaf0baf6f1245cd311) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -60,6 +60,10 @@ {Gui::GuiActionType::ID_DGPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes {Gui::GuiActionType::ID_UIPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes + // Service Mode + {Gui::GuiActionType::ID_AdjustServiceModeReq , 0 * 4 }, // 0 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustServiceModeRsp , 2 * 4 }, // 2 parameters each 4bytes + // ----- {Gui::GuiActionType::ID_TreatmentTime , 3 * 4 }, // 3 parameters each 4bytes {Gui::GuiActionType::ID_BloodFlow , 8 * 4 }, // 8 parameters each 4bytes @@ -224,9 +228,9 @@ {Gui::GuiActionType::ID_AdjustVersionsUIRsp ,1+1+1+2+4 }, // variable length parameters // ---- Service Information - {Gui::GuiActionType::ID_AdjustServiceReq , 0 * 4 }, // 0 parameter - {Gui::GuiActionType::ID_AdjustServiceHDRsp , 2 * 4 }, // 2 parameters each 4bytes - {Gui::GuiActionType::ID_AdjustServiceDGRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustServiceDatesReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustServiceDatesHDRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustServiceDatesDGRsp , 2 * 4 }, // 2 parameters each 4bytes // ---- RTC {Gui::GuiActionType::ID_AdjustHDDateTimeReq , 1 * 4 }, // 1 parameters each 4bytes Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r7e503c5459ec77a2816d6c7789da9b206cedbe8a -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 7e503c5459ec77a2816d6c7789da9b206cedbe8a) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -243,11 +243,12 @@ // POST case Gui::GuiActionType::ID_UIPostFinalResultData : INTERPRET_TRANSMIT_MESSAGE(AdjustUIPostFinalResultRequestData ); break; // Settings + case Gui::GuiActionType::ID_AdjustServiceModeReq : INTERPRET_TRSMT_MT_MESSAGE(AdjustServiceModeRequestData ); break; case Gui::GuiActionType::ID_AdjustVersionsUIRsp : INTERPRET_TRANSMIT_MESSAGE(AdjustVersionsResponseData ); break; case Gui::GuiActionType::ID_AdjustVersionsUIReq : INTERPRET_TRANSMIT_MESSAGE(AdjustVersionsRequestData ); break; case Gui::GuiActionType::ID_AdjustHDDateTimeReq : INTERPRET_TRANSMIT_MESSAGE(AdjustHDDateTimeRequestData ); break; case Gui::GuiActionType::ID_AdjustDGDateTimeReq : INTERPRET_TRANSMIT_MESSAGE(AdjustDGDateTimeRequestData ); break; - case Gui::GuiActionType::ID_AdjustServiceReq : INTERPRET_TRSMT_MT_MESSAGE(AdjustServiceRequestData ); break; + case Gui::GuiActionType::ID_AdjustServiceDatesReq : INTERPRET_TRSMT_MT_MESSAGE(AdjustServiceDatesRequestData ); break; // Pre-Treatment case Gui::GuiActionType::ID_AdjustInitTreatmentReq : INTERPRET_TRANSMIT_MESSAGE(AdjustInitTreatmentRequestData ); break; case Gui::GuiActionType::ID_AdjustParametersValidationReq : INTERPRET_TRANSMIT_MESSAGE(AdjustParametersValidationRequestData ); break; @@ -438,10 +439,11 @@ case Gui::GuiActionType::ID_HDPostFinalResultData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDPostFinalResultData ); break; // ----- Settings + case Gui::GuiActionType::ID_AdjustServiceModeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustServiceModeRsp ); break; case Gui::GuiActionType::ID_AdjustVersionsHDReq : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustVersionsHDReq ); break; case Gui::GuiActionType::ID_AdjustVersionsHDRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustVersionsHDRsp ); break; case Gui::GuiActionType::ID_AdjustSerialHDRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustSerialHDRsp ); break; - case Gui::GuiActionType::ID_AdjustServiceHDRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustServiceHDRsp ); break; + case Gui::GuiActionType::ID_AdjustServiceDatesHDRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustServiceDatesHDRsp ); break; case Gui::GuiActionType::ID_AdjustHDDateTimeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustHDDateTimeRsp ); break; @@ -584,7 +586,7 @@ // DG Response Messages case Gui::GuiActionType::ID_AdjustVersionsDGRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustVersionsDGRsp ); break; case Gui::GuiActionType::ID_AdjustSerialDGRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustSerialDGRsp ); break; - case Gui::GuiActionType::ID_AdjustServiceDGRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustServiceDGRsp ); break; + case Gui::GuiActionType::ID_AdjustServiceDatesDGRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustServiceDatesDGRsp ); break; case Gui::GuiActionType::ID_AdjustDGDateTimeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDGDateTimeRsp ); break; // unhandled messages: these will only be logged as received message Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -r79a6cfcb10472261f3ec26eaf0baf6f1245cd311 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 79a6cfcb10472261f3ec26eaf0baf6f1245cd311) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -39,7 +39,8 @@ #include "VAlarmActiveList.h" #include "VPowerOff.h" #include "VAdjustmentVersions.h" -#include "VAdjustmentService.h" +#include "VAdjustmentServiceMode.h" +#include "VAdjustmentServiceDates.h" #include "VDateTime.h" #include "VNetworkModel.h" #include "VAdjustmentAlarmVolume.h" Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r301c0a2101eb9374145ae274c8d91460fc9a6a62 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 301c0a2101eb9374145ae274c8d91460fc9a6a62) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -86,6 +86,10 @@ ID_UIPostFinalResultData = 0x9200, // 146 // ----- Settings + // Service Mode + ID_AdjustServiceModeReq = 0xB000, // 176 + ID_AdjustServiceModeRsp = 0xB100, // 177 + // Version ID_AdjustVersionsUIReq = 0x1C00, // 28 ID_AdjustVersionsUIRsp = 0x9F00, // 159 // ID_UIVersionsTxr - UI Version response transmit @@ -97,9 +101,9 @@ // Service Information - ID_AdjustServiceReq = 0x8900, // 137 - ID_AdjustServiceHDRsp = 0x8A00, // 138 - ID_AdjustServiceDGRsp = 0x8C00, // 140 + ID_AdjustServiceDatesReq = 0x8900, // 137 + ID_AdjustServiceDatesHDRsp = 0x8A00, // 138 + ID_AdjustServiceDatesDGRsp = 0x8C00, // 140 // RTC ID_AdjustHDDateTimeReq = 0x6D00, // 109 Index: sources/gui/qml/components/ModalDialog.qml =================================================================== diff -u -r27cc308ff5113a9386899d3c8f8b29962a8498e1 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/gui/qml/components/ModalDialog.qml (.../ModalDialog.qml) (revision 27cc308ff5113a9386899d3c8f8b29962a8498e1) +++ sources/gui/qml/components/ModalDialog.qml (.../ModalDialog.qml) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -42,8 +42,8 @@ visible : false anchors.centerIn: parent - enter: Transition { NumberAnimation { property: "opacity"; from: 0.0; to: 1.0 } } - exit : Transition { NumberAnimation { property: "opacity"; from: 1.0; to: 0.0 } } + enter: Transition { NumberAnimation { property: "opacity"; from: 0.0; to: 1.0; duration: 200 } } + exit : Transition { NumberAnimation { property: "opacity"; from: 1.0; to: 0.0; duration: 200 } } modal: true Index: sources/gui/qml/main.qml =================================================================== diff -u -r79a6cfcb10472261f3ec26eaf0baf6f1245cd311 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/gui/qml/main.qml (.../main.qml) (revision 79a6cfcb10472261f3ec26eaf0baf6f1245cd311) +++ sources/gui/qml/main.qml (.../main.qml) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -38,7 +38,8 @@ // Settings import VSettings 0.1 import VAdjustmentVersions 0.1 -import VAdjustmentService 0.1 +import VAdjustmentServiceMode 0.1 +import VAdjustmentServiceDates 0.1 import VDateTime 0.1 import VNetworkModel 0.1 import VAdjustmentAlarmVolume 0.1 @@ -133,7 +134,8 @@ VDevice { id: vDevice } VSettings { id: vSettings } VAdjustmentVersions { id: vAdjustmentVersions } - VAdjustmentService { id: vAdjustmentService } + VAdjustmentServiceMode { id: vAdjustmentServiceMode } + VAdjustmentServiceDates { id: vAdjustmentServiceDates } VDateTime { id: vDateTime } VNetworkModel { id: vNetwork } VAdjustmentAlarmVolume { id: vAdjustmentAlarmVolume } Index: sources/gui/qml/pages/settings/SettingsStack.qml =================================================================== diff -u -rfd79fadd4f42518f80e2cf3c19eec5a516ed75d4 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision fd79fadd4f42518f80e2cf3c19eec5a516ed75d4) +++ sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -96,8 +96,8 @@ confirmVisible : false onVisibleChanged: { if ( visible ) { - vAdjustmentVersions.doAdjustment() - vAdjustmentService .doAdjustment() + vAdjustmentVersions .doAdjustment() + vAdjustmentServiceDates .doAdjustment() } } @@ -118,19 +118,19 @@ ] itemsValueLeftMargin: 300 itemsValue : [ - "" , - Qt.application.version , - vAdjustmentVersions.hdVerDevice , - vAdjustmentVersions.hdVerFPGA , - vAdjustmentVersions.hdSerial , - vAdjustmentVersions.dgVerDevice , - vAdjustmentVersions.dgVerFPGA , - vAdjustmentVersions.dgSerial , + "" , + Qt .application.version, + vAdjustmentVersions .hdVerDevice , + vAdjustmentVersions .hdVerFPGA , + vAdjustmentVersions .hdSerial , + vAdjustmentVersions .dgVerDevice , + vAdjustmentVersions .dgVerFPGA , + vAdjustmentVersions .dgSerial , "", - vAdjustmentService.hdLastServiceDate , - vAdjustmentService.hdNextServiceDate , - vAdjustmentService.dgLastServiceDate , - vAdjustmentService.dgNextServiceDate , + vAdjustmentServiceDates .hdLastServiceDate , + vAdjustmentServiceDates .hdNextServiceDate , + vAdjustmentServiceDates .dgLastServiceDate , + vAdjustmentServiceDates .dgNextServiceDate , ] itemsText : [ qsTr("Versions" ), // col1 title @@ -186,7 +186,7 @@ else { if ( password === vSettings.settings["Service Password"].keys[0] ) { _settingsHome.notificationText = "" - serviceMode = true + vAdjustmentServiceMode.doAdjustment() } else { _settingsHome.notificationText = qsTr("Incorrect service password") @@ -249,6 +249,18 @@ } } + Connections { target: vAdjustmentServiceMode + onAdjustmentTriggered : { + if ( vAdjustmentServiceMode.adjustment_Accepted ) { + _settingsHome.notificationText = "" + serviceMode = true + } + else { + _settingsHome.notificationText = vAdjustmentServiceMode.text() + } + } + } + onVisibleChanged: { if (visible) { _mainMenu.hidden = false Index: sources/model/MModel.h =================================================================== diff -u -r79a6cfcb10472261f3ec26eaf0baf6f1245cd311 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/model/MModel.h (.../MModel.h) (revision 79a6cfcb10472261f3ec26eaf0baf6f1245cd311) +++ sources/model/MModel.h (.../MModel.h) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -76,8 +76,9 @@ #include "MAdjustDGVersionsResponse.h" #include "MAdjustHDSerialNumberResponse.h" #include "MAdjustDGSerialNumberResponse.h" -#include "MAdjustHDServiceResponse.h" -#include "MAdjustDGServiceResponse.h" +#include "MAdjustHDServiceModeResponse.h" +#include "MAdjustHDServiceDatesResponse.h" +#include "MAdjustDGServiceDatesResponse.h" #include "MAdjustHDDateTimeResponse.h" #include "MAdjustDGDateTimeResponse.h" @@ -382,7 +383,8 @@ REGISTER_METATYPE( AdjustPressuresLimitsRequestData ) \ REGISTER_METATYPE( AdjustVersionsResponseData ) \ REGISTER_METATYPE( AdjustVersionsRequestData ) \ - REGISTER_METATYPE( AdjustServiceRequestData ) \ + REGISTER_METATYPE( AdjustServiceModeRequestData ) \ + REGISTER_METATYPE( AdjustServiceDatesRequestData ) \ REGISTER_METATYPE( AdjustHDDateTimeRequestData ) \ REGISTER_METATYPE( AdjustDGDateTimeRequestData ) \ REGISTER_METATYPE( AdjustHDAlarmVolumeRequestData ) \ @@ -421,8 +423,9 @@ REGISTER_METATYPE( AdjustVersionsDGResponseData ) \ REGISTER_METATYPE( AdjustSerialNumberHDResponseData ) \ REGISTER_METATYPE( AdjustSerialNumberDGResponseData ) \ - REGISTER_METATYPE( AdjustServiceHDResponseData ) \ - REGISTER_METATYPE( AdjustServiceDGResponseData ) \ + REGISTER_METATYPE( AdjustServiceModeResponseData ) \ + REGISTER_METATYPE( AdjustServiceDatesHDResponseData ) \ + REGISTER_METATYPE( AdjustServiceDatesDGResponseData ) \ REGISTER_METATYPE( AdjustHDDateTimeResponseData ) \ REGISTER_METATYPE( AdjustDGDateTimeResponseData ) \ /* Alarms - Active List Response */ \ @@ -547,8 +550,9 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustVersionsDGResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustSerialNumberHDResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustSerialNumberDGResponseData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustServiceHDResponseData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustServiceDGResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustServiceModeResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustServiceDatesHDResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustServiceDatesDGResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustHDDateTimeResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDGDateTimeResponseData ) \ /* Alarms - Active List Response */ \ @@ -575,7 +579,8 @@ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustVersionsResponseData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustVersionsRequestData ) \ - ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustServiceRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustServiceModeRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustServiceDatesRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustHDDateTimeRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustDGDateTimeRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustHDAlarmVolumeRequestData ) \ @@ -724,8 +729,9 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustVersionsDGResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustSerialNumberHDResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustSerialNumberDGResponseData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustServiceHDResponseData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustServiceDGResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustServiceModeResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustServiceDatesHDResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustServiceDatesDGResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustHDDateTimeResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDGDateTimeResponseData ) \ /* Alarms - Active List Response */ \ @@ -771,7 +777,8 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustVersionsResponseData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustVersionsRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustServiceRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustServiceModeRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustServiceDatesRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustHDDateTimeRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustDGDateTimeRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustHDAlarmVolumeRequestData ) \ @@ -821,7 +828,8 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustVersionsResponseData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustVersionsRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustServiceRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustServiceModeRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustServiceDatesRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustHDDateTimeRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustDGDateTimeRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustHDAlarmVolumeRequestData ) \ @@ -871,7 +879,8 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustTreatmentEndRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustVersionsResponseData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustVersionsRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustServiceRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustServiceModeRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustServiceDatesRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustHDDateTimeRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustDGDateTimeRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustHDAlarmVolumeRequestData ) \ @@ -985,8 +994,9 @@ ACTION_RECEIVE_SIGNAL( AdjustVersionsDGResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustSerialNumberHDResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustSerialNumberDGResponseData ) \ - ACTION_RECEIVE_SIGNAL( AdjustServiceHDResponseData ) \ - ACTION_RECEIVE_SIGNAL( AdjustServiceDGResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustServiceModeResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustServiceDatesHDResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustServiceDatesDGResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustHDDateTimeResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustDGDateTimeResponseData ) \ /* Alarms */ \ Index: sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.cpp =================================================================== diff -u --- sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.cpp (revision 0) +++ sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.cpp (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,44 @@ +/*! + * + * Copyright (c) 2021-2022 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 MAdjustDGServiceDatesResponse.cpp + * \author (last) Behrouz NematiPour + * \date (last) 13-Jun-2021 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#include "MAdjustDGServiceDatesResponse.h" + +using namespace Model; + +QVariantList MAdjustServiceDatesDGResponse::parameters() const { return { + _data.mLastServiceDateEpoch .value, + _data.mServiceIntervalSeconds .value, + }; +} + +bool MAdjustServiceDatesDGResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mLastServiceDateEpoch )) + if (GetValue(vByteArray, index, _data.mServiceIntervalSeconds )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MAdjustDGDateTimeResponse::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +AdjustServiceDatesDGResponseData MAdjustServiceDatesDGResponse::data() const { + Data data; + data.mLastServiceDateEpoch = _data.mLastServiceDateEpoch .value; + data.mServiceIntervalSeconds = _data.mServiceIntervalSeconds .value; + return data; +} Index: sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.h =================================================================== diff -u --- sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.h (revision 0) +++ sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.h (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,82 @@ +/*! + * + * Copyright (c) 2021-2022 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 MAdjustDGServiceResponse.h + * \author (last) Behrouz NematiPour + * \date (last) 13-Jun-2021 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustServiceDatesDGResponse class + * \details The DG Date and Time adjustment response model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:----:|:------:|:----:|:---:|:---:|:----:|:-----------:| + * |0x8A00| 0x020 | Rsp | Y | DG | UI | Service Dates | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mLastServiceDateEpoch | + * | #2:(U32) | \ref Data::mServiceIntervalSeconds | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | DG | + * | infoText | ServiceDates | + * + */ +class MAdjustServiceDatesDGResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mLastServiceDateEpoch ; + Types::U32 mServiceIntervalSeconds; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eEvent ; } + Unit_Enum unitText () const override { return Unit_Enum::eDG ; } + QString infoText () const override { return QString("ServiceDates") ; } + + struct Data { + quint32 mLastServiceDateEpoch = 0; + quint32 mServiceIntervalSeconds = 0; + }; + + MAdjustServiceDatesDGResponse () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; + +} + +typedef Model::MAdjustServiceDatesDGResponse::Data AdjustServiceDatesDGResponseData; Fisheye: Tag 2d0bacfbe1b70055247eb40743405a5f9acb15e3 refers to a dead (removed) revision in file `sources/model/dg/adjustment/settings/MAdjustDGServiceResponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 2d0bacfbe1b70055247eb40743405a5f9acb15e3 refers to a dead (removed) revision in file `sources/model/dg/adjustment/settings/MAdjustDGServiceResponse.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/model/hd/adjustment/settings/MAdjustHDRequests.h =================================================================== diff -u -r79a6cfcb10472261f3ec26eaf0baf6f1245cd311 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/model/hd/adjustment/settings/MAdjustHDRequests.h (.../MAdjustHDRequests.h) (revision 79a6cfcb10472261f3ec26eaf0baf6f1245cd311) +++ sources/model/hd/adjustment/settings/MAdjustHDRequests.h (.../MAdjustHDRequests.h) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -159,8 +159,9 @@ static Can::Can_Id canid () { return Can::Can_Id::eChlid_UI_HD; } }; + /*! - * \brief The MAdjustServiceReq class + * \brief The MAdjustServiceDatesReq class * \details The DG/HD versions request model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | @@ -172,7 +173,7 @@ * | (N/A) || * */ -class MAdjustServiceReq : public MModel { +class MAdjustServiceDatesReq : public MModel { public: // disabled coco begin validated : Has been validated manually. @@ -190,6 +191,36 @@ /*! + * \brief The MAdjustServiceModeReq class + * \details The HD Service Mode request model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| + * | 0xB000 | 0x100 | Req | Y | UI | HD | Service Mode Request | + * + * | Payload || + * | || + * | (N/A) || + * + */ +class MAdjustServiceModeReq : public MModel { +public: + + // disabled coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + QString toString() { + return toString({}); + } + // disabled coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString("ServiceMode", vParameters); + } + + static Can::Can_Id canid () { return Can::eChlid_UI_HD; } +}; + + +/*! * \brief The MAdjustUIPostFinalResultReq class * \details The UI power on self test result model * @@ -219,9 +250,10 @@ }; } +typedef Model:: MAdjustServiceModeReq AdjustServiceModeRequestData; typedef Model:: MAdjustVersionsReq AdjustVersionsRequestData; typedef Model:: MAdjustVersionsRsp AdjustVersionsResponseData; -typedef Model:: MAdjustServiceReq AdjustServiceRequestData; +typedef Model:: MAdjustServiceDatesReq AdjustServiceDatesRequestData; typedef Model:: MAdjustHDDateTimeReq AdjustHDDateTimeRequestData; typedef Model:: MAdjustHDAlarmVolumeReq AdjustHDAlarmVolumeRequestData; typedef Model::MAdjustUIPostFinalResultReq AdjustUIPostFinalResultRequestData; Index: sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.cpp =================================================================== diff -u --- sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.cpp (revision 0) +++ sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.cpp (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,45 @@ +/*! + * + * Copyright (c) 2021-2022 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 MAdjustHDServiceDatesResponse.cpp + * \author (last) Behrouz NematiPour + * \date (last) 13-Jun-2021 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#include "MAdjustHDServiceDatesResponse.h" + +using namespace Model; + +QVariantList MAdjustServiceDatesHDResponse::parameters() const { + return { + _data.mLastServiceDateEpoch .value, + _data.mServiceIntervalSeconds .value, + }; +} + +bool MAdjustServiceDatesHDResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mLastServiceDateEpoch )) + if (GetValue(vByteArray, index, _data.mServiceIntervalSeconds )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MAdjustHDDateTimeResponse::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +AdjustServiceDatesHDResponseData MAdjustServiceDatesHDResponse::data() const { + Data data; + data.mLastServiceDateEpoch = _data.mLastServiceDateEpoch .value; + data.mServiceIntervalSeconds = _data.mServiceIntervalSeconds .value; + return data; +} Index: sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.h =================================================================== diff -u --- sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.h (revision 0) +++ sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.h (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,81 @@ +/*! + * + * Copyright (c) 2021-2022 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 MAdjustHDServiceResponse.h + * \author (last) Behrouz NematiPour + * \date (last) 13-Jun-2021 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustServiceDatesHDResponse class + * \details The HD Date and Time adjustment response model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:----:|:------:|:----:|:---:|:---:|:----:|:-----------:| + * |0x8A00| 0x020 | Rsp | Y | HD | UI | Service Dates | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mLastServiceDateEpoch | + * | #2:(U32) | \ref Data::mServiceIntervalSeconds | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | HD | + * | infoText | ServiceDates | + * + */ +class MAdjustServiceDatesHDResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mLastServiceDateEpoch ; + Types::U32 mServiceIntervalSeconds ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eEvent ; } + Unit_Enum unitText () const override { return Unit_Enum::eHD ; } + QString infoText () const override { return QString("ServiceDates") ; } + + struct Data { + quint32 mLastServiceDateEpoch = 0; + quint32 mServiceIntervalSeconds = 0; + }; + + MAdjustServiceDatesHDResponse () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MAdjustServiceDatesHDResponse::Data AdjustServiceDatesHDResponseData; Index: sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.cpp =================================================================== diff -u --- sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.cpp (revision 0) +++ sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.cpp (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,45 @@ +/*! + * + * Copyright (c) 2021-2022 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 MAdjustHDServiceModeResponse.cpp + * \author (last) Behrouz NematiPour + * \date (last) 13-Jun-2021 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#include "MAdjustHDServiceModeResponse.h" + +using namespace Model; + +QVariantList MAdjustServiceModeResponse::parameters() const { + return { + _data.mAccepted .value, + _data.mReason .value, + }; +} + +bool MAdjustServiceModeResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mAccepted )) + if (GetValue(vByteArray, index, _data.mReason )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MAdjustHDDateTimeResponse::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +AdjustServiceModeResponseData MAdjustServiceModeResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mReason = _data.mReason .value; + return data; +} Index: sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.h =================================================================== diff -u --- sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.h (revision 0) +++ sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.h (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,81 @@ +/*! + * + * Copyright (c) 2021-2022 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 MAdjustHDServiceResponse.h + * \author (last) Behrouz NematiPour + * \date (last) 13-Jun-2021 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustServiceModeResponse class + * \details The HD Date and Time adjustment response model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:----:|:------:|:----:|:---:|:---:|:----:|:-----------:| + * |0xB100| 0x020 | Rsp | Y | HD | UI | Service Mode | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mLastServiceDateEpoch | + * | #2:(U32) | \ref Data::mServiceIntervalSeconds | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | HD | + * | infoText | ServiceMode | + * + */ +class MAdjustServiceModeResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAccepted ; + Types::U32 mReason ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eEvent ; } + Unit_Enum unitText () const override { return Unit_Enum::eHD ; } + QString infoText () const override { return QString("ServiceMode") ; } + + struct Data { + bool mAccepted = true; /*!< Accepted value of type quint32 extracted out */ + quint32 mReason = 0 ; /*!< Reason value of type quint32 extracted out */ + }; + + MAdjustServiceModeResponse () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MAdjustServiceModeResponse::Data AdjustServiceModeResponseData; Fisheye: Tag 2d0bacfbe1b70055247eb40743405a5f9acb15e3 refers to a dead (removed) revision in file `sources/model/hd/adjustment/settings/MAdjustHDServiceResponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 2d0bacfbe1b70055247eb40743405a5f9acb15e3 refers to a dead (removed) revision in file `sources/model/hd/adjustment/settings/MAdjustHDServiceResponse.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/model/hd/alarm/MAlarmMapping.cpp =================================================================== diff -u -rcd7956150072dcb5264c891ee363074623052ead -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision cd7956150072dcb5264c891ee363074623052ead) +++ sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -7,7 +7,7 @@ * * \file MAlarmMapping.cpp * \author (last) Behrouz NematiPour - * \date (last) 31-May-2022 + * \date (last) 01-Jun-2022 * \author (original) Behrouz NematiPour * \date (original) 03-May-2021 * @@ -40,10 +40,10 @@ /*0004*/case GuiAlarmID::ALARM_ID_HD_WATCHDOG_POST_TEST_FAILED : { result = QObject::tr("HD Watchdog POST failure." ); break; } /* 4*/ /*0005*/case GuiAlarmID::ALARM_ID_DG_WATCHDOG_POST_TEST_FAILED : { result = QObject::tr("DG Watchdog POST failure." ); break; } /* 5*/ /*0006*/case GuiAlarmID::ALARM_ID_UI_COMM_POST_FAILED : { result = QObject::tr("UI communication POST failure.\nUI failed to communicate within a reasonable time after power up." ); break; } /* 6*/ -/*0007*/case GuiAlarmID::ALARM_ID_RTC_CONFIG_ERROR : { result = QObject::tr("Real-time clock configuration error." ); break; } /* 7*/ +/*0007*/case GuiAlarmID::ALARM_ID__AVAILABLE_1 : { result = QObject::tr("Alarm ID available for use." ); break; } /* 7*/ /*0008*/case GuiAlarmID::ALARM_ID_HD_ACCELEROMETER_SELF_TEST_FAILURE : { result = QObject::tr("HD accelerometer failed POST." ); break; } /* 8*/ /*0009*/case GuiAlarmID::ALARM_ID_DG_ACCELEROMETER_SELF_TEST_FAILURE : { result = QObject::tr("DG accelerometer failed POST." ); break; } /* 9*/ -/*0010*/case GuiAlarmID::ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE : { result = QObject::tr("RTC or MCU timer inaccurate." ); break; } /* 10*/ +/*0010*/case GuiAlarmID::ALARM_ID__AVAILABLE_2 : { result = QObject::tr("Alarm ID available for use." ); break; } /* 10*/ /*0011*/case GuiAlarmID::ALARM_ID_DG_HEATERS_SELF_TEST_FAILURE : { result = QObject::tr("DG heaters failed POST." ); break; } /* 11*/ /*0012*/case GuiAlarmID::ALARM_ID_HD_INTEGRITY_POST_TEST_FAILED : { result = QObject::tr("HD firmware image integrity POST test failed." ); break; } /* 12*/ /*0013*/case GuiAlarmID::ALARM_ID_DG_INTEGRITY_POST_TEST_FAILED : { result = QObject::tr("DG firmware image integrity POST test failed." ); break; } /* 13*/ @@ -76,9 +76,9 @@ /*0040*/case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_OFF_CHECK : { result = QObject::tr("Dialysis outlet pump failed motor off check.\nMeasured speed while commanded off." ); break; } /* 40*/ /*0041*/case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK : { result = QObject::tr("Dialysis outlet pump failed motor direction check.\nMeasured vs commanded." ); break; } /* 41*/ /*0042*/case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Dialysis outlet pump failed rotor speed check.\nMismatch with rotor and motor speeds." ); break; } /* 42*/ -/*0043*/case GuiAlarmID::ALARM_ID_WATCHDOG_EXPIRED : { result = QObject::tr("Watchdog expired error.\nWatchdog was not \"pet\" within the appropriate time." ); break; } /* 43*/ +/*0043*/case GuiAlarmID::ALARM_ID__AVAILABLE_3 : { result = QObject::tr("Alarm ID available for use." ); break; } /* 43*/ /*0044*/case GuiAlarmID::ALARM_ID_UI_COMM_TIMEOUT : { result = QObject::tr("User interface communication timeout." ); break; } /* 44*/ -/*0045*/case GuiAlarmID::ALARM_ID_COMM_TOO_MANY_BAD_CRCS : { result = QObject::tr("Too many bad CRCs detected on received system messages." ); break; } /* 45*/ +/*0045*/case GuiAlarmID::ALARM_ID_HD_COMM_TOO_MANY_BAD_CRCS : { result = QObject::tr("HD too many bad communications CRC." ); break; } /* 45*/ /*0046*/case GuiAlarmID::ALARM_ID_CAN_MESSAGE_NOT_ACKED : { result = QObject::tr("System message that required acknowledgment was not acknowledged." ); break; } /* 46*/ /*0047*/case GuiAlarmID::ALARM_ID_UF_RATE_TOO_HIGH_ERROR : { result = QObject::tr("Ultrafiltration rate is too high error during treatment." ); break; } /* 47*/ /*0048*/case GuiAlarmID::ALARM_ID_UF_VOLUME_ACCURACY_ERROR : { result = QObject::tr("Ultrafiltration volume accuracy error during treatment." ); break; } /* 48*/ @@ -177,7 +177,7 @@ /*0141*/case GuiAlarmID::ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT : { result = QObject::tr("Air trap fill timeout during treatment." ); break; } /* 141*/ /*0142*/case GuiAlarmID::ALARM_ID_OCCLUSION_BLOOD_PUMP : { result = QObject::tr("Blood pump occlusion detected." ); break; } /* 142*/ /*0143*/case GuiAlarmID::ALARM_ID_DG_DIALYSATE_TEMPERATURE_SENSORS_OUT_OF_RANGE : { result = QObject::tr("DG dialysate temperature sensors out of range." ); break; } /* 143*/ -/*0144*/case GuiAlarmID::ALARM_ID_DG_SW_CONFIG_RECORD_INVALID_CRC : { result = QObject::tr("DG software configuration record invalid CRC." ); break; } /* 144*/ +/*0144*/case GuiAlarmID::ALARM_ID__AVAILABLE_5 : { result = QObject::tr("Alarm ID available for use." ); break; } /* 144*/ /*0145*/case GuiAlarmID::ALARM_ID_ACID_CONDUCTIVITY_OUT_OF_RANGE : { result = QObject::tr("Concentrate conductivity after adding acid out of range alarm." ); break; } /* 145*/ /*0146*/case GuiAlarmID::ALARM_ID_DG_RTC_OR_TIMER_ACCURACY_FAILURE : { result = QObject::tr("DG RTC or timer accuracy failure." ); break; } /* 146*/ /*0147*/case GuiAlarmID::ALARM_ID_CREATING_DIALYSATE_PLEASE_WAIT : { result = QObject::tr("Wait for the DG to produce dialysate." ); break; } /* 147*/ @@ -188,7 +188,7 @@ /*0152*/case GuiAlarmID::ALARM_ID_INLET_WATER_PRESSURE_IN_LOW_RANGE : { result = QObject::tr("Inlet water pressure in low range." ); break; } /* 152*/ /*0153*/case GuiAlarmID::ALARM_ID_PRIME_COMPLETED_HIGH : { result = QObject::tr("HD prime completed high priority alarm." ); break; } /* 153*/ /*0154*/case GuiAlarmID::ALARM_ID_NVDATA_EEPROM_OPS_FAILURE : { result = QObject::tr("EEPROM operations (read, write, erase) failure." ); break; } /* 154*/ -/*0155*/case GuiAlarmID::ALARM_ID_HD_SW_CONFIG_RECORD_INVALID_CRC : { result = QObject::tr("DG software configuration record invalid CRC." ); break; } /* 155*/ +/*0155*/case GuiAlarmID::ALARM_ID__AVAILABLE_6 : { result = QObject::tr("Alarm ID available for use." ); break; } /* 155*/ /*0156*/case GuiAlarmID::ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR : { result = QObject::tr("HW usage data (treatment time in HD and total consumed water in DG) failure." ); break; } /* 156*/ /*0157*/case GuiAlarmID::ALARM_ID_DG_CHEM_DISINFECT_PRIME_ACID_LINE_TIME_OUT : { result = QObject::tr("DG chemical disinfect prime acid line timeout." ); break; } /* 157*/ /*0158*/case GuiAlarmID::ALARM_ID_INLET_WATER_TEMPERATURE_IN_LOW_RANGE : { result = QObject::tr("Inlet water temperature is in the low range." ); break; } /* 158*/ @@ -206,8 +206,8 @@ /*0170*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_EMPTY : { result = QObject::tr("HD syringe empty alarm." ); break; } /* 170*/ /*0171*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_OCCLUSION : { result = QObject::tr("HD syringe pump occlusion alarm." ); break; } /* 171*/ /*0172*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_NOT_ENOUGH_HEPARIN_ALARM : { result = QObject::tr("HD syringe pump not enough Heparin alarm." ); break; } /* 172*/ -/*0173*/case GuiAlarmID::ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED : { result = QObject::tr("HD arterial air bubble detected alarm." ); break; } /* 173*/ -/*0174*/case GuiAlarmID::ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED_RINSEBACK : { result = QObject::tr("HD arterial air bubble detected rinseback alarm." ); break; } /* 174*/ +/*0173*/case GuiAlarmID::ALARM_ID_HD_RTC_CONFIG_ERROR : { result = QObject::tr("HD RTC configuration error." ); break; } /* 173*/ +/*0174*/case GuiAlarmID::ALARM_ID_HD_RTC_OR_TIMER_ACCURACY_FAILURE : { result = QObject::tr("HD RTC or timer accuracy failure." ); break; } /* 174*/ /*0175*/case GuiAlarmID::ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR : { result = QObject::tr("HD pump direction status error." ); break; } /* 175*/ /*0176*/case GuiAlarmID::ALARM_ID_HD_RESERVOIR_FULL_AND_DG_NOT_READY_TO_SWITCH : { result = QObject::tr("HD active reservoir is full during treatment and DG not ready to switch reservoirs." ); break; } /* 176*/ /*0177*/case GuiAlarmID::ALARM_ID_DG_SOFTWARE_FAULT : { result = QObject::tr("DG software fault.\nSoftware found itself in an unexpected state." ); break; } /* 177*/ @@ -231,7 +231,7 @@ /*0195*/case GuiAlarmID::ALARM_ID_RO_PUMP_PRESSURE_OUT_OF_RANGE : { result = QObject::tr("DG RO pump pressure out of range." ); break; } /* 195*/ /*0196*/case GuiAlarmID::ALARM_ID_DG_TEMPERATURE_SENSOR_FAULT : { result = QObject::tr("DG temperature sensor error flag fault." ); break; } /* 196*/ /*0197*/case GuiAlarmID::ALARM_ID_DG_TEMPERATURE_SENSORS_ADC_FAULT : { result = QObject::tr("DG temperature sensors ADC fault." ); break; } /* 197*/ -/*0198*/case GuiAlarmID::ALARM_ID_DG_HEATERS_NEGATIVE_COLD_JUNCTION_TEMPERATURE : { result = QObject::tr("DG heaters cold junction temperature out of range." ); break; } /* 198*/ +/*0198*/case GuiAlarmID::ALARM_ID__AVAILABLE_10 : { result = QObject::tr("Alarm ID available for use." ); break; } /* 198*/ /*0199*/case GuiAlarmID::ALARM_ID_DG_HEATERS_FAULT : { result = QObject::tr("DG heaters fault." ); break; } /* 199*/ /*0200*/case GuiAlarmID::ALARM_ID_DG_THERMISTORS_TEMPERATURE_OUT_OF_RANGE : { result = QObject::tr("DG thermistors/sensors temperature out of range." ); break; } /* 200*/ /*0201*/case GuiAlarmID::ALARM_ID_PRE_TREATMENT_WET_FLOW_TEST_FAILURE : { result = QObject::tr("HD pre-treatment mode wet self-test lc vs FMD failure." ); break; } /* 201*/ @@ -241,7 +241,7 @@ /*0205*/case GuiAlarmID::ALARM_ID_CONDUCTIVITY_SENSOR_FAULT : { result = QObject::tr("Conductivity sensor fault." ); break; } /* 205*/ /*0206*/case GuiAlarmID::ALARM_ID_DG_DIALYSATE_FILL_OUT_OF_TIME : { result = QObject::tr("DG dialysate fill runs out of time." ); break; } /* 206*/ /*0207*/case GuiAlarmID::ALARM_ID_DG_FLOW_METER_CHECK_FAILURE : { result = QObject::tr("DG flow meter check failure alarm." ); break; } /* 207*/ -/*0208*/case GuiAlarmID::ALARM_ID_DG_PRIMARY_HEATER_ON_WITH_NO_FLOW_TIMEOUT : { result = QObject::tr("DG primary heater on with no flow time out." ); break; } /* 208*/ +/*0208*/case GuiAlarmID::ALARM_ID__AVAILABLE_7 : { result = QObject::tr("Alarm ID available for use." ); break; } /* 208*/ /*0209*/case GuiAlarmID::ALARM_ID_DG_DRAIN_CIRCULATION_LINE_TIMEOUT : { result = QObject::tr("DG drain circulation line timeout." ); break; } /* 209*/ /*0210*/case GuiAlarmID::ALARM_ID_HD_BATTERY_PACK_ERROR_DETECTED : { result = QObject::tr("HD battery pack detected an error." ); break; } /* 210*/ /*0211*/case GuiAlarmID::ALARM_ID_BLOOD_SITTING_WARNING : { result = QObject::tr("Blood sitting too long warning (>4 min)." ); break; } /* 211*/ @@ -266,7 +266,7 @@ /*0230*/case GuiAlarmID::ALARM_ID_PRIME_DIALYSATE_BYPASS_TIME_OUT : { result = QObject::tr("HD prime dialysate bypass time out alarm." ); break; } /* 230*/ /*0231*/case GuiAlarmID::ALARM_ID_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE : { result = QObject::tr("HD pre-treatment mode dry pressure self-test failure." ); break; } /* 231*/ /*0232*/case GuiAlarmID::ALARM_ID_PRE_TREATMENT_WET_LC_TEST_FAILURE : { result = QObject::tr("HD pre-treatment mode wet self-test LC vs LC failure." ); break; } /* 232*/ -/*0233*/case GuiAlarmID::ALARM_ID_RTC_BATTERY_LOW : { result = QObject::tr("RTC battery low." ); break; } /* 233*/ +/*0233*/case GuiAlarmID::ALARM_ID__AVAILABLE_8 : { result = QObject::tr("Alarm ID available for use." ); break; } /* 233*/ /*0234*/case GuiAlarmID::ALARM_ID_RTC_RAM_OPS_ERROR : { result = QObject::tr("RTC (i.e read time) or RAM operations failure (read or write)." ); break; } /* 234*/ /*0235*/case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_AFTER_RINSEBACK : { result = QObject::tr("HD in treatment stopped sub-mode after rinseback completed (no escalation)." ); break; } /* 235*/ /*0236*/case GuiAlarmID::ALARM_ID_INSTALL_NEW_CARTRIDGE : { result = QObject::tr("HD needs new cartridge to be installed." ); break; } /* 236*/ @@ -321,7 +321,7 @@ /*0285*/case GuiAlarmID::ALARM_ID_HD_TREATMENT_RECIRC_TIMEOUT_WARNING : { result = QObject::tr("HD treatment recirculate timeout warning." ); break; } /* 285*/ /*0286*/case GuiAlarmID::ALARM_ID_HD_TREATMENT_RINSEBACK_TIMEOUT_WARNING : { result = QObject::tr("HD treatment rinseback complete timeout warning." ); break; } /* 286*/ /*0287*/case GuiAlarmID::ALARM_ID_HD_FPGA_CLOCK_SPEED_CHECK_FAILURE : { result = QObject::tr("HD processor clock speed checks against FPGA clock failure." ); break; } /* 287*/ -/*0288*/case GuiAlarmID::ALARM_ID_DG_TRIMMER_HEATER_ON_WITH_NO_FLOW_TIMEOUT : { result = QObject::tr("DG trimmer heater on with flow timeout." ); break; } /* 288*/ +/*0288*/case GuiAlarmID::ALARM_ID__AVAILABLE_9 : { result = QObject::tr("Alarm ID available for use." ); break; } /* 288*/ /*0289*/case GuiAlarmID::ALARM_ID_DG_DIALYSATE_OR_CONC_CAP_NOT_IN_PROPER_POSITION: { result = QObject::tr("DG dialysate or concentrate caps not closed." ); break; } /* 289*/ /*0290*/case GuiAlarmID::ALARM_ID_DG_FLOW_TOO_LOW_WHILE_HEATER_ON : { result = QObject::tr("DG flow too low while heater is on." ); break; } /* 290*/ /*0291*/case GuiAlarmID::NUM_OF_ALARM_IDS : { result = QObject::tr("Total number of alarms." ); break; } /* 291*/ Index: sources/view/VView.h =================================================================== diff -u -r79a6cfcb10472261f3ec26eaf0baf6f1245cd311 -r2d0bacfbe1b70055247eb40743405a5f9acb15e3 --- sources/view/VView.h (.../VView.h) (revision 79a6cfcb10472261f3ec26eaf0baf6f1245cd311) +++ sources/view/VView.h (.../VView.h) (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -110,7 +110,8 @@ /* Settings */ \ REGISTER_TYPE( VSettings ) \ REGISTER_TYPE( VAdjustmentVersions ) \ - REGISTER_TYPE( VAdjustmentService ) \ + REGISTER_TYPE( VAdjustmentServiceMode ) \ + REGISTER_TYPE( VAdjustmentServiceDates ) \ REGISTER_TYPE( VDateTime ) \ REGISTER_TYPE( VNetworkModel ) \ REGISTER_TYPE( VAdjustmentAlarmVolume ) \ Fisheye: Tag 2d0bacfbe1b70055247eb40743405a5f9acb15e3 refers to a dead (removed) revision in file `sources/view/settings/VAdjustmentService.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 2d0bacfbe1b70055247eb40743405a5f9acb15e3 refers to a dead (removed) revision in file `sources/view/settings/VAdjustmentService.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/settings/VAdjustmentServiceDates.cpp =================================================================== diff -u --- sources/view/settings/VAdjustmentServiceDates.cpp (revision 0) +++ sources/view/settings/VAdjustmentServiceDates.cpp (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,57 @@ +/*! + * + * Copyright (c) 2021-2022 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 VAdjustmentServiceDates.cpp + * \author (last) Behrouz NematiPour + * \date (last) 13-Jun-2021 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#include "VAdjustmentServiceDates.h" + +// Project +#include "GuiController.h" +#include "format.h" + + +VIEW_DEF_CLASS_ADJUSTMENT(VAdjustmentServiceDates) + +void View::VAdjustmentServiceDates::initConnections() { + ADJUST_VIEW_CONNECTION( AdjustServiceDatesRequestData) + ACTION_VIEW_CONNECTION(AdjustServiceDatesHDResponseData) + ACTION_VIEW_CONNECTION(AdjustServiceDatesDGResponseData) +} + +void View::VAdjustmentServiceDates::onActionReceive(const AdjustServiceDatesHDResponseData &vData) +{ + // HD Service data + hdLastServiceEpoch (vData.mLastServiceDateEpoch ); + hdServiceInterval (vData.mServiceIntervalSeconds ); + + hdLastServiceDate (Format::fromEpoch(vData.mLastServiceDateEpoch , _serviceDateFormat)); + hdNextServiceDate (Format::fromEpoch(vData.mLastServiceDateEpoch + vData.mServiceIntervalSeconds , _serviceDateFormat)); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustmentHD(true); // set here only because adjustment parent needs it, but HD Service does not +} + +void View::VAdjustmentServiceDates::onActionReceive(const AdjustServiceDatesDGResponseData &vData) +{ + // DG Service data + dgLastServiceEpoch (vData.mLastServiceDateEpoch ); + dgServiceInterval (vData.mServiceIntervalSeconds ); + + dgLastServiceDate (Format::fromEpoch(vData.mLastServiceDateEpoch , _serviceDateFormat)); + dgNextServiceDate (Format::fromEpoch(vData.mLastServiceDateEpoch + vData.mServiceIntervalSeconds , _serviceDateFormat)); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustmentDG(true); // set here only because adjustment parent needs it, but HD Service does not +} + Index: sources/view/settings/VAdjustmentServiceDates.h =================================================================== diff -u --- sources/view/settings/VAdjustmentServiceDates.h (revision 0) +++ sources/view/settings/VAdjustmentServiceDates.h (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,77 @@ +/*! + * + * Copyright (c) 2021-2022 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 VAdjustmentService.h + * \author (last) Behrouz NematiPour + * \date (last) 18-Apr-2022 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MAdjustHDServiceDatesResponse.h" +#include "MAdjustDGServiceDatesResponse.h" + +namespace View { + +/*! + * \brief The VAdjustmentService class + * \details View for Model's Data representation. + * + * \sa Model::MAdjustServiceDatesResponse + * + */ +class VAdjustmentServiceDates : public VAdjustmentResponseBase { + Q_OBJECT + + // friends + friend class ::tst_views; + + const QString _serviceDateFormat = "yyyy/MM/dd"; + + + // disabled coco begin validated: + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + // has been manually tested that it works perfectly fine + TRIGGER( bool , adjustmentHD , 0) + TRIGGER( bool , adjustmentDG , 0) + // disabled coco end + + // Service seconds + PROPERTY( quint8 , hdLastServiceEpoch, 0) + PROPERTY( quint8 , hdServiceInterval , 0) + PROPERTY( quint8 , dgLastServiceEpoch, 0) + PROPERTY( quint8 , dgServiceInterval , 0) + + // Service data + PROPERTY( QString , hdLastServiceDate , "") + PROPERTY( QString , hdNextServiceDate , "") + PROPERTY( QString , dgLastServiceDate , "") + PROPERTY( QString , dgNextServiceDate , "") + + VIEW_DEC_CLASS(VAdjustmentServiceDates) + VIEW_DEC_SLOT (AdjustServiceDatesHDResponseData) + VIEW_DEC_SLOT (AdjustServiceDatesDGResponseData) + +// ---------- Version +public slots: + void doAdjustment() { + AdjustServiceDatesRequestData data; + emit didAdjustment(data); + } + +signals: + void didAdjustment(const AdjustServiceDatesRequestData &vData); +}; +} Index: sources/view/settings/VAdjustmentServiceMode.cpp =================================================================== diff -u --- sources/view/settings/VAdjustmentServiceMode.cpp (revision 0) +++ sources/view/settings/VAdjustmentServiceMode.cpp (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,38 @@ +/*! + * + * Copyright (c) 2021-2022 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 VAdjustmentServiceMode.cpp + * \author (last) Behrouz NematiPour + * \date (last) 13-Jun-2021 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#include "VAdjustmentServiceMode.h" + +// Project +#include "GuiController.h" +#include "format.h" + + +VIEW_DEF_CLASS_ADJUSTMENT(VAdjustmentServiceMode) + +void View::VAdjustmentServiceMode::initConnections() { + ADJUST_VIEW_CONNECTION( AdjustServiceModeRequestData) + ACTION_VIEW_CONNECTION(AdjustServiceModeResponseData) +} + +void View::VAdjustmentServiceMode::onActionReceive(const AdjustServiceModeResponseData &vData) +{ + adjustment_Accepted ( vData.mAccepted ); + adjustment_Reason ( vData.mReason ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the Previous values before being set. *** + adjustment ( true ); +} + Index: sources/view/settings/VAdjustmentServiceMode.h =================================================================== diff -u --- sources/view/settings/VAdjustmentServiceMode.h (revision 0) +++ sources/view/settings/VAdjustmentServiceMode.h (revision 2d0bacfbe1b70055247eb40743405a5f9acb15e3) @@ -0,0 +1,58 @@ +/*! + * + * Copyright (c) 2021-2022 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 VAdjustmentService.h + * \author (last) Behrouz NematiPour + * \date (last) 18-Apr-2022 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MAdjustHDServiceModeResponse.h" + +namespace View { + +/*! + * \brief The VAdjustmentService class + * \details View for Model's Data representation. + * + * \sa Model::MAdjustServiceModeResponse + * + */ +class VAdjustmentServiceMode : public VAdjustmentResponseBase { + Q_OBJECT + + // friends + friend class ::tst_views; + + + // disabled coco begin validated: + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + // has been manually tested that it works perfectly fine + TRIGGER( bool , adjustment , 0) + // disabled coco end + + VIEW_DEC_CLASS_ADJUSTMENT(VAdjustmentServiceMode, AdjustServiceModeResponseData) + +public slots: + void doAdjustment() { + AdjustServiceModeRequestData data; + emit didAdjustment(data); + } + +signals: + void didAdjustment(const AdjustServiceModeRequestData &vData); +}; +}