Index: denali.pro.user =================================================================== diff -u -rc8de9dc4cb679628ac9c0c9551bc43ad3c415d4a -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- denali.pro.user (.../denali.pro.user) (revision c8de9dc4cb679628ac9c0c9551bc43ad3c415d4a) +++ denali.pro.user (.../denali.pro.user) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -1,6 +1,6 @@ - + EnvironmentId @@ -1487,7 +1487,7 @@ true true false - false + true false /home/denali/Projects/tmp/build/denali-Desktop_Qt_5_12_5_GCC_64bit-Debug Index: sources/gui/qml/components/Footer.qml =================================================================== diff -u -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/components/Footer.qml (.../Footer.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) +++ sources/gui/qml/components/Footer.qml (.../Footer.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -24,7 +24,8 @@ * \brief Denali project Footer section which gives all the children same width with same spacing, aligned in center */ Row { id: _root - readonly property int splits: _root.width / (children.length * 2 + 1 ) + property int childrenCount: children.length + readonly property int splits: _root.width / (childrenCount * 2 + 1 ) spacing : _root.splits rightPadding : spacing Index: sources/gui/qml/components/TextRect.qml =================================================================== diff -u -r56e378f7504701b9e9a9dccaf205aef2fd52c58e -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/components/TextRect.qml (.../TextRect.qml) (revision 56e378f7504701b9e9a9dccaf205aef2fd52c58e) +++ sources/gui/qml/components/TextRect.qml (.../TextRect.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -23,7 +23,7 @@ /*! * \brief The TextRect Component * which is a static text rectangle area containing title and a text blow it - * with and extra text next to it whcih can be used for example for unit. + * with and extra text next to it which can be used for example for unit texts. */ Item { id : _root property string title : "" Index: sources/gui/qml/compounds/InstructionView.qml =================================================================== diff -u -r4f87126626b76aa04ddcf2ae92e04e118cdcbe01 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision 4f87126626b76aa04ddcf2ae92e04e118cdcbe01) +++ sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -30,8 +30,9 @@ property var stepNames : [] property var stepImages : [] + property alias currentStepIndex: _swipeview.currentIndex + readonly property bool isEmpty : stepNames.length == 0 && stepImages.length == 0 - readonly property int currentStepIndex: _swipeview.currentIndex readonly property bool firstStep : isEmpty || _swipeview.currentIndex == 0 readonly property bool lastStep : isEmpty || _swipeview.currentIndex == _swipeview.count - 1 Index: sources/gui/qml/compounds/StepNavigationTitleBar.qml =================================================================== diff -u -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/compounds/StepNavigationTitleBar.qml (.../StepNavigationTitleBar.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) +++ sources/gui/qml/compounds/StepNavigationTitleBar.qml (.../StepNavigationTitleBar.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -27,9 +27,9 @@ Rectangle { id: _root property alias stepIndex : _stepIndicator.currentStepIndex property alias backVisible : _backButton .visible - property alias backEnabeled : _backButton .enabled + property alias backEnabled : _backButton .enabled property alias confirmVisible : _confirmButton.visible - property alias confirmEnabeled : _confirmButton.enabled + property alias confirmEnabled : _confirmButton.enabled property alias confirmText : _confirmButton.text property alias stepNames : _stepIndicator.stepNames Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r695e95aa2ec5e6e1c395567449ac0f671ecd61ed -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 695e95aa2ec5e6e1c395567449ac0f671ecd61ed) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -52,9 +52,9 @@ PostTreatmentRecirculateStack { id: _postTreatmentRecirculateStack } PostTreatmentEndStack { id: _postTreatmentEndStack } - MainHome { id: _mainHome - onTreatmentStarted : _root.page ( _treatmentStack ) - onTreatmentCreated : vPreTreatmentAdjustmentInitTreatment.doInitiate() + MainHome { id: _mainHome + onTreatmentStarted : _root.page ( _treatmentStack ) + onTreatmentCreated : vPreTreatmentAdjustmentInitTreatment.doInitiate() } Connections { target: vHDOperationMode @@ -96,5 +96,8 @@ if (visible) { _mainMenu.hidden = false } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/ManagerStack.qml =================================================================== diff -u -rc15ce613e372838316d42c40a86953e6f0aa05d3 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/ManagerStack.qml (.../ManagerStack.qml) (revision c15ce613e372838316d42c40a86953e6f0aa05d3) +++ sources/gui/qml/pages/ManagerStack.qml (.../ManagerStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -35,5 +35,8 @@ if (visible) { _mainMenu.hidden = false } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/SettingsStack.qml =================================================================== diff -u -rc15ce613e372838316d42c40a86953e6f0aa05d3 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/SettingsStack.qml (.../SettingsStack.qml) (revision c15ce613e372838316d42c40a86953e6f0aa05d3) +++ sources/gui/qml/pages/SettingsStack.qml (.../SettingsStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -35,5 +35,8 @@ if (visible) { _mainMenu.hidden = false } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml =================================================================== diff -u -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) +++ sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -64,7 +64,7 @@ anchors.top : _root.top anchors.horizontalCenter : parent.horizontalCenter width : _root.width - confirmEnabeled : instruction ? instruction.lastStep : true + confirmEnabled : instruction ? instruction.lastStep : true stepNames: [ qsTr("Create" ), qsTr("Sample" ), @@ -159,6 +159,8 @@ onVisibleChanged: { if (checkList) checkList.resetItems() + if (instruction) + instruction.currentStepIndex = 0 _notification.text = "" if (visible) { _mainMenu.hidden = true Index: sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml =================================================================== diff -u -r695e95aa2ec5e6e1c395567449ac0f671ecd61ed -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml (.../PreTreatmentConsumablesStack.qml) (revision 695e95aa2ec5e6e1c395567449ac0f671ecd61ed) +++ sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml (.../PreTreatmentConsumablesStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -42,22 +42,23 @@ PreTreatmentBase { id: _preTreatmentConsumablesSelfTest header.confirmVisible : false /* the state shall automatically change after user confirms the consumables installation */ - header.confirmEnabeled : vPreTreatmentStates.selfTestConsumables_complete + header.confirmEnabled : vPreTreatmentStates.selfTestConsumables_complete isComplete : vPreTreatmentStates.selfTestConsumables_complete title.text : qsTr("Consumables Self Test") + // check List hasCheckList : true checkListStepNames : [ - qsTr("Water Quality Check"), + //qsTr("Water Quality Check"), // this happens too fast and can't be sent to the UI. qsTr("BiCarb Pump Check") , qsTr("Acid Pump Check") , ] } Connections { target: vPreTreatmentStates onSelfTestConsumables_installChanged : { if ( vselfTestConsumables_install ) page( _preTreatmentConsumablesInstall )} - onSelfTestConsumables_waterQualityEntered : { _preTreatmentConsumablesSelfTest.checkList.setItem( 0, vselfTestConsumables_waterQuality )} - onSelfTestConsumables_biCarbPumpEntered : { _preTreatmentConsumablesSelfTest.checkList.setItem( 1, vselfTestConsumables_biCarbPump )} - onSelfTestConsumables_acidPumpEntered : { _preTreatmentConsumablesSelfTest.checkList.setItem( 2, vselfTestConsumables_acidPump )} + // onSelfTestConsumables_waterQualityEntered : { _preTreatmentConsumablesSelfTest.checkList.setItem( 0, vselfTestConsumables_waterQuality )} + onSelfTestConsumables_biCarbPumpEntered : { _preTreatmentConsumablesSelfTest.checkList.setItem( 0, vselfTestConsumables_biCarbPump )} + onSelfTestConsumables_acidPumpEntered : { _preTreatmentConsumablesSelfTest.checkList.setItem( 1, vselfTestConsumables_acidPump )} } Connections { target: _preTreatmentConsumablesInstall @@ -75,5 +76,8 @@ if (visible) { _mainMenu.hidden = true } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml =================================================================== diff -u -r695e95aa2ec5e6e1c395567449ac0f671ecd61ed -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml (.../PreTreatmentDisposablesStack.qml) (revision 695e95aa2ec5e6e1c395567449ac0f671ecd61ed) +++ sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml (.../PreTreatmentDisposablesStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -88,13 +88,18 @@ } Connections { target: vPreTreatmentStates - onSelfTestNoCartridge_startChanged : { if ( vselfTestNoCartridge_start ) page( _preTreatmentDisposablesSelfTest )} - onInstallationChanged : { if ( vinstallation ) page( _preTreatmentDisposablesCartridgeInstallation )} + onSelfTestNoCartridge_startChanged : { if ( vselfTestNoCartridge_start ) { }} + // FW doesn't go all the time to start so the main state change should be sufficient to update the disposables stack. + onSelfTestNoCartridgeChanged : { if ( vselfTestNoCartridge ) page( _preTreatmentDisposablesSelfTest )} + onInstallationChanged : { if ( vinstallation ) page( _preTreatmentDisposablesCartridgeInstallation )} } onVisibleChanged: { if (visible) { _mainMenu.hidden = true } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml =================================================================== diff -u -r4f87126626b76aa04ddcf2ae92e04e118cdcbe01 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml (.../PreTreatmentMainStack.qml) (revision 4f87126626b76aa04ddcf2ae92e04e118cdcbe01) +++ sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml (.../PreTreatmentMainStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -64,5 +64,8 @@ if (visible) { _mainMenu.hidden = true } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/pretreatment/PreTreatmentPrimeStack.qml =================================================================== diff -u -rc8de9dc4cb679628ac9c0c9551bc43ad3c415d4a -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/PreTreatmentPrimeStack.qml (.../PreTreatmentPrimeStack.qml) (revision c8de9dc4cb679628ac9c0c9551bc43ad3c415d4a) +++ sources/gui/qml/pages/pretreatment/PreTreatmentPrimeStack.qml (.../PreTreatmentPrimeStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -32,40 +32,64 @@ property int stackStepIndex : 4 + signal startPrimeClicked() + PreTreatmentBase { id: _preTreatmentDrySelfTest - header.confirmVisible : true - header.confirmEnabeled : vPreTreatmentStates.selfTestDry_complete + header.confirmVisible : false // state change is immediate after test completed + header.confirmEnabled : vPreTreatmentStates.selfTestDry_complete isComplete : vPreTreatmentStates.selfTestDry_complete title.text : qsTr("Begin Prime") - + // time circle hasTimeCircle : true timeCircleMinimum : 0 timeCircleMaximum : vPreTreatmentSelfTestDry.total timeCircleProgressValue : vPreTreatmentSelfTestDry.elapsed timeCircleTimeTextValue : vPreTreatmentSelfTestDry.remaining * 60 + // chcek list hasCheckList : true checkListStepNames : [ - qsTr("Bubble Detector" ), - qsTr("Air Trap" ), - qsTr("Occolusion Sensors" ), - qsTr("Pressure Sensors" ), + qsTr("Used Cartridge Check" ), + qsTr("Occolusion Sensors Check" ), + qsTr("Pressure Sensors Check" ), ] } PreTreatmentBase { id: _preTreatmentDisposablesPrime - header.confirmVisible : true - header.confirmText.text : qsTr("CONTINUE") - header.confirmEnabeled : vPreTreatmentStates.prime_complete - isComplete : vPreTreatmentStates.prime_complete - title.text : qsTr("Priming") - + header.confirmVisible : true + header.confirmText.text : qsTr("CONTINUE") + header.confirmEnabled : _preTreatmentDisposablesPrime.isComplete + isComplete : vPreTreatmentStates.recirculate + title.text : qsTr("Priming") + footer { + childrenCount : 1 // only one child is visible at a time + children : [ + TouchRect { id: _startPrimeButton + visible : ! _preTreatmentDisposablesPrime.isComplete + enabled : vPreTreatmentStates.prime_waitUserStart + width : parent.spacing + text.text : qsTr("Start Prime") + onClicked : _root.startPrimeClicked() + }, + Text { id: _recirculateText + visible : _preTreatmentDisposablesPrime.isComplete + width : parent.spacing + height : _startPrimeButton.height + text : qsTr("Recirculating ... ") + color : Colors.textMain + font.pixelSize : Fonts.fontPixelNotification + horizontalAlignment : Text.AlignHCenter + verticalAlignment : Text.AlignVCenter + } + ] + } + // time circle hasTimeCircle : true timeCircleMinimum : 0 timeCircleMaximum : vPreTreatmentDisposablesPrime.total timeCircleProgressValue : vPreTreatmentDisposablesPrime.elapsed timeCircleTimeTextValue : vPreTreatmentDisposablesPrime.remaining * 60 - + // check list hasCheckList : true checkListStepNames : [ qsTr("Blood Circuit Priming" ), @@ -78,12 +102,11 @@ onSelfTestDryChanged : { if ( vselfTestDry ) { page( _preTreatmentDrySelfTest )}} onSelfTestDry_startChanged : {} onSelfTestDry_waitDoorCloseChanged : {} - onSelfTestDry_bubbleDetectorEntered : { _preTreatmentDrySelfTest.checkList.setItem( 0, vselfTestDry_bubbleDetector )} - onSelfTestDry_airTrapEntered : { _preTreatmentDrySelfTest.checkList.setItem( 1, vselfTestDry_airTrap )} - onSelfTestDry_occlusionSensorsEntered : { _preTreatmentDrySelfTest.checkList.setItem( 2, vselfTestDry_occlusionSensors )} - onSelfTestDry_pressureSensorsSetupEntered : { _preTreatmentDrySelfTest.checkList.setItem( 3, true )} + onSelfTestDry_usedCartridgeEntered : { _preTreatmentDrySelfTest.checkList.setItem( 0, vselfTestDry_usedCartridge )} + onSelfTestDry_occlusionSensorsEntered : { _preTreatmentDrySelfTest.checkList.setItem( 1, vselfTestDry_occlusionSensors )} + onSelfTestDry_pressureSensorsSetupEntered : { _preTreatmentDrySelfTest.checkList.setItem( 2, true )} onSelfTestDry_pressureSensorsEntered : {} - onSelfTestDry_pressureSensorsNormalEntered : { _preTreatmentDrySelfTest.checkList.setItem( 3, vselfTestDry_pressureSensorsNormal )} + onSelfTestDry_pressureSensorsNormalEntered : { _preTreatmentDrySelfTest.checkList.setItem( 2, vselfTestDry_pressureSensorsNormal )} onSelfTestDry_stoppedEntered : {} onSelfTestDry_completeEntered : {} } @@ -103,10 +126,6 @@ onPrime_completeEntered : {} } - Connections { target: _preTreatmentDrySelfTest - onConfirmClicked : { vPreTreatmentAdjustmentDisposablesPrime.doPrime() } - } - Connections { target: vPreTreatmentAdjustmentDisposablesPrime onAdjustmentTriggered : { if ( vPreTreatmentAdjustmentDisposablesPrime.adjustment_Accepted ) { @@ -118,9 +137,7 @@ } Connections { target: _preTreatmentDisposablesPrime - // onBackClicked : { vTreatmentCreate.doRequestPop() } - onConfirmClicked : { vPreTreatmentAdjustmentPatientConnectionBegin.doBegin() } - // onContinueClicked : { vTreatmentCreate.doFinishedPrime() } + onConfirmClicked : { vPreTreatmentAdjustmentPatientConnectionBegin.doBegin() } } Connections { target: vPreTreatmentAdjustmentPatientConnectionBegin @@ -133,9 +150,14 @@ } } + onStartPrimeClicked: { vPreTreatmentAdjustmentDisposablesPrime.doPrime() } + onVisibleChanged: { if (visible) { _mainMenu.hidden = true } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml =================================================================== diff -u -rc8de9dc4cb679628ac9c0c9551bc43ad3c415d4a -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml (.../PreTreatmentWaterSampleStack.qml) (revision c8de9dc4cb679628ac9c0c9551bc43ad3c415d4a) +++ sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml (.../PreTreatmentWaterSampleStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -136,5 +136,8 @@ if (visible) { _mainMenu.hidden = true } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/pretreatment/connection/PreTreatmentConnectionStack.qml =================================================================== diff -u -rc8de9dc4cb679628ac9c0c9551bc43ad3c415d4a -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/connection/PreTreatmentConnectionStack.qml (.../PreTreatmentConnectionStack.qml) (revision c8de9dc4cb679628ac9c0c9551bc43ad3c415d4a) +++ sources/gui/qml/pages/pretreatment/connection/PreTreatmentConnectionStack.qml (.../PreTreatmentConnectionStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -118,5 +118,8 @@ if (visible) { _mainMenu.hidden = true } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml =================================================================== diff -u -r4f87126626b76aa04ddcf2ae92e04e118cdcbe01 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml (.../PreTreatmentUltrafiltration.qml) (revision 4f87126626b76aa04ddcf2ae92e04e118cdcbe01) +++ sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml (.../PreTreatmentUltrafiltration.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -31,7 +31,7 @@ property alias ufVolume : _volumeSlider.value - header.confirmEnabeled: _volumeSlider.isActive + header.confirmEnabled: _volumeSlider.isActive Text { id: _textLabel visible : true Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentConfirm.qml =================================================================== diff -u -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentConfirm.qml (.../PreTreatmentConfirm.qml) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentConfirm.qml (.../PreTreatmentConfirm.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -30,7 +30,7 @@ PreTreatmentBase { id: _root objectName: "_PreTreatmentConfirm" - header.confirmEnabeled: _flickable.atYEnd + header.confirmEnabled: _flickable.atYEnd Flickable { id: _flickable objectName: "_PreTreatmentConfirmFlickable" Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml =================================================================== diff -u -r695e95aa2ec5e6e1c395567449ac0f671ecd61ed -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml (.../PreTreatmentCreate.qml) (revision 695e95aa2ec5e6e1c395567449ac0f671ecd61ed) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml (.../PreTreatmentCreate.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -30,7 +30,7 @@ PreTreatmentBase { id: _root objectName: "_PreTreatmentCreate" // SquishQt testability - header.confirmEnabeled: vTreatmentCreate.continueEnabled + header.confirmEnabled: vTreatmentCreate.continueEnabled function setInteractive(isInteractive) { _flickable.interactive = isInteractive Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml =================================================================== diff -u -r695e95aa2ec5e6e1c395567449ac0f671ecd61ed -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml (.../PreTreatmentCreateStack.qml) (revision 695e95aa2ec5e6e1c395567449ac0f671ecd61ed) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml (.../PreTreatmentCreateStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -72,5 +72,8 @@ if (visible) { _mainMenu.hidden = true } + else { + stackView.initialItem = null + } } } Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -rc15ce613e372838316d42c40a86953e6f0aa05d3 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision c15ce613e372838316d42c40a86953e6f0aa05d3) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -36,18 +36,10 @@ // ultrafiltration state information bar properties readonly property bool isUFPaused : vHDTreatmentStates.ufPaused - readonly property bool isUFOff : vHDTreatmentStates.ufOff readonly property bool isUFRunning : vHDTreatmentStates.ufRunning - readonly property bool isUFCompleted : vHDTreatmentStates.ufCompleted - readonly property string ufInfoImageSource : isUFPaused ? "qrc:/images/iPauseGray" : - isUFOff ? "qrc:/images/iOffGray" : - isUFCompleted ? "qrc:/images/iDone" : "" - readonly property string ufInfoText : isUFPaused ? qsTr("Ultrafiltration is paused" ) : - isUFOff ? qsTr("Ultrafiltration is off" ) : - isUFCompleted ? qsTr("Ultrafiltration is completed" ) : "" - readonly property string ufInfoTextColor : isUFPaused ? "gray" : - isUFOff ? "gray" : - isUFCompleted ? "lightgray" : "" + readonly property string ufInfoImageSource : isUFPaused ? "qrc:/images/iPauseGray" : "" + readonly property string ufInfoText : isUFPaused ? qsTr("Ultrafiltration is paused" ) : "" + readonly property string ufInfoTextColor : isUFPaused ? "gray" : "" readonly property bool isSBInProgress : ( vHDTreatmentStates.sbRunning || vHDTreatmentStates.sbWaitPump ) Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationPaused.qml =================================================================== diff -u -r73091a6f5717c0fc88e236c06c618ad361f30a3c -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationPaused.qml (.../TreatmentAdjustmentUltrafiltrationPaused.qml) (revision 73091a6f5717c0fc88e236c06c618ad361f30a3c) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationPaused.qml (.../TreatmentAdjustmentUltrafiltrationPaused.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -80,7 +80,7 @@ } TouchRect { id: _resumeButton - visible: ! ( isUFOff || isUFCompleted ) + visible: isUFPaused width: 530 height: 95 anchors { Index: sources/gui/qml/pages/treatment/sections/TreatmentHeparin.qml =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/treatment/sections/TreatmentHeparin.qml (.../TreatmentHeparin.qml) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ sources/gui/qml/pages/treatment/sections/TreatmentHeparin.qml (.../TreatmentHeparin.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -28,6 +28,7 @@ */ TreatmentFluid { id: _root readonly property bool isOff : vHDTreatmentStates.hpOff + readonly property bool isStopped : vHDTreatmentStates.hpStopped readonly property bool isPaused : vHDTreatmentStates.hpPaused readonly property bool isBolus : vHDTreatmentStates.hpInitial_bolus readonly property bool isDispensing : vHDTreatmentStates.hpDispensing @@ -45,6 +46,7 @@ readonly property string mesgCompleted : qsTr("Maximum cumulative heparin volume delivered") readonly property string mesgEmpty : qsTr("Heparin syringe empty") readonly property string mesgOff : qsTr("Heparin delivery Off") + readonly property string mesgStopped : qsTr("Heparin delivery Stopped") readonly property string mesgRejectReason : vTreatmentAdjustmentHeparin.adjustment_ReasonText } @@ -55,7 +57,7 @@ targetVisible: false progressBarVisible: false - isTouchable : ! (isOff || isBolus || isEmpty) && ! isSBInProgress && isTxRunning + isTouchable : ! (isOff || isStopped || isBolus || isEmpty) && ! isSBInProgress && isTxRunning buttonText : ! isTxRunning ? _private.textHeparin : isDispensing ? _private.textPause : isPaused ? _private.textResume : @@ -75,6 +77,7 @@ visible : true text : isBolus ? _private.mesgBolus : isOff ? _private.mesgOff : + isStopped ? _private.mesgStopped : isCompleted ? _private.mesgCompleted : isEmpty ? _private.mesgEmpty : _private.mesgRejectReason Index: sources/gui/qml/pages/treatment/sections/TreatmentTime.qml =================================================================== diff -u -rfa1b7c7d5ca98b991168bacc0bab1e9614ed39b6 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/treatment/sections/TreatmentTime.qml (.../TreatmentTime.qml) (revision fa1b7c7d5ca98b991168bacc0bab1e9614ed39b6) +++ sources/gui/qml/pages/treatment/sections/TreatmentTime.qml (.../TreatmentTime.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -32,7 +32,8 @@ property int progressValue : vTreatmentTime.time_Elapsed property int timeTextValue : vTreatmentTime.time_Remaining - property bool isRunning : vHDTreatmentStates.txDialysis + property bool isRunning : vHDTreatmentStates.txDialysis && + !( vHDTreatmentStates.sbWaitPump || vHDTreatmentStates.sbRunning ) signal clicked() Index: sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml =================================================================== diff -u -r50a109da2a76b335793c2b95fa668733fb7df684 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml (.../TreatmentUltrafiltration.qml) (revision 50a109da2a76b335793c2b95fa668733fb7df684) +++ sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml (.../TreatmentUltrafiltration.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -41,7 +41,6 @@ title : qsTr("ULTRAFILTRATION VOLUME") + " " + Variables.unitTextUltrafiltrationVolume notification { visible : true - imageSource : ufInfoImageSource text : ufInfoText textColor : ufInfoTextColor } @@ -62,6 +61,6 @@ value : _root.value valueEx : 0 - marker.color : isUFPaused || isUFOff ? "dimgray" : Colors.rangeMarker + marker.color : isUFPaused ? "dimgray" : Colors.rangeMarker } } Index: sources/model/hd/adjustment/MPreTreatmentAdjustParametersValidationResponse.cpp =================================================================== diff -u -re0412efcf85964a18ec52ad80f233c45998eb45a -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/model/hd/adjustment/MPreTreatmentAdjustParametersValidationResponse.cpp (.../MPreTreatmentAdjustParametersValidationResponse.cpp) (revision e0412efcf85964a18ec52ad80f233c45998eb45a) +++ sources/model/hd/adjustment/MPreTreatmentAdjustParametersValidationResponse.cpp (.../MPreTreatmentAdjustParametersValidationResponse.cpp) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -18,7 +18,7 @@ QVariantList MAdjustParametersValidationResponse::parameters() const { return { - _data.requestValid .value, + _data.mAccepted .value, _data.bloodFlowRate .value, _data.dialysateFlowRate .value, _data.duration .value, @@ -41,7 +41,7 @@ bool MAdjustParametersValidationResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { int index = 0; // message data start position - if (GetValue(vByteArray, index, _data.requestValid )) + if (GetValue(vByteArray, index, _data.mAccepted )) if (GetValue(vByteArray, index, _data.bloodFlowRate )) if (GetValue(vByteArray, index, _data.dialysateFlowRate )) if (GetValue(vByteArray, index, _data.duration )) @@ -82,7 +82,7 @@ MAdjustParametersValidationResponse::Data MAdjustParametersValidationResponse::data() const { Data data; - data.requestValid = _data.requestValid .value; + data.mAccepted = _data.mAccepted .value; data.bloodFlowRate = _data.bloodFlowRate .value; data.dialysateFlowRate = _data.dialysateFlowRate .value; data.duration = _data.duration .value; Index: sources/model/hd/adjustment/MPreTreatmentAdjustParametersValidationResponse.h =================================================================== diff -u -re0412efcf85964a18ec52ad80f233c45998eb45a -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/model/hd/adjustment/MPreTreatmentAdjustParametersValidationResponse.h (.../MPreTreatmentAdjustParametersValidationResponse.h) (revision e0412efcf85964a18ec52ad80f233c45998eb45a) +++ sources/model/hd/adjustment/MPreTreatmentAdjustParametersValidationResponse.h (.../MPreTreatmentAdjustParametersValidationResponse.h) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -35,7 +35,7 @@ * * | Payload || * | || - * | #1:(U32) | \ref Data::requestValid | + * | #1:(U32) | \ref Data::mAccepted | * | #2:(U32) | \ref Data::bloodFlowRate | * | #3:(U32) | \ref Data::dialysateFlowRate | * | #4:(U32) | \ref Data::duration | @@ -71,7 +71,7 @@ QVariantList parameters() const override; struct { - Types::U32 requestValid ; + Types::U32 mAccepted ; Types::U32 bloodFlowRate ; Types::U32 dialysateFlowRate ; Types::U32 duration ; @@ -98,7 +98,7 @@ QString infoText () const override { return QString("ParametersValidation"); } struct Data { - quint32 requestValid = 0; + quint32 mAccepted = 0; quint32 bloodFlowRate = 0; quint32 dialysateFlowRate = 0; quint32 duration = 0; Index: sources/storage/StorageGlobals.cpp =================================================================== diff -u -ra3030123e885fb9f22dea5839c4e988896a257e4 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/storage/StorageGlobals.cpp (.../StorageGlobals.cpp) (revision a3030123e885fb9f22dea5839c4e988896a257e4) +++ sources/storage/StorageGlobals.cpp (.../StorageGlobals.cpp) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -26,8 +26,8 @@ namespace Storage { // USB - const char *USB_Mount_Point = "/media/usb/"; - const char *USB_File_System = "vfat"; + const char *USB_Mount_Point = "/media/usb/"; + const char *USB_File_System = "vfat"; // Treatment const char *Treatment_Base_Dir = "/media/sd-card/treatment/"; Index: sources/view/VTreatmentCreate.cpp =================================================================== diff -u -re0412efcf85964a18ec52ad80f233c45998eb45a -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision e0412efcf85964a18ec52ad80f233c45998eb45a) +++ sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -323,9 +323,10 @@ success = false; emit rinsebackFlowRate_ValidationFailed(enumToString(static_cast(data.rinsebackFlowRate))); } - if (data.requestValid != Gui::GuiRequestReasons::REQUEST_REJECT_REASON_NONE) { + + if (! data.mAccepted) { success = false; - emit fwValidationFailed(enumToString(static_cast(data.requestValid))); + emit fwValidationFailed(""); } qDebug() << "fw validation success = " << success; Index: sources/view/hd/data/VHDTreatmentStatesData.cpp =================================================================== diff -u -r2d2917978a4e25eb79a0fb71851b6124171d8072 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/view/hd/data/VHDTreatmentStatesData.cpp (.../VHDTreatmentStatesData.cpp) (revision 2d2917978a4e25eb79a0fb71851b6124171d8072) +++ sources/view/hd/data/VHDTreatmentStatesData.cpp (.../VHDTreatmentStatesData.cpp) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -55,8 +55,6 @@ ufStart ( vData.mUFState == GuiUFStates ::UF_START_STATE ); ufPaused ( vData.mUFState == GuiUFStates ::UF_PAUSED_STATE ); ufRunning ( vData.mUFState == GuiUFStates ::UF_RUNNING_STATE ); - ufOff ( vData.mUFState == GuiUFStates ::UF_OFF_STATE ); - ufCompleted ( vData.mUFState == GuiUFStates ::UF_COMPLETED_STATE ); // Saline Bolus states sbIdle ( vData.mSalineState == GuiSalineStates ::SALINE_BOLUS_STATE_IDLE ); @@ -66,6 +64,7 @@ // Heparin States hpOff ( vData.mHeparinState == GuiHeparinStates ::HEPARIN_STATE_OFF ); + hpStopped ( vData.mHeparinState == GuiHeparinStates ::HEPARIN_STATE_STOPPED ); hpPaused ( vData.mHeparinState == GuiHeparinStates ::HEPARIN_STATE_PAUSED ); hpInitial_bolus ( vData.mHeparinState == GuiHeparinStates ::HEPARIN_STATE_INITIAL_BOLUS ); hpDispensing ( vData.mHeparinState == GuiHeparinStates ::HEPARIN_STATE_DISPENSING ); @@ -145,8 +144,6 @@ ufStart ( vData.mState == GuiUFStates ::UF_START_STATE ); ufPaused ( vData.mState == GuiUFStates ::UF_PAUSED_STATE ); ufRunning ( vData.mState == GuiUFStates ::UF_RUNNING_STATE ); - ufOff ( vData.mState == GuiUFStates ::UF_OFF_STATE ); - ufCompleted ( vData.mState == GuiUFStates ::UF_COMPLETED_STATE ); } /*! Index: sources/view/hd/data/VHDTreatmentStatesData.h =================================================================== diff -u -r2cee3c28bf7565eeb55dcb033961fe6962f11d16 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/view/hd/data/VHDTreatmentStatesData.h (.../VHDTreatmentStatesData.h) (revision 2cee3c28bf7565eeb55dcb033961fe6962f11d16) +++ sources/view/hd/data/VHDTreatmentStatesData.h (.../VHDTreatmentStatesData.h) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -77,8 +77,6 @@ // coco end PROPERTY( bool , ufPaused , false) ///< UF_PAUSED_STATE = 1 # Paused state of the ultrafiltration state machine PROPERTY( bool , ufRunning , false) ///< UF_RUNNING_STATE = 2 # Running state of the ultrafiltration state machine - PROPERTY( bool , ufOff , true ) ///< UF_OFF_STATE = 3 # Completed/off state of the ultrafiltration state machine - PROPERTY( bool , ufCompleted , false) ///< UF_COMPLETED_STATE = 4 # Completed state of ultrafiltration state machine // ---- Saline Bolus states PROPERTY( bool , sbIdle , true ) ///< SALINE_BOLUS_STATE_IDLE = 0 # No saline bolus delivery is in progress @@ -88,11 +86,12 @@ // ---- Heparin states PROPERTY( bool , hpOff , true ) ///< HEPARIN_STATE_OFF = 0 # No heparin delivery is in progress - PROPERTY( bool , hpPaused , false) ///< HEPARIN_STATE_PAUSED = 1 # Heparin delivery paused - PROPERTY( bool , hpInitial_bolus , false) ///< HEPARIN_STATE_INITIAL_BOLUS = 2 # Initial heparin bolus delivery in progress - PROPERTY( bool , hpDispensing , false) ///< HEPARIN_STATE_DISPENSING = 3 # Gradual heparin dispensing in progress - PROPERTY( bool , hpCompleted , false) ///< HEPARIN_STATE_COMPLETED = 4 # Heparin delivery stopped due to the set stop time before treatment end - PROPERTY( bool , hpEmpty , false) ///< HEPARIN_STATE_EMPTY = 5 # Heparin Syringe empty + PROPERTY( bool , hpStopped , false) ///< HEPARIN_STATE_STOPPED = 1 # Heparin delivery stopped by alarm or not yet started + PROPERTY( bool , hpPaused , false) ///< HEPARIN_STATE_PAUSED = 2 # Heparin delivery paused + PROPERTY( bool , hpInitial_bolus , false) ///< HEPARIN_STATE_INITIAL_BOLUS = 3 # Initial heparin bolus delivery in progress + PROPERTY( bool , hpDispensing , false) ///< HEPARIN_STATE_DISPENSING = 4 # Gradual heparin dispensing in progress + PROPERTY( bool , hpCompleted , false) ///< HEPARIN_STATE_COMPLETED = 5 # Heparin delivery stopped due to the set stop time before treatment end + PROPERTY( bool , hpEmpty , false) ///< HEPARIN_STATE_EMPTY = 6 # Heparin Syringe empty // Rinseback States PROPERTY( bool , rbInit , true ) ///< RINSEBACK_STOP_INIT_STATE = 0 # Start state (stopped) of the rinseback sub-mode state machine Index: sources/view/hd/data/VPreTreatmentStatesData.cpp =================================================================== diff -u -rc0c63c4b149dafea2b02e4cd31f223e392ff7818 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/view/hd/data/VPreTreatmentStatesData.cpp (.../VPreTreatmentStatesData.cpp) (revision c0c63c4b149dafea2b02e4cd31f223e392ff7818) +++ sources/view/hd/data/VPreTreatmentStatesData.cpp (.../VPreTreatmentStatesData.cpp) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -72,7 +72,7 @@ selfTestNoCartridge_pumps ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_PUMPS_STATE ); selfTestNoCartridge_leakDetectors ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_LEAK_DETECTORS_STATE ); selfTestNoCartridge_boardTemperature ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE ); - selfTestNoCartridge_doorSwitch ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_DOOR_SWITCH_STATE ); + selfTestNoCartridge_startHoming ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_START_HOMING_STATE ); selfTestNoCartridge_homeValvesAndPumps ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_HOME_VALVES_AND_PUMPS_STATE ); selfTestNoCartridge_homeIdle ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_HOME_IDLE_STATE ); selfTestNoCartridge_stopped ( vData.mSelfTestNoCartridgeState == GuiPreTreatmentSelfTestNoCartridgeStates ::NO_CART_SELF_TESTS_STOPPED_STATE ); @@ -95,8 +95,7 @@ if ( mSelfTestDry ) { selfTestDry_start ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_START_STATE ); selfTestDry_waitDoorClose ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE ); - selfTestDry_bubbleDetector ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_BUBBLE_DETECTOR_STATE ); - selfTestDry_airTrap ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_AIR_TRAP_STATE ); + selfTestDry_usedCartridge ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE ); selfTestDry_occlusionSensors ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE ); selfTestDry_pressureSensorsSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE ); selfTestDry_pressureSensors ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_STATE ); Index: sources/view/hd/data/VPreTreatmentStatesData.h =================================================================== diff -u -rdb2238dcf17941be6a3c587b55a3ef06b94cee96 -rbd01334f257c35b96b7b232beacbcd7fae60c852 --- sources/view/hd/data/VPreTreatmentStatesData.h (.../VPreTreatmentStatesData.h) (revision db2238dcf17941be6a3c587b55a3ef06b94cee96) +++ sources/view/hd/data/VPreTreatmentStatesData.h (.../VPreTreatmentStatesData.h) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) @@ -83,7 +83,7 @@ PROPERTY( bool , selfTestNoCartridge_pumps , false ) ///< NO_CART_SELF_TESTS_PUMPS_STATE , No cartridge self-test for blood pump, dialysate in pump, dialysate out pump state. PROPERTY( bool , selfTestNoCartridge_leakDetectors , false ) ///< NO_CART_SELF_TESTS_LEAK_DETECTORS_STATE , No cartridge leak detectors self-test state. PROPERTY( bool , selfTestNoCartridge_boardTemperature , false ) ///< NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE , No cartridge board temperature self-test state. - PROPERTY( bool , selfTestNoCartridge_doorSwitch , false ) ///< NO_CART_SELF_TESTS_DOOR_SWITCH_STATE , No cartridge door switch self-test state. + PROPERTY( bool , selfTestNoCartridge_startHoming , false ) ///< NO_CART_SELF_TESTS_START_HOMING_STATE , No cartridge start home valves and pumps state PROPERTY( bool , selfTestNoCartridge_homeValvesAndPumps , false ) ///< NO_CART_SELF_TESTS_HOME_VALVES_AND_PUMPS_STATE , No cartridge home valves and pumps self-test state. PROPERTY( bool , selfTestNoCartridge_homeIdle , false ) ///< NO_CART_SELF_TESTS_HOME_IDLE_STATE , Wait for valves and pumps finish homing state. PROPERTY( bool , selfTestNoCartridge_stopped , false ) ///< NO_CART_SELF_TESTS_STOPPED_STATE , No cart self-test stopped state. @@ -96,8 +96,7 @@ // Self tests dry state PROPERTY( bool , selfTestDry_start , false ) ///< DRY_SELF_TESTS_START_STATE , Dry self-tests starting state. PROPERTY( bool , selfTestDry_waitDoorClose , false ) ///< DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE , Wait for door to close before executing self-tests. - STATE ( bool , selfTestDry_bubbleDetector , false ) ///< DRY_SELF_TESTS_BUBBLE_DETECTOR_STATE , Bubble detectors dry self-test state. - STATE ( bool , selfTestDry_airTrap , false ) ///< DRY_SELF_TESTS_AIR_TRAP_STATE , Air trap fill level ultrasonic sensor dry self-test state. + STATE ( bool , selfTestDry_usedCartridge , false ) ///< DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE , Used Cartridge self-test state. STATE ( bool , selfTestDry_occlusionSensors , false ) ///< DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE , Occlusion sensors dry self-test state. STATE ( bool , selfTestDry_pressureSensorsSetup , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE , Pressure sensors dry self-test setup valves and pump state. STATE ( bool , selfTestDry_pressureSensors , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_STATE , Pressure sensors verify pressure readings state.