Index: leahi.qrc =================================================================== diff -u -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a -rf1e0e3ab13b12c450d52668608c92b33aa1d2c91 --- leahi.qrc (.../leahi.qrc) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) +++ leahi.qrc (.../leahi.qrc) (revision f1e0e3ab13b12c450d52668608c92b33aa1d2c91) @@ -77,13 +77,24 @@ resources/images/chevron-left.png resources/images/chevron-right.png resources/images/DenaliDevice.png + resources/images/edit.png + resources/images/edit-disabled.png + resources/images/Lock.png + resources/images/Prescription.png + resources/images/Settings.png + resources/images/Unlock.png + resources/images/Wifi.png + resources/images/PauseOrange.png + resources/images/arrowsExpanding.png + resources/images/HomeBackground.png sources/gui/qml/components/MainMenu.qml sources/gui/qml/components/TouchRect.qml sources/gui/qml/components/TitleText.qml sources/gui/qml/components/ImageLogoD.qml sources/gui/qml/components/ScreenItem.qml + sources/gui/qml/components/IconButton.qml sources/gui/qml/components/StackItem.qml sources/gui/qml/components/ModalDialog.qml sources/gui/qml/components/BackButton.qml @@ -118,7 +129,7 @@ sources/gui/qml/components/UltrafiltrationButton.qml sources/gui/qml/components/ImageWave.qml sources/gui/qml/components/ImageClock.qml - sources/gui/qml/components/ImageLogoDDarkTransparent.qml + sources/gui/qml/components/ImageLogoDDarkTransparent.qml sources/gui/qml/components/ConfirmTreatmentTableEntry.qml sources/gui/qml/components/DebugDataColumn.qml sources/gui/qml/components/RangeSlider.qml @@ -137,6 +148,9 @@ sources/gui/qml/components/EntryDialog.qml sources/gui/qml/components/SliderArrows.qml sources/gui/qml/components/QRCode.qml + sources/gui/qml/components/ContentArea.qml + sources/gui/qml/components/LabelValue.qml + sources/gui/qml/components/ArrowButton.qml sources/gui/qml/compounds/PressureRangeSlider.qml @@ -220,6 +234,8 @@ sources/gui/qml/pages/treatment/TreatmentHome.qml sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml sources/gui/qml/pages/treatment/TreatmentUltrafiltrationItem.qml + sources/gui/qml/pages/treatment/TreatmentSection.qml + sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml @@ -230,6 +246,8 @@ sources/gui/qml/pages/treatment/sections/TreatmentTime.qml sources/gui/qml/pages/treatment/sections/TreatmentSaline.qml sources/gui/qml/pages/treatment/sections/TreatmentHeparin.qml + sources/gui/qml/pages/treatment/sections/TreatmentPressureComponent.qml + sources/gui/qml/pages/treatment/sections/TreatmentFlowsComponent.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentFlow.qml Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a -rf1e0e3ab13b12c450d52668608c92b33aa1d2c91 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision f1e0e3ab13b12c450d52668608c92b33aa1d2c91) @@ -72,11 +72,12 @@ // ----- {Gui::GuiActionType::ID_TreatmentTime , 3 * 4 }, // 3 parameters each 4bytes - {Gui::GuiActionType::ID_BloodFlow , 10 * 4 }, //10 parameters each 4bytes + {Gui::GuiActionType::ID_BloodFlow , 9 * 4 }, // 9 parameters each 4bytes {Gui::GuiActionType::ID_DialysateInletFlow , 10 * 4 }, //10 parameters each 4bytes {Gui::GuiActionType::ID_DialysateOutletFlow , 13 * 4 }, //13 parameters each 4bytes {Gui::GuiActionType::ID_PressureOcclusion , 12 * 4 }, //12 parameters each 4bytes - {Gui::GuiActionType::ID_Saline , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_Saline , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::ID_Ultrafiltration , 4 * 4 }, // 4 parameters each 4bytes {Gui::GuiActionType::ID_Heparin , 2 * 4 }, // 2 parameters each 4bytes {Gui::GuiActionType::ID_Rinseback , 6 * 4 }, // 6 parameters each 4bytes {Gui::GuiActionType::ID_Recirculate , 2 * 4 }, // 2 parameters each 4bytes @@ -102,19 +103,20 @@ {Gui::GuiActionType::ID_DGLoadCellReadingsData , 4 * 4 }, // 4 parameters each 4bytes {Gui::GuiActionType::ID_DDTemperaturesData , 23 * 4 }, // 23 parameters each 4bytes {Gui::GuiActionType::ID_DGAccelerometerData , 9 * 4 }, // 9 parameters each 4bytes - {Gui::GuiActionType::ID_DGConductivityData , 13 * 4 }, // 13 parameters each 4bytes + {Gui::GuiActionType::ID_DDConductivityData , 5 * 4 }, // 5 parameters each 4bytes + {Gui::GuiActionType::ID_DDGenDialysateData , 9 * 4 }, // 9 parameters each 4bytes // HD Data Messages {Gui::GuiActionType::ID_HDAccelerometerData , 9 * 4 }, // 9 parameters each 4bytes {Gui::GuiActionType::ID_HDSyringePumpData , 9 * 4 }, // 9 parameters each 4bytes {Gui::GuiActionType::ID_HDUsageInfoReq , 0 * 4 }, // 0 parameters each 4bytes {Gui::GuiActionType::ID_HDUsageInfoRsp , 4 * 4 + 2 }, // 4 parameters each 4bytes + 1 parameter 2 bytes {Gui::GuiActionType::ID_TDVoltageData , 11 * 4 }, //11 parameters each 4bytes - {Gui::GuiActionType::ID_TDBloodPumpData , 9 * 4 }, // 9 parameters each 4bytes {Gui::GuiActionType::ID_TDValvesData , 3 * 4 + 2*2 }, // 5 parameters each 4bytes + 2 parametres 2 bytes {Gui::GuiActionType::ID_TDEjectorData , 2 * 4 }, // 2 parameters each 4bytes {Gui::GuiActionType::ID_TDSwitchesData , 1 * 4 }, // 3 parameters each 4bytes {Gui::GuiActionType::ID_TDBatteryData , 2 * 4 }, // 2 parameters each 4bytes //// TODO: The payload is TBD (as indicated by the provided screen items) {Gui::GuiActionType::ID_TDTemperatureData , 1 * 4 }, // 1 parameters each 4bytes //// TODO: The payload is TBD (as indicated by the provided screen items) + {Gui::GuiActionType::ID_TreatmentParametersSetPointData , 3 * 4 }, // 3 parameters each 4bytes // ---- TODO : AFTER GIVING IT SOME THOUGHT, IT SEEMS WE CAN GET THESE LEN FROM THE MODEL AND DO NOT NEED TO HAVE THIS BUT NEED TO INVESTIGATE MORE. {Gui::GuiActionType::ID_AlarmStatus , 4 * 3 + 2 }, // 3 parameters each 4bytes + 1 parameter 2bytes Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a -rf1e0e3ab13b12c450d52668608c92b33aa1d2c91 --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision f1e0e3ab13b12c450d52668608c92b33aa1d2c91) @@ -480,7 +480,6 @@ case Gui::GuiActionType::ID_HDAirBubbleData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDAirBubbleData ); break; case Gui::GuiActionType::ID_TDVoltageData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDVoltageData ); break; case Gui::GuiActionType::ID_TDAirTrapData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDAirTrapData ); break; - case Gui::GuiActionType::ID_TDBloodPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDBloodPumpData ); break; case Gui::GuiActionType::ID_TDValvesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDValvesData ); break; case Gui::GuiActionType::ID_TDBatteryData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDBatteryData ); break; case Gui::GuiActionType::ID_TDSwitchesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDSwitchesData ); break; @@ -518,6 +517,8 @@ case Gui::GuiActionType::ID_Recirculate : ok = notify(vMessage, vData, Gui::GuiActionType::ID_Recirculate ); break; case Gui::GuiActionType::ID_BloodPrime : ok = notify(vMessage, vData, Gui::GuiActionType::ID_BloodPrime ); break; case Gui::GuiActionType::ID_TreatmentStop : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TreatmentStop ); break; + case Gui::GuiActionType::ID_Ultrafiltration : ok = notify(vMessage, vData, Gui::GuiActionType::ID_Ultrafiltration ); break; + case Gui::GuiActionType::ID_TreatmentParametersSetPointData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TreatmentParametersSetPointData ); break; // ----- In-Treatment Adjust case Gui::GuiActionType::ID_AdjustDurationRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDurationRsp ); break; case Gui::GuiActionType::ID_AdjustBloodDialysateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustBloodDialysateRsp ); break; @@ -597,7 +598,8 @@ case Gui::GuiActionType::ID_DDDebugText : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDDebugText ); break; case Gui::GuiActionType::ID_DGGeneralEvent : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGGeneralEvent ); break; case Gui::GuiActionType::ID_DGAccelerometerData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGAccelerometerData ); break; - case Gui::GuiActionType::ID_DGConductivityData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGConductivityData ); break; + case Gui::GuiActionType::ID_DDConductivityData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDConductivityData ); break; + case Gui::GuiActionType::ID_DDGenDialysateData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDGenDialysateData ); break; // ----- Datum - Pre-Treatment progress case Gui::GuiActionType::ID_DGFilterFlushData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGFilterFlushData ); break; // DG Response Messages Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a -rf1e0e3ab13b12c450d52668608c92b33aa1d2c91 --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision f1e0e3ab13b12c450d52668608c92b33aa1d2c91) @@ -100,8 +100,8 @@ ID_AdjustVersionsTDReq = 0x1500, // 21 // ID_TDVersionsRxq - TD Version request received //// ----- @LEAHIZED ID_AdjustVersionsTDRsp = 0x0E00, // 14 //// ----- @LEAHIZED ID_AdjustVersionsDDRsp = 0x0F00, // 15 //// ----- @LEAHIZED - ID_AdjustSerialTDRsp = 0x9900, // 153 //// ----- TODO: Update message ID and payload once defined in FW - ID_AdjustSerialDDRsp = 0x8800, // 136 //// ----- TODO: Update message ID and payload once defined in FW + ID_AdjustSerialTDRsp = 0x5100, // 81 //// ----- @LEAHIZED + ID_AdjustSerialDDRsp = 0x5200, // 82 //// ----- @LEAHIZED // Service Information ID_AdjustServiceDatesReq = 0x8900, // 137 @@ -122,18 +122,19 @@ // State Messages ID_TDOpModeData = 0x1200, // 18 //// ----- @LEAHIZED ID_PreTreatmentStates = 0x5C00, // 92 - ID_TreatmentStates = 0x0F0F, // 15 //// ----- @CRAPIZED: had to change to avoid duplication + ID_TreatmentStates = 0x3C00, // 60 //// ----- @LEAHIZED ID_PostTreatmentStates = 0x7700, // 119 // ----- ID_PowerOff = 0x010F, // 010F //// ----- @CRAPIZED - ID_ShuttingDown = 0x0E0F, // 35 //// ----- @CRAPIZED: had to change to avoid duplication - ID_TreatmentTime = 0x0D0F, // //// ----- @CRAPIZED: had to change to avoid duplication - ID_BloodFlow = 0x0500, + ID_ShuttingDown = 0x0E0F, // 35 //// ----- @CRAPIZED: had to change to avoid duplication + ID_TreatmentTime = 0x3B00, // 59 //// ----- @LEAHIZED + ID_BloodFlow = 0x1100, // 17 //// ----- @LEAHIZED ID_DialysateInletFlow = 0x0800, ID_DialysateOutletFlow = 0x0B00, - ID_PressureOcclusion = 0x0900, - ID_Saline = 0x2F00, // 47 + ID_PressureOcclusion = 0x2400, // 36 //// ----- @LEAHIZED + ID_Saline = 0x3D00, // 61 //// ----- @LEAHIZED + ID_Ultrafiltration = 0x3E00, // 62 //// ----- @LEAHIZED ID_Heparin = 0x4D00, // 77 ID_Rinseback = 0x5600, // 86 ID_Recirculate = 0x5A00, // 90 @@ -174,14 +175,14 @@ // Pre-Treatment SelfTest Dry Progress Data ID_SelfTestDryData = 0x6300, // 99 // Pre-Treatment Disposable Priming - ID_AdjustDisposablesPrimeReq = 0x3C00, // 60 - ID_AdjustDisposablesPrimeRsp = 0x3D00, // 61 + ID_AdjustDisposablesPrimeReq = 0x3C0F, // 60 //// ----- @CRAPIZED: had to change to avoid duplication + ID_AdjustDisposablesPrimeRsp = 0x3D0F, // 61 //// ----- @CRAPIZED: had to change to avoid duplication ID_DisposablesPrimeData = 0x43FF, // ?? //// ----- @CRAPIZED - FFed // Pre-Treatment Patient Connection Begin ID_AdjustPatientConnectionBeginReq = 0x6400, // 100 ID_AdjustPatientConnectionBeginRsp = 0x6500, // 101 // Pre-Treatment Ultrafiltration initial volume - ID_AdjustUltrafiltrationInitReq = 0x4F00, // 79 + ID_AdjustUltrafiltrationInitReq = 0x4F0F, // 79 //// ----- @CRAPIZED: had to change to avoid duplication ID_AdjustUltrafiltrationInitRsp = 0x5000, // 80 // Pre-Treatment Patient Connection Confirm ID_AdjustPatientConnectionConfirmReq = 0x6600, // 102 @@ -191,7 +192,7 @@ ID_AdjustStartTreatmentRsp = 0x7200, // 114 // DG Data Messages - ID_DGROPumpData = 0x1F00, // 31 + ID_DGROPumpData = 0x1F0F, // 31 //// ----- @CRAPIZED: had to change to avoid duplication ID_DDPressuresData = 0x1C00, // 28 //// ----- @LEAHIZED ID_DGDrainPumpData = 0x2400, // 36 ID_DGOperationModeData = 0x2700, // 39 @@ -204,7 +205,8 @@ ID_DDHeatersData = 0x2800, // 40 //// ----- @LEAHIZED ID_DDLevelData = 0x2900, // 41 //// ----- @LEAHIZED ID_DGAccelerometerData = 0x3400, // 52 - ID_DGConductivityData = 0x3100, // 49 + ID_DDConductivityData = 0x1F00, // 31 //// ----- @LEAHIZED + ID_DDGenDialysateData = 0x2F00, // 47 //// ----- @LEAHIZED // HD Data Messages ID_HDAccelerometerData = 0x3300, // 51 @@ -213,12 +215,12 @@ ID_HDAirBubbleData = 0x9300, // 147 ID_TDAirTrapData = 0x2A00, // 42 //// ----- @LEAHIZED ID_TDVoltageData = 0x1D00, // 29 //// ----- @LEAHIZED - ID_TDBloodPumpData = 0x1100, // 17 //// ----- @LEAHIZED ID_TDValvesData = 0x2B00, // 43 //// ----- @LEAHIZED - ID_TDBatteryData = 0x9400, //149 //// ----- TODO: MsgID subject to change given FW implementation + ID_TDBatteryData = 0x5400, // 84 //// ----- TODO: Payload subject to change given FW implementation ID_TDSwitchesData = 0x2100, // 33 //// ----- @LEAHIZED ID_TDEjectorData = 0x4E00, // 78 //// ----- @LEAHIZED - ID_TDTemperatureData = 0x9100, //146 //// ----- TODO: MsgID subject to change given FW implementation + ID_TDTemperatureData = 0x5300, // 83 //// ----- TODO: Payload subject to change given FW implementation + ID_TreatmentParametersSetPointData = 0x4F00, // 79 //// ----- @LEAHIZED // In-Treatment Adjustables ID_AdjustDurationReq = 0x160F, // 22 //// ----- @CRAPIZED: had to change to avoid duplication @@ -240,19 +242,19 @@ ID_AdjustUltrafiltrationStateReq = 0x100F, // 16 //// ----- @CRAPIZED: had to change to avoid duplication ID_AdjustUltrafiltrationStateRsp = 0x4100, // 65 - ID_AdjustUltrafiltrationEditReq = 0x1100, // 17 + ID_AdjustUltrafiltrationEditReq = 0x110F, // 17 //// ----- @CRAPIZED: had to change to avoid duplication ID_AdjustUltrafiltrationEditRsp = 0x1300, // 19 ID_AdjustUltrafiltrationConfirmReq = 0x150F, // 21 //// ----- @CRAPIZED: had to change to avoid duplication ID_AdjustUltrafiltrationConfirmRsp = 0x2E00, // 46 // End-Treatment // Rinseback - ID_AdjustRinsebackReq = 0x5200, // 82 - ID_AdjustRinsebackRsp = 0x5300, // 83 + ID_AdjustRinsebackReq = 0x520F, // 82 //// ----- @CRAPIZED: had to change to avoid duplication + ID_AdjustRinsebackRsp = 0x530F, // 83 //// ----- @CRAPIZED: had to change to avoid duplication // Recirculate - ID_AdjustRecirculateReq = 0x5400, // 84 + ID_AdjustRecirculateReq = 0x540F, // 84 //// ----- @CRAPIZED: had to change to avoid duplication ID_AdjustRecirculateRsp = 0x5500, // 85 // Treatment End Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml =================================================================== diff -u --- sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml (revision 0) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml (revision f1e0e3ab13b12c450d52668608c92b33aa1d2c91) @@ -0,0 +1,280 @@ +/*! + * + * Copyright (c) 2021-2024 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 DiagnosticsDialog.qml + * \author (last) Dara Navaei + * \date (last) 05-Mar-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-May-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" + +/*! + * \brief the post treatment prime stack screen + */ +DiagnosticsBase { id: _root + objectName: "_DiagnosticsTD" + + title: "Treatment Delivery & Blood Handling" + + DebugDataColumn { id: _TDBloodFlowColumn + textObjectName :"_TDBloodFlowData" + title : qsTr(" BP(H4)") + x: col(0) + y: row(0) + model: [ + vTreatmentBloodFlow.setFlowRate , + vTreatmentBloodFlow.measFlow .toFixed(2) , + vTreatmentBloodFlow.measRotorSpd .toFixed(2) , + vTreatmentBloodFlow.measPumpSpd .toFixed(2) , + vTreatmentBloodFlow.measCurr .toFixed(2) , + vTreatmentBloodFlow.setRPM .toFixed(2) , + vTreatmentBloodFlow.rotorCount , + vTreatmentBloodFlow.presFlow , + vTreatmentBloodFlow.rotorHallState , + + ] + label: [ + "sFLow (H4) ", + "mFlow (H4) ", + "rSpd (H4) ", + "mSpd (H4) ", + "mCurr (H4) ", + "RPM (H4) ", + "rCnt (H4) ", + "pFlow (H4) ", + "rHall (H6) ", + ] + } + + DebugDataColumn { id: _TDAirTrapCoulumn + textObjectName :"_TDAirTrapData" + title : qsTr(" Air Trap ") + x: col(1.5) + y: row(0) + model: [ + vTDAirTrap.lowLevel , + vTDAirTrap.upLevel , + vTDAirTrap.lowLevelRaw , + vTDAirTrap.upLevelRaw , + vTDAirTrap.valveIntakeState , + vTDAirTrap.valveOutletState , + vTDAirTrap.controlling , + ] + label: [ + "ATL (H17)", + "ATH (H16)", + "rARL (H17)", + "rATH (H16)", + "IState (H13)", + "OState (H20)", + "ctrl ", + ] + } + + DebugDataColumn { id: _TDValvesColumn + textObjectName :"_TDValvesData" + title : qsTr(" Vlv ") + x: col(3) + y: row(0) + model: [ + vTDValves.valveId , + vTDValves.state , + vTDValves.posName , + vTDValves.posCount , + vTDValves.nextPos , + + ] + label: [ + "ID ", + "state ", + "Name ", + "Cnt ", + "nPos ", + ] + } + + DebugDataColumn { id: _TDEjectorColumn + textObjectName :"_TDEjectorData" + title : qsTr(" Ejt ") + x: col(4.5) + y: row(0) + model: [ + vTDEjector.state , + vTDEjector.setSpeed .toFixed(2) , + + ] + label: [ + "State (H5) ", + "Spd (H5) " , + ] + } + + DebugDataColumn { id: _TDSwitchesColumn + textObjectName :"_TDSwitchesData" + title : qsTr(" Switches ") + x: col(6) + y: row(0) + model: [ + vTDSwitches.door , + + ] + label: [ + "door (H9) ", + ] + } + + + DebugDataColumn { id: _TDBatteryCoulumn + textObjectName :"_TDBatterypData" + title : qsTr(" Battery ") + x: col(0) + y: row(3.5) + model: [ + vTDBattery.acPower , + vTDBattery.capacity , + ] + label: [ + "AC ", + "cap ", + ] + } + + DebugDataColumn { id: _TDVoltageCoulumn + textObjectName :"_TDVoltageData" + title : qsTr(" Vol ") + x: col(1.5) + y: row(3.5) + model: [ + vTDVoltage.line_1_2V .toFixed(2) , + vTDVoltage.line_3_3V .toFixed(2) , + vTDVoltage.logic5V .toFixed(2) , + vTDVoltage.sensors5V .toFixed(2) , + vTDVoltage.line_24V .toFixed(2) , + vTDVoltage.regen24V .toFixed(2) , + vTDVoltage.fpgaAdcRef .toFixed(2) , + vTDVoltage.presRef .toFixed(2) , + vTDVoltage.fpgaVcc .toFixed(2) , + vTDVoltage.fpgaVaux .toFixed(2) , + vTDVoltage.fpgaVpvn .toFixed(2) + ] + label: [ + "1.2V" , + "3.3V" , + "L5V" , + "S5V" , + "24V" , + "R24V" , + "ADC" , + "Ref" , + "VCC" , + "Vaux" , + "VPN" , + ] + } + + DebugDataColumn { id: _TDTemperatureCoulumn + textObjectName :"_TDTemperatureData" + title : qsTr(" Temp ") + x: col(3) + y: row(3.5) + model: [ + vTDTemperature.boardTemp .toFixed(2) + ] + label: [ + "board", + ] + } + + + DebugDataColumn { id: _TDTXStatesColumn + textObjectName :"_TDTxStatesData" + title : qsTr(" TXStates ") + x: col(0) + y: row(7) + model: [ + vTDTreatmentStates.subMode , + vTDTreatmentStates.txBloodPrime , + vTDTreatmentStates.txDialysis , + vTDTreatmentStates.ufState , + vTDTreatmentStates.txStop , + vTDTreatmentStates.txRinseback , + vTDTreatmentStates.txRecirculate, + vTDTreatmentStates.txEnd , + vTDTreatmentStates.salineState , + vTDTreatmentStates.heparin , + ] + label: [ + "subMode " , + "BPrime " , + "Dial " , + "UF " , + "Stop " , + "RB " , + "Recirc " , + "End " , + "Saline " , + "Hep " , + ] + } + + + // TODO: The TouchRect should be unnecessary since the first communication message with UI/HD is the version. + TouchRect { + x : col(6.0) + y : row(6.4) + width : 425 + height : 160 + onClicked : vAdjustmentVersions.doAdjustment() + radius : 10 + Column { + anchors.top : parent.top + anchors.topMargin: -20 + anchors.left: parent.left + anchors.leftMargin: 5 + + spacing: -30 + DebugDataColumn { id: _TDVersionsColumn + textObjectName :"_TDVersionsData" + title : "" + horizontalAlignmentText: Text.AlignLeft + fontPixelSizeText: Fonts.fontPixelDebugTitle + model: [ "TD: v%1.%2.%3-%4 v%5.%6.%7-%8 c%9\nTD Serial#: %10" + .arg(vAdjustmentVersions.tdVerMajor ) + .arg(vAdjustmentVersions.tdVerMinor ) + .arg(vAdjustmentVersions.tdVerMicro ) + .arg(vAdjustmentVersions.tdVerBuild ) + .arg(vAdjustmentVersions.tdVerFPGAMajor ) + .arg(vAdjustmentVersions.tdVerFPGAMinor ) + .arg(vAdjustmentVersions.tdVerFPGALab ) + .arg(vAdjustmentVersions.tdVerFPGAId ) + .arg(vAdjustmentVersions.tdVerCompatibilityRev ) + .arg(vAdjustmentVersions.tdSerial ) + ] + } + } + } + + + Connections { target: _GuiView + function onDidActionReceive( vAction, vData ) { + // DEBUG: console.debug("onDidActionReceive", vAction, vData) + if (vAction === GuiActions.ID_CANBusFaultCount ) { + _canbusFaultCountText.count = vData[0] + } + } + } +} Index: sources/gui/qml/main.qml =================================================================== diff -u -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a -rf1e0e3ab13b12c450d52668608c92b33aa1d2c91 --- sources/gui/qml/main.qml (.../main.qml) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) +++ sources/gui/qml/main.qml (.../main.qml) (revision f1e0e3ab13b12c450d52668608c92b33aa1d2c91) @@ -29,7 +29,6 @@ import VHDAirBubble 0.1 import VTDAirTrap 0.1 import VTDVoltage 0.1 -import VTDBloodPump 0.1 import VTDValves 0.1 import VTDBattery 0.1 import VTDSwitches 0.1 @@ -58,7 +57,7 @@ // States views import VTDOpMode 0.1 //// ----- @LEAHIZED import VPreTreatmentStates 0.1 -import VHDTreatmentStates 0.1 +import VTDTreatmentStates 0.1 import VPostTreatmentStates 0.1 // Treatment - Common @@ -69,6 +68,7 @@ import VTreatmentPressureOcclusion 0.1 import VTreatmentUltrafiltration 0.1 import VTreatmentTime 0.1 +import VTreatmentParametersSetPoint 0.1 import VTreatmentRinseback 0.1 import VTreatmentRecirculate 0.1 import VTreatmentBloodPrime 0.1 @@ -100,7 +100,8 @@ import VDGValvesStates 0.1 import VTreatmentCreate 0.1 import VDGAccelerometer 0.1 -import VDGConductivity 0.1 +import VDDConductivity 0.1 +import VDDGenDialysate 0.1 // In-Treatment - Adjustemnt import VTreatmentAdjustmentDuration 0.1 import VTreatmentAdjustmentFlows 0.1 @@ -167,13 +168,13 @@ } } VPreTreatmentStates { id: vPreTreatmentStates } - VHDTreatmentStates { id: vHDTreatmentStates } + VTDTreatmentStates { id: vTDTreatmentStates } VPostTreatmentStates { id: vPostTreatmentStates } VTreatmentBloodFlow { id: vTreatmentBloodFlow } VTreatmentVitals { id: vTreatmentVitals interval : vTreatmentCreate.bloodPressureMeasureInterval - enableDialog: vTDOpMode.inTreatment && vHDTreatmentStates.txTreatment + enableDialog: vTDOpMode.inTreatment && vTDTreatmentStates.txTreatment // As long as UI is in In-Tx BP/HR is updated and the dialog will pop up on interval. onEnableDialogChanged : { if ( vTreatmentVitals.enableDialog ) { @@ -192,7 +193,6 @@ VHDBloodLeak { id: vHDBloodLeak } VTDAirTrap { id: vTDAirTrap } VTDVoltage { id: vTDVoltage } - VTDBloodPump { id: vTDBloodPump } VTDValves { id: vTDValves } VTDBattery { id: vTDBattery } VTDSwitches { id: vTDSwitches } @@ -203,6 +203,7 @@ VTreatmentPressureOcclusion { id: vTreatmentPressureOcclusion } VTreatmentUltrafiltration { id: vTreatmentUltrafiltration } VTreatmentTime { id: vTreatmentTime } + VTreatmentParametersSetPoint { id: vTreatmentParametersSetPoint } VTreatmentBloodPrime { id: vTreatmentBloodPrime } VTreatmentRinseback { id: vTreatmentRinseback } VTreatmentRecirculate { id: vTreatmentRecirculate } @@ -218,7 +219,8 @@ VDGTemperatures { id: vDGTemperatures } VDGValvesStates { id: vDGValvesStates } VDGAccelerometer { id: vDGAccelerometer } - VDGConductivity { id: vDGConductivity } + VDDConductivity { id: vDDConductivity } + VDDGenDialysate { id: vDDGenDialysate } // --- Pre-Treatment Progress Data VPreTreatmentAdjustmentInitTreatment { id: vPreTreatmentAdjustmentInitTreatment } VDGFilterFlush { id: vDGFilterFlush } @@ -264,7 +266,7 @@ // ----- Follow the below Z order ----- // 1 - Screens // 1 - 1 - SettingsStack { id: _settingsStack } + SettingsStack { id: _settingsStack } // FIXME: BEHROUZ - anchors.top : _headerbar.bottom or add topMargin to all stacks // 1 - 2 ManagerStack { id: _managerStack } // 1 - 3 @@ -303,14 +305,15 @@ anchors.top: parent.top width : Variables.applicationWidth height : Variables.notificationHeight - color : Colors.backgroundMainMenu + color : _mainStack.currentScreen.objectName === 'TreatmentStack' ? "transparent" : // FIXME: BEHROUZ - My workaround for showing the top main treatment menu with headerbar + Colors.backgroundMainMenu gradient: Gradient { //TODO:@LEAHI: make this a component. GradientStop { position: 0.2; color: Qt.lighter(Colors.backgroundMain, 1.2) } GradientStop { position: 0.8; color: Qt.darker (Colors.backgroundMain, 1.2) } } Item { - width : 200 + width : Variables.headerBarDateTimeWidth anchors { top : parent.top left : parent.left @@ -468,6 +471,7 @@ isSilenced : _alarmItem.isSilenced timeout : _alarmItem.timeout backgroundFading : vTDOpMode.fault + z : 995 } GuiView { id: _GuiView