Index: sources/gui/qml/components/CloseButton.qml =================================================================== diff -u -rb12853c86ef9e517667516dc3e47bca07349cedf -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/components/CloseButton.qml (.../CloseButton.qml) (revision b12853c86ef9e517667516dc3e47bca07349cedf) +++ sources/gui/qml/components/CloseButton.qml (.../CloseButton.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -36,7 +36,8 @@ anchors.fill: parent } MouseArea { - anchors.fill: parent + anchors.fill : parent + anchors.margins : -25 // create a larger hitbox for the touch area onClicked : { _root.clicked() } Index: sources/gui/qml/components/DebugDataColumn.qml =================================================================== diff -u -r9143dd9055ada50b3ec13e7ce0671727a784f38f -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/components/DebugDataColumn.qml (.../DebugDataColumn.qml) (revision 9143dd9055ada50b3ec13e7ce0671727a784f38f) +++ sources/gui/qml/components/DebugDataColumn.qml (.../DebugDataColumn.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -17,62 +17,101 @@ import QtQuick 2.12 // Project -import Gui.Actions 0.1; // Qml imports import "qrc:/globals" -import "qrc:/components" -Column { id: _root - property var model: [] - property var label: [] - property string title: "Title" - property int fontPixelSizeTitle: Fonts.fontPixelDebugTitle - property int fontPixelSizeText : Fonts.fontPixelDebugText - property int fontPixelSizeLabel: Fonts.fontPixelDebugLabel - - property string textObjectName: "_DebugDataColumn" - - property int horizontalAlignmentTitle: Text.AlignRight +Rectangle { id: _root + property var model : [] + property var label : [] + property string title : "" + property int fontPixelSizeTitle : Fonts.fontPixelDebugTitle + property int fontPixelSizeText : Fonts.fontPixelDebugText + property int fontPixelSizeLabel : Fonts.fontPixelDebugLabel + property string textObjectName : "_DebugDataColumn" + property int horizontalAlignmentTitle: Text.AlignHCenter property int horizontalAlignmentText : Text.AlignRight + property bool isTouchRect : false + property bool isOpened : false - width : 150 - spacing : -10 + width : _column.implicitWidth + height : isTouchRect || isOpened ? _column.implicitHeight + 15 : 30 + radius : 8.5 + color : Colors.panelBackgroundColor + clip: true - Text { id: _title - text : _root.title - width : _root.width - horizontalAlignment: _root.horizontalAlignmentTitle - color: Colors.textMain - font.pixelSize: fontPixelSizeTitle - font.underline: true - bottomPadding: 5 - font.family: Fonts.fontFamilyFixed + border { + width: 1 + color: Colors.panelBorderColor } - Repeater { id: _repeater - model: _root.model - Text { id: _text - objectName: _root.textObjectName + index - text: modelData - width: _root.width - horizontalAlignment: _root.horizontalAlignmentText - color: Colors.textMain - font.pixelSize: fontPixelSizeText - font.family: Fonts.fontFamilyFixed - font.weight: Font.Light + Column { id: _column + Rectangle { id: _header + width : _column.width + height : _title.implicitHeight + color : "#3A5A7B" + radius : 8.5 + visible : _title.text.length > 0 - Text { - objectName : _root.textObjectName + "L" + index - text : (index < _root.label.length) ? _root.label[index] : "" - color : Colors.textMain - font.pixelSize : fontPixelSizeLabel - anchors.baseline: parent.baseline - anchors.left : parent.right - anchors.leftMargin: 10 - horizontalAlignment: Text.AlignLeft - font.family: Fonts.fontFamilyFixed + border { + width: 1 + color: "#6B7C8F" } + Text { id: _title + text : _root.title + horizontalAlignment : _root.horizontalAlignmentTitle + color : Colors.offWhite + font.pixelSize : fontPixelSizeTitle + font.family : Fonts.fontFamilyFixed + anchors.fill : parent + } + + MouseArea { + anchors.fill : parent + onClicked : { + _root.isOpened = ! _root.isOpened + } + } } + + Repeater { id: _repeater + model : _root.model + height : delegate.implicitHeight + width : delegate.implicitWidth + + delegate : Grid { id: _delegate + columns : 2 + columnSpacing : 5 + width : _text.implicitWidth + _value.width + leftPadding * 2 // content width + left and right padding + height : ( isTouchRect ? _value.implicitHeight : _text.implicitHeight + 1 ) + leftPadding : 10 + rightPadding : leftPadding + + Text { id: _value + objectName : _root.textObjectName + index + text : modelData + width : Math.max(100, implicitWidth) + horizontalAlignment : _root.horizontalAlignmentText + color : Colors.offWhite + font.pixelSize : fontPixelSizeText + font.family : Fonts.fontFamilyFixed + font.weight : Font.Light + verticalAlignment : Text.AlignTop + } + + Text { id: _text + objectName : _root.textObjectName + "L" + index + text : (index < _root.label.length) ? _root.label[index] : "" + color : Colors.offWhite + height : _value.implicitHeight + font.pixelSize : fontPixelSizeLabel + horizontalAlignment : Text.AlignLeft + font.family : Fonts.fontFamilyFixed + verticalAlignment : Text.AlignVCenter + } + } + } } + + Behavior on height { NumberAnimation { duration: 250 } } } Index: sources/gui/qml/components/HeaderBar.qml =================================================================== diff -u -rbea36be2766046e63c4e82539a630b5cee7ce1c6 -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision bea36be2766046e63c4e82539a630b5cee7ce1c6) +++ sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -26,16 +26,26 @@ MouseArea { id: _mouseArea anchors.fill : parent // TODO: disable this later. this is only for diagnostic purpose. - onDoubleClicked : { - if ( _GuiView.dryDemoMode ) { - let dryDemoTempID = 99 - let id = vConfirm.id - vConfirm.id = dryDemoTempID - vConfirm.doConfirm( true ) - vConfirm.id = id + property real lastClickTime: 0 + property int doubleClickThreshold: 500 // ms + + onClicked : { + const now = Date.now() + if (now - _mouseArea.lastClickTime < _mouseArea.doubleClickThreshold) { + if ( _GuiView.dryDemoMode ) { + let dryDemoTempID = 99 + let id = vConfirm.id + vConfirm.id = dryDemoTempID + vConfirm.doConfirm( true ) + vConfirm.id = id + } + else { + _diagnosticsDialog.open() + } + lastClickTime = 0 } else { - _diagnosticsDialog.open() + lastClickTime = now } } } Index: sources/gui/qml/components/MainMenu.qml =================================================================== diff -u -rcbf070d3a5b274700f8831ab50dd95986a533477 -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/components/MainMenu.qml (.../MainMenu.qml) (revision cbf070d3a5b274700f8831ab50dd95986a533477) +++ sources/gui/qml/components/MainMenu.qml (.../MainMenu.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -34,6 +34,8 @@ property int highlightHeight : 10 property bool isMainMenu : false property bool isMainTreatment : false + property bool isDiagnostics : false + readonly property int currentScreen : isMainTreatment ? _mainTreatmentModel.get(index).screen : 0 property color statusColor : Colors.transparent @@ -69,6 +71,12 @@ ListElement { text: qsTr("Settings") ; visible: true } } + ListModel { id: _diagnosticsModel + ListElement { text: qsTr("Treatment Delivery & Blood Handling") ; visible: true } + ListElement { text: qsTr("Dialysate Delivery") ; visible: true } + ListElement { text: qsTr("Filtration & Purification") ; visible: true } + } + ListView { id: _listView property alias index : _listView.currentIndex @@ -77,6 +85,7 @@ anchors.rightMargin : anchors.leftMargin model : isMainMenu ? _mainMenuModel : isMainTreatment ? _mainTreatmentModel : + isDiagnostics ? _diagnosticsModel : null currentIndex : 0 highlightFollowsCurrentItem : true Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsBase.qml =================================================================== diff -u -r3c07dc803109f716937b692cb4a67a5324bb9ca3 -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/dialogs/diagnostics/DiagnosticsBase.qml (.../DiagnosticsBase.qml) (revision 3c07dc803109f716937b692cb4a67a5324bb9ca3) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsBase.qml (.../DiagnosticsBase.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -24,25 +24,20 @@ Item { id: _root + property Item contentItem : null + property alias contentArea : _contentArea + property int spacing : Variables.defaultMargin * 1.5 - property string title: "Information" - - function col(idx, gap = 0) { - return idx * 155 + gap - } - - function row(idx, gap = 10) { - return idx * 100 + 3*gap + _title.height - } - - Label { id: _title - objectName: "_DiagnosticsBaseTitle" - text: _root.title - font.pixelSize: 60 - horizontalAlignment: Text.AlignHCenter + ContentArea { id : _contentArea anchors { - top: _root.top - horizontalCenter: _root.horizontalCenter + top : parent.top + topMargin : Variables.defaultMargin * 4 + left : _root.left + right : _root.right + bottom : _root.bottom + margins : _root.spacing } + + contentItem: _root.contentItem } } Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml =================================================================== diff -u -r180629277c415aeea3818dd6630f2ad8b0a009ca -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml (.../DiagnosticsDD.qml) (revision 180629277c415aeea3818dd6630f2ad8b0a009ca) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml (.../DiagnosticsDD.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -21,489 +21,529 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/compounds" /*! * \brief the post treatment prime stack screen */ DiagnosticsBase { id: _root - objectName: "_DiagnosticsDD" + objectName : "_DiagnosticsDD" + spacing : Variables.defaultMargin - title: qsTr("Dialysate Delivery") + contentItem : Item { id: _content - DebugDataColumn { id: _DDConcentratePumpColumn - textObjectName :"_DDConcentratePumpData" - title : qsTr(" Conc Pump ") - x: col(0) - y: row(0) + DebugDataColumn { id: _DDConcentratePumpColumn + textObjectName :"_DDConcentratePumpData" + title : qsTr(" Conc Pump ") + anchors { + top : parent.top + left : parent.left + } + model: [ + vDDConcentratePump.D10PumpCurrentSetSpeed .toFixed(2) , + vDDConcentratePump.D10PumpMeasuredSpeed .toFixed(2) , + vDDConcentratePump.D10PumpTargetRevCount , + vDDConcentratePump.D10PumpMeasuredRevCount , + vDDConcentratePump.D10PumpState , + vDDConcentratePump.D10PumpPulseUS .toFixed(2) , + vDDConcentratePump.D10PumpTargetSpeed .toFixed(2) , + vDDConcentratePump.D10PumpParked , + vDDConcentratePump.D10PumpParkFault , + vDDConcentratePump.D11PumpCurrentSetSpeed .toFixed(2) , + vDDConcentratePump.D11PumpMeasuredSpeed .toFixed(2) , + vDDConcentratePump.D11PumpTargetRevCount , + vDDConcentratePump.D11PumpMeasuredRevCount , + vDDConcentratePump.D11PumpState , + vDDConcentratePump.D11PumpPulseUS .toFixed(2) , + vDDConcentratePump.D11PumpTargetSpeed .toFixed(2) , + vDDConcentratePump.D11PumpParked , + vDDConcentratePump.D11PumpParkFault , + vDDConcentratePump.D76PumpCurrentSetSpeed .toFixed(2) , + vDDConcentratePump.D76PumpMeasuredSpeed .toFixed(2) , + vDDConcentratePump.D76PumpTargetRevCount , + vDDConcentratePump.D76PumpMeasuredRevCount , + vDDConcentratePump.D76PumpState , + vDDConcentratePump.D76PumpPulseUS .toFixed(2) , + vDDConcentratePump.D76PumpTargetSpeed .toFixed(2) , + ] + label: [ + "sSpd (D10) ", + "mSpd (D10) ", + "rCnt (D10) ", + "mCnt (D10) ", + "State (D10) ", + "Plse (D10) ", + "tSpd (D10) ", + "park (D10) ", + "pfault (D10) ", + "sSpd (D11) ", + "mSpd (D11) ", + "rCnt (D11) ", + "mCnt (D11) ", + "State (D11) ", + "Plse (D11) ", + "tSpd (D11) ", + "park (D11) ", + "pfault (D11) ", + "sSpd (D76) ", + "mSpd (D76) ", + "rCnt (D76) ", + "mCnt (D76) ", + "State (D76) ", + "Plse (D76) ", + "tSpd (D76) ", + ] + } + + DebugDataColumn { id: _DDDialysatePumpColumn + textObjectName :"_DDDialysatePumpData" + title : qsTr(" Dial Pump ") + anchors { + top : parent.top + left : _DDConcentratePumpColumn.right + leftMargin : spacing + } + model: [ + vDDDialysatePump.D12PumpTargetRPM .toFixed(2) , + vDDDialysatePump.D12PumpMeasuredSpeed .toFixed(2) , + vDDDialysatePump.D12PumpCurrentSpeed .toFixed(2) , + vDDDialysatePump.D12PumpState , + vDDDialysatePump.D12PumpTargetPressure .toFixed(2) , + vDDDialysatePump.D12PumpMeasuredPressure .toFixed(2) , + vDDDialysatePump.D12PumpMeasuredCurrent .toFixed(2) , + vDDDialysatePump.D12PumpControl , + vDDDialysatePump.D12PumpDirErrCnt , + vDDDialysatePump.D12PumpMeasuredDir , + vDDDialysatePump.D48PumpTargetRPM .toFixed(2) , + vDDDialysatePump.D48PumpMeasuredSpeed .toFixed(2) , + vDDDialysatePump.D48PumpCurrentSpeed .toFixed(2) , + vDDDialysatePump.D48PumpState , + vDDDialysatePump.D48PumpTargetPressure .toFixed(2) , + vDDDialysatePump.D48PumpMeasuredPressure .toFixed(2) , + vDDDialysatePump.D48PumpMeasuredCurrent .toFixed(2) , + vDDDialysatePump.D48PumpControl , + vDDDialysatePump.D48PumpDirErrCnt , + vDDDialysatePump.D48PumpMeasuredDir , + ] + label: [ + "tRPM (D12) ", + "mSpd (D12) ", + "cSpd (D12) ", + "State (D12) ", + "tPres (D12) ", + "mPres (D12) ", + "Ctrl (D12) ", + "eCnt (D12) ", + "mCurr (D12) ", + "mDir (D12) ", + "tRPM (D48) ", + "mSpd (D48) ", + "cSpd (D48) ", + "State (D48) ", + "tPres (D48) ", + "mPres (D48) ", + "mCurr (D48) ", + "Ctrl (D48) ", + "eCnt (D48) ", + "mDir (D48) ", + ] + } + + DebugDataColumn { id: _DDHeatersColumn + textObjectName :"_DDHeatersData" + title : qsTr(" Heaters ") + anchors { + top : parent.top + left : _DDDialysatePumpColumn.right + leftMargin : spacing + } + model: [ + vDDHeaters.mainPrimayHeaterDC .toFixed(2) , + vDDHeaters.primaryTargetTemp .toFixed(2) , + vDDHeaters.primaryHeaterState , + vDDHeaters.primaryHeaterIntervalCount , + vDDHeaters.trimmerHeaterDC .toFixed(2) , + vDDHeaters.trimmerTargetTemp .toFixed(2) , + vDDHeaters.trimmerHeaterState , + vDDHeaters.trimmerHeaterIntervalCount , + vDDHeaters.dbg1 .toFixed(2) , + vDDHeaters.dbg2 .toFixed(2) , + vDDHeaters.dbg3 .toFixed(2) , + vDDHeaters.dbg4 .toFixed(2) , + vDDHeaters.dbg5 .toFixed(2) , + vDDHeaters.dbg6 .toFixed(2) , + vDDHeaters.dbg7 .toFixed(2) , + vDDHeaters.dbg8 .toFixed(2) , + vDDHeaters.dbg9 .toFixed(2) , + ] + label: [ + "pHeat (D5) ", + "pTemp (D5) ", + "pState (D5) ", + "pIC (D5) ", + "tHeat (D45) ", + "tTemp (D45) ", + "tstate (D45) ", + "tIC (D45) ", + "dbg1 ", + "dbg2 ", + "dbg3 ", + "dbg4 ", + "dbg5 ", + "dbg6 ", + "dbg7 ", + "dbg8 ", + "dbg9 ", + ] + } + + DebugDataColumn { id: _DDTemperatureColumn + textObjectName :"_DDTemperatureData" + title : qsTr(" Temp ") + anchors { + top : parent.top + left : _DDHeatersColumn.right + leftMargin : spacing + } + model: [ + vDDTemperatures.inletHeatExchanger .toFixed(2) , + vDDTemperatures.outletHeatExchanger .toFixed(2) , + vDDTemperatures.hydraulicsPrimaryHeater .toFixed(2) , + vDDTemperatures.trimmerHeater .toFixed(2) , + vDDTemperatures.boardTemperature .toFixed(2) , + vDDTemperatures.barometricTemperature .toFixed(2) , + vDDTemperatures.D16Conductivity .toFixed(2) , + vDDTemperatures.D28Conductivity .toFixed(2) , + vDDTemperatures.D30Conductivity .toFixed(2) , + vDDTemperatures.D44Conductivity .toFixed(2) , + vDDTemperatures.D75Conductivity .toFixed(2) , + vDDTemperatures.D4MovingAverage .toFixed(2) , + vDDTemperatures.D50MovingAverage .toFixed(2) , + vDDTemperatures.D28MovingAverage .toFixed(2) , + vDDTemperatures.D30MovingAverage .toFixed(2) , + ] + label: [ + "inHE (D1) ", + "outHE (X6) ", + "hydr (D4) ", + "trim (D50) ", + "board ", + "baro ", + "Cond (D16) ", + "Cond (D28) ", + "Cond (D30) ", + "Cond (D44) ", + "Cond (D75) ", + "mAvg (D4) ", + "mAvg (D50) ", + "mAvg (D28) ", + "mAvg (D30) ", + ] + } + + DebugDataColumn { id: _DDPressureColumn + textObjectName :"_DDPressureData" + title : qsTr(" Pressure ") + anchors { + top : parent.top + left : _DDTemperatureColumn.right + leftMargin : spacing + } model: [ - vDDConcentratePump.D10PumpCurrentSetSpeed .toFixed(2) , - vDDConcentratePump.D10PumpMeasuredSpeed .toFixed(2) , - vDDConcentratePump.D10PumpTargetRevCount , - vDDConcentratePump.D10PumpMeasuredRevCount , - vDDConcentratePump.D10PumpState , - vDDConcentratePump.D10PumpPulseUS .toFixed(2) , - vDDConcentratePump.D10PumpTargetSpeed .toFixed(2) , - vDDConcentratePump.D10PumpParked , - vDDConcentratePump.D10PumpParkFault , - vDDConcentratePump.D11PumpCurrentSetSpeed .toFixed(2) , - vDDConcentratePump.D11PumpMeasuredSpeed .toFixed(2) , - vDDConcentratePump.D11PumpTargetRevCount , - vDDConcentratePump.D11PumpMeasuredRevCount , - vDDConcentratePump.D11PumpState , - vDDConcentratePump.D11PumpPulseUS .toFixed(2) , - vDDConcentratePump.D11PumpTargetSpeed .toFixed(2) , - vDDConcentratePump.D11PumpParked , - vDDConcentratePump.D11PumpParkFault , - vDDConcentratePump.D76PumpCurrentSetSpeed .toFixed(2) , - vDDConcentratePump.D76PumpMeasuredSpeed .toFixed(2) , - vDDConcentratePump.D76PumpTargetRevCount , - vDDConcentratePump.D76PumpMeasuredRevCount , - vDDConcentratePump.D76PumpState , - vDDConcentratePump.D76PumpPulseUS .toFixed(2) , - vDDConcentratePump.D76PumpTargetSpeed .toFixed(2) , + vDDPressures.waterInletPSI .toFixed(2), + vDDPressures.waterOutletPSI .toFixed(2), + vDDPressures.hydrolicOutletPSI .toFixed(2), + vDDPressures.bicarbBagPSI .toFixed(2), + vDDPressures.spentDialysatePSI .toFixed(2), + vDDPressures.freshDialysatePSI .toFixed(2), + vDDPressures.transmembranePSI .toFixed(2), + vDDPressures.waterInletTemp .toFixed(2), + vDDPressures.waterOutletTemp .toFixed(2), + vDDPressures.hydrolicOutletTemp .toFixed(2), + vDDPressures.bicarbBagTemp .toFixed(2), + vDDPressures.spentDialysateTemp .toFixed(2), + vDDPressures.freshDialysateTemp .toFixed(2), + vDDPressures.transmembraneTemp .toFixed(2), ] label: [ - "sSpd (D10) ", - "mSpd (D10) ", - "rCnt (D10) ", - "mCnt (D10) ", - "State (D10) ", - "Plse (D10) ", - "tSpd (D10) ", - "park (D10) ", - "pfault (D10) ", - "sSpd (D11) ", - "mSpd (D11) ", - "rCnt (D11) ", - "mCnt (D11) ", - "State (D11) ", - "Plse (D11) ", - "tSpd (D11) ", - "park (D11) ", - "pfault (D11) ", - "sSpd (D76) ", - "mSpd (D76) ", - "rCnt (D76) ", - "mCnt (D76) ", - "State (D76) ", - "Plse (D76) ", - "tSpd (D76) ", + "WInPSI (M1) ", + "WOutPSI (M3) ", + "HOutPSI (D9) ", + "BBagPSI (D66) ", + "SDialPSI (D51) ", + "FDialPSI (D18) ", + "TransPSI (D41) ", + "WInTmp (M1) ", + "WOutTmp (M3) ", + "HOutTmp (D9) ", + "BBagTmp (D66) ", + "SDialTmp (D51) ", + "FDialTmp (D18) ", + "TransTmp (D41) ", ] } - DebugDataColumn { id: _DDDialysatePumpColumn - textObjectName :"_DDDialysatePumpData" - title : qsTr(" Dial Pump ") - x: col(1.5) - y: row(0) + DebugDataColumn { id: _DDGenDialColumn + textObjectName :"_DDGenDialData" + title : qsTr(" GenDial ") + anchors { + top : parent.top + left : _DDPressureColumn.right + leftMargin : spacing + } + model: [ - vDDDialysatePump.D12PumpTargetRPM .toFixed(2) , - vDDDialysatePump.D12PumpMeasuredSpeed .toFixed(2) , - vDDDialysatePump.D12PumpCurrentSpeed .toFixed(2) , - vDDDialysatePump.D12PumpState , - vDDDialysatePump.D12PumpTargetPressure .toFixed(2) , - vDDDialysatePump.D12PumpMeasuredPressure .toFixed(2) , - vDDDialysatePump.D12PumpMeasuredCurrent .toFixed(2) , - vDDDialysatePump.D12PumpControl , - vDDDialysatePump.D12PumpDirErrCnt , - vDDDialysatePump.D12PumpMeasuredDir , - vDDDialysatePump.D48PumpTargetRPM .toFixed(2) , - vDDDialysatePump.D48PumpMeasuredSpeed .toFixed(2) , - vDDDialysatePump.D48PumpCurrentSpeed .toFixed(2) , - vDDDialysatePump.D48PumpState , - vDDDialysatePump.D48PumpTargetPressure .toFixed(2) , - vDDDialysatePump.D48PumpMeasuredPressure .toFixed(2) , - vDDDialysatePump.D48PumpMeasuredCurrent .toFixed(2) , - vDDDialysatePump.D48PumpControl , - vDDDialysatePump.D48PumpDirErrCnt , - vDDDialysatePump.D48PumpMeasuredDir , + vDDGenDialysate.genDialysateExec , + vDDGenDialysate.ddInProgress , + vDDGenDialysate.isDialGood , + vDDGenDialysate.fltLevel1 , + vDDGenDialysate.bicarbLevel , + vDDGenDialysate.spentLevel , + vDDGenDialysate.hydNegativePressure .toFixed(2), + vDDGenDialysate.hydPositivePressure .toFixed(2), + vDDGenDialysate.spentPressure .toFixed(2), ] label: [ - "tRPM (D12) ", - "mSpd (D12) ", - "cSpd (D12) ", - "State (D12) ", - "tPres (D12) ", - "mPres (D12) ", - "Ctrl (D12) ", - "eCnt (D12) ", - "mCurr (D12) ", - "mDir (D12) ", - "tRPM (D48) ", - "mSpd (D48) ", - "cSpd (D48) ", - "State (D48) ", - "tPres (D48) ", - "mPres (D48) ", - "mCurr (D48) ", - "Ctrl (D48) ", - "eCnt (D48) ", - "mDir (D48) ", + "Exec ", + "inProg ", + "isGood ", + "fltLvL (D6) ", + "bicarbLvL (D63)", + "sptLvL (D46) ", + "hydNeg (D19) ", + "hydPos (D18) ", + "sptPres (D51) ", ] } - DebugDataColumn { id: _DDHeatersColumn - textObjectName :"_DDHeatersData" - title : qsTr(" Heaters ") - x: col(3) - y: row(0) + DebugDataColumn { id: _DDHydraulicsValveColumn + textObjectName :"_DDHydraulicValveData" + title : qsTr(" Hyd Valve ") + anchors { + top : _DDGenDialColumn.bottom + topMargin : spacing + left : _DDGenDialColumn.left + } + model: [ - vDDHeaters.mainPrimayHeaterDC .toFixed(2) , - vDDHeaters.primaryTargetTemp .toFixed(2) , - vDDHeaters.primaryHeaterState , - vDDHeaters.primaryHeaterIntervalCount , - vDDHeaters.trimmerHeaterDC .toFixed(2) , - vDDHeaters.trimmerTargetTemp .toFixed(2) , - vDDHeaters.trimmerHeaterState , - vDDHeaters.trimmerHeaterIntervalCount , - vDDHeaters.dbg1 .toFixed(2) , - vDDHeaters.dbg2 .toFixed(2) , - vDDHeaters.dbg3 .toFixed(2) , - vDDHeaters.dbg4 .toFixed(2) , - vDDHeaters.dbg5 .toFixed(2) , - vDDHeaters.dbg6 .toFixed(2) , - vDDHeaters.dbg7 .toFixed(2) , - vDDHeaters.dbg8 .toFixed(2) , - vDDHeaters.dbg9 .toFixed(2) , + Number(vDDValvesStates.hydraulicsOutletValve ) , + Number(vDDValvesStates.thermalDisinfectValve ) , + Number(vDDValvesStates.HydraulicsBypassValve ) , + Number(vDDValvesStates.rinsePortValve ) , + Number(vDDValvesStates.drainValve ) , + Number(vDDValvesStates.dialyzerBypassValve ) , + Number(vDDValvesStates.purgeValve1 ) , + Number(vDDValvesStates.pressureTestValve ) , + Number(vDDValvesStates.dryBicarbInletValve ) , + Number(vDDValvesStates.dialyzerInletValve ) , + Number(vDDValvesStates.dialyzerOutletValve ) , + Number(vDDValvesStates.purgeValve2 ) , + Number(vDDValvesStates.hydraulicsInletValve ) , + Number(vDDValvesStates.dryBicarbValve ) , + Number(vDDValvesStates.deScalerValve ) , ] label: [ - "pHeat (D5) ", - "pTemp (D5) ", - "pState (D5) ", - "pIC (D5) ", - "tHeat (D45) ", - "tTemp (D45) ", - "tstate (D45) ", - "tIC (D45) ", - "dbg1 ", - "dbg2 ", - "dbg3 ", - "dbg4 ", - "dbg5 ", - "dbg6 ", - "dbg7 ", - "dbg8 ", - "dbg9 ", + "HydOut (D14) ", + "ThemD (D52) ", + "HydByP (D8) ", + "RinseP (D54) ", + "Drain (D53) ", + "DialByP (D34) ", + "PurgV1 (D64) ", + "PresT (D31) ", + "DryBic (D65) ", + "DialIn (D35) ", + "DialOut (D40) ", + "PurgV2 (D47) ", + "HydIn (D3) ", + "Dry Bicarb (D80) ", + "De-scaler (D81) ", ] } - DebugDataColumn { id: _DDTemperatureColumn - textObjectName :"_DDTemperatureData" - title : qsTr(" Temp ") - x: col(4.5) - y: row(0) + DebugDataColumn { id: _DDCondColumn + textObjectName :"_DDCondlData" + title : qsTr(" Cond ") + anchors { + top : _DDDialysatePumpColumn.bottom + topMargin : spacing + left : _DDDialysatePumpColumn.left + } model: [ - vDDTemperatures.inletHeatExchanger .toFixed(2) , - vDDTemperatures.outletHeatExchanger .toFixed(2) , - vDDTemperatures.hydraulicsPrimaryHeater .toFixed(2) , - vDDTemperatures.trimmerHeater .toFixed(2) , - vDDTemperatures.boardTemperature .toFixed(2) , - vDDTemperatures.barometricTemperature .toFixed(2) , - vDDTemperatures.D16Conductivity .toFixed(2) , - vDDTemperatures.D28Conductivity .toFixed(2) , - vDDTemperatures.D30Conductivity .toFixed(2) , - vDDTemperatures.D44Conductivity .toFixed(2) , - vDDTemperatures.D75Conductivity .toFixed(2) , - vDDTemperatures.D4MovingAverage .toFixed(2) , - vDDTemperatures.D50MovingAverage .toFixed(2) , - vDDTemperatures.D28MovingAverage .toFixed(2) , - vDDTemperatures.D30MovingAverage .toFixed(2) , + vDDConductivity.bicarbCondutivity1 .toFixed(2), + vDDConductivity.acidBicarbCondutivity1 .toFixed(2), + vDDConductivity.acidBicarbCondutivity2 .toFixed(2), + vDDConductivity.spentCondutivity1 .toFixed(2), + vDDConductivity.bicarbCondutivity2 .toFixed(2), ] label: [ - "inHE (D1) ", - "outHE (X6) ", - "hydr (D4) ", - "trim (D50) ", - "board ", - "baro ", - "Cond (D16) ", - "Cond (D28) ", - "Cond (D30) ", - "Cond (D44) ", - "Cond (D75) ", - "mAvg (D4) ", - "mAvg (D50) ", - "mAvg (D28) ", - "mAvg (D30) ", + "bicarb1 (D17) ", + "acidb1 (D27) ", + "acidb1 (D29) ", + "spent (D43) ", + "bicarb2 (D74) ", ] } - DebugDataColumn { id: _DDPressureColumn - textObjectName :"_DDPressureData" - title : qsTr(" Pressure ") - x: col(6) - y: row(0) - model: [ - vDDPressures.waterInletPSI .toFixed(2), - vDDPressures.waterOutletPSI .toFixed(2), - vDDPressures.hydrolicOutletPSI .toFixed(2), - vDDPressures.bicarbBagPSI .toFixed(2), - vDDPressures.spentDialysatePSI .toFixed(2), - vDDPressures.freshDialysatePSI .toFixed(2), - vDDPressures.transmembranePSI .toFixed(2), - vDDPressures.waterInletTemp .toFixed(2), - vDDPressures.waterOutletTemp .toFixed(2), - vDDPressures.hydrolicOutletTemp .toFixed(2), - vDDPressures.bicarbBagTemp .toFixed(2), - vDDPressures.spentDialysateTemp .toFixed(2), - vDDPressures.freshDialysateTemp .toFixed(2), - vDDPressures.transmembraneTemp .toFixed(2), - ] - label: [ - "WInPSI (M1) ", - "WOutPSI (M3) ", - "HOutPSI (D9) ", - "BBagPSI (D66) ", - "SDialPSI (D51) ", - "FDialPSI (D18) ", - "TransPSI (D41) ", - "WInTmp (M1) ", - "WOutTmp (M3) ", - "HOutTmp (D9) ", - "BBagTmp (D66) ", - "SDialTmp (D51) ", - "FDialTmp (D18) ", - "TransTmp (D41) ", - ] - } + DebugDataColumn { id: _DDLevelColumn + textObjectName :"_DDLevelData" + title : qsTr(" Levels ") + anchors { + top : _DDPressureColumn.bottom + topMargin : spacing + left : _DDPressureColumn.left + } + model: [ + vDDLevel.floaterLevel , + vDDLevel.bicarbLevel , + vDDLevel.spentDialysateLevel , + ] + label: [ + "floater (D6) ", + "bicarb (D63) ", + "sptDial (D46) ", + ] + } - DebugDataColumn { id: _DDGenDialColumn - textObjectName :"_DDGenDialData" - title : qsTr(" GenDial ") - x: col(7.5) - y: row(0) + DebugDataColumn { id: _DDBCValvesColumn + textObjectName :"_DDBCValvesData" + title : qsTr(" BC Valves ") + anchors { + top : _DDTemperatureColumn.bottom + topMargin : spacing + left : _DDHeatersColumn.right + leftMargin : spacing + } + model: [ + Number(vDDValvesStates.balancingChamberValve1 ) , + Number(vDDValvesStates.balancingChamberValve2 ) , + Number(vDDValvesStates.balancingChamberValve3 ) , + Number(vDDValvesStates.balancingChamberValve4 ) , + Number(vDDValvesStates.balancingChamberValve5 ) , + Number(vDDValvesStates.balancingChamberValve6 ) , + Number(vDDValvesStates.balancingChamberValve7 ) , + Number(vDDValvesStates.balancingChamberValve8 ) , + ] + label: [ + "BC1 (D23) ", + "BC2 (D19) ", + "BC3 (D25) ", + "BC4 (D21) ", + "BC5 (D24) ", + "BC6 (D20) ", + "BC7 (D26) ", + "BC8 (D22) ", + ] + } - model: [ - vDDGenDialysate.genDialysateExec , - vDDGenDialysate.ddInProgress , - vDDGenDialysate.isDialGood , - vDDGenDialysate.fltLevel1 , - vDDGenDialysate.bicarbLevel , - vDDGenDialysate.spentLevel , - vDDGenDialysate.hydNegativePressure .toFixed(2), - vDDGenDialysate.hydPositivePressure .toFixed(2), - vDDGenDialysate.spentPressure .toFixed(2), - ] - label: [ - "Exec ", - "inProg ", - "isGood ", - "fltLvL (D6) ", - "bicarbLvL (D63)", - "sptLvL (D46) ", - "hydNeg (D19) ", - "hydPos (D18) ", - "sptPres (D51) ", - ] - } + DebugDataColumn { id: _DDIOValvesColumn + textObjectName :"_DDIOValvesColumn" + title : qsTr(" IO Valves ") + anchors { + top : _DDBCValvesColumn.bottom + topMargin : spacing + left : _DDBCValvesColumn.left + } + model: [ + Number(vDDValvesStates.ioValve0 ) , + Number(vDDValvesStates.ioValve1 ) , + ] + label: [ + "IO0 (M4) ", + "IO1 (M12) ", + ] + } - DebugDataColumn { id: _DDHydraulicsValveColumn - textObjectName :"_DDHydraulicValveData" - title : qsTr(" Hyd Valve ") - x: col(7.8) - y: row(3.1) + DebugDataColumn { id: _DDSpareValvesColumn + textObjectName :"_DDSpareValvesColumn" + title : qsTr(" Spare Valves ") + anchors { + top : _DDHeatersColumn.bottom + topMargin : spacing + left : _DDHeatersColumn.left + } + model: [ + Number(vDDValvesStates.spareValve0 ) , + Number(vDDValvesStates.spareValve1 ) , + Number(vDDValvesStates.spareValve2 ) , + Number(vDDValvesStates.spareValve3 ) , + Number(vDDValvesStates.spareValve4 ) , + Number(vDDValvesStates.spareValve5 ) , + Number(vDDValvesStates.spareValve6 ) , + Number(vDDValvesStates.spareValve7 ) , + ] + label: [ + "D79 ", + "D82 ", + "D91 ", + "Spare Valve 3 ", + "Spare Valve 4 ", + "Spare Valve 5 ", + "D100 ", + "Spare Valve 7 ", + ] + } - model: [ - Number(vDDValvesStates.hydraulicsOutletValve ) , - Number(vDDValvesStates.thermalDisinfectValve ) , - Number(vDDValvesStates.HydraulicsBypassValve ) , - Number(vDDValvesStates.rinsePortValve ) , - Number(vDDValvesStates.drainValve ) , - Number(vDDValvesStates.dialyzerBypassValve ) , - Number(vDDValvesStates.purgeValve1 ) , - Number(vDDValvesStates.pressureTestValve ) , - Number(vDDValvesStates.dryBicarbInletValve ) , - Number(vDDValvesStates.dialyzerInletValve ) , - Number(vDDValvesStates.dialyzerOutletValve ) , - Number(vDDValvesStates.purgeValve2 ) , - Number(vDDValvesStates.hydraulicsInletValve ) , - Number(vDDValvesStates.dryBicarbValve ) , - Number(vDDValvesStates.deScalerValve ) , - ] - label: [ - "HydOut (D14) ", - "ThemD (D52) ", - "HydByP (D8) ", - "RinseP (D54) ", - "Drain (D53) ", - "DialByP (D34) ", - "PurgV1 (D64) ", - "PresT (D31) ", - "DryBic (D65) ", - "DialIn (D35) ", - "DialOut (D40) ", - "PurgV2 (D47) ", - "HydIn (D3) ", - "Dry Bicarb (D80) ", - "De-scaler (D81) ", - ] - } + DebugDataColumn { id: _DDFPValvesColumn + textObjectName :"_DDFPValvesColumn" + title : qsTr(" FP Valves ") + anchors { + top : _DDLevelColumn.bottom + topMargin : spacing + left : _DDPressureColumn.left + } + model: [ + Number(vDDValvesStates.fpValve0) , + Number(vDDValvesStates.fpValve1) , + Number(vDDValvesStates.fpValve2) , + Number(vDDValvesStates.fpValve3) , + Number(vDDValvesStates.fpValve4) , + Number(vDDValvesStates.fpValve5) , + ] + label: [ + "P11 ", + "P33 ", + "P34 ", + "P37 ", + "P39 ", + "P6 ", + ] + } - DebugDataColumn { id: _DDCondColumn - textObjectName :"_DDCondlData" - title : qsTr(" Cond ") - x: col(9) - y: row(0) - model: [ - vDDConductivity.bicarbCondutivity1 .toFixed(2), - vDDConductivity.acidBicarbCondutivity1 .toFixed(2), - vDDConductivity.acidBicarbCondutivity2 .toFixed(2), - vDDConductivity.spentCondutivity1 .toFixed(2), - vDDConductivity.bicarbCondutivity2 .toFixed(2), - ] - label: [ - "bicarb1 (D17) ", - "acidb1 (D27) ", - "acidb1 (D29) ", - "spent (D43) ", - "bicarb2 (D74) ", - ] - } + DebugDataColumn { id: _DDBloodLeakColumn + textObjectName :"_DDBloodLeakData" + title : qsTr(" Blood Leak ") + anchors { + top : _DDConcentratePumpColumn.bottom + topMargin : spacing + left : parent.left + } + model: [ + vDDBloodLeak.bloodLeak , + ] + label: [ + "BL ", + ] + } - DebugDataColumn { id: _DDLevelColumn - textObjectName :"_DDLevelData" - title : qsTr(" Levels ") - x: col(9) - y: row(2) - model: [ - vDDLevel.floaterLevel , - vDDLevel.bicarbLevel , - vDDLevel.spentDialysateLevel , - ] - label: [ - "floater (D6) ", - "bicarb (D63) ", - "sptDial (D46) ", - ] - } + // TODO: The TouchRect should be unnecessary since the first communication message with UI/TD is the version. + TouchRect { + width : _DDVersionsColumn.width + height : _DDVersionsColumn.height + onClicked : vAdjustmentVersions.doAdjustment() + radius : 10 + anchors { + bottom : parent.bottom + bottomMargin : spacing + right : parent.right + rightMargin : spacing + } - DebugDataColumn { id: _DDBCValvesColumn - textObjectName :"_DDBCValvesData" - title : qsTr(" BC Valves ") - x: col(9.5) - y: row(3.3) - model: [ - Number(vDDValvesStates.balancingChamberValve1 ) , - Number(vDDValvesStates.balancingChamberValve2 ) , - Number(vDDValvesStates.balancingChamberValve3 ) , - Number(vDDValvesStates.balancingChamberValve4 ) , - Number(vDDValvesStates.balancingChamberValve5 ) , - Number(vDDValvesStates.balancingChamberValve6 ) , - Number(vDDValvesStates.balancingChamberValve7 ) , - Number(vDDValvesStates.balancingChamberValve8 ) , - ] - label: [ - "BC1 (D23) ", - "BC2 (D19) ", - "BC3 (D25) ", - "BC4 (D21) ", - "BC5 (D24) ", - "BC6 (D20) ", - "BC7 (D26) ", - "BC8 (D22) ", - ] - } - - DebugDataColumn { id: _DDIOValvesColumn - textObjectName :"_DDIOValvesColumn" - title : qsTr(" IO Valves ") - x: col(9.5) - y: row(6) - model: [ - Number(vDDValvesStates.ioValve0 ) , - Number(vDDValvesStates.ioValve1 ) , - ] - label: [ - "IO0 (M4) ", - "IO1 (M12) ", - ] - } - - DebugDataColumn { id: _DDSpareValvesColumn - textObjectName :"_DDSpareValvesColumn" - title : qsTr(" Spare Valves ") - x: col(6) - y: row(5) - model: [ - Number(vDDValvesStates.spareValve0 ) , - Number(vDDValvesStates.spareValve1 ) , - Number(vDDValvesStates.spareValve2 ) , - Number(vDDValvesStates.spareValve3 ) , - Number(vDDValvesStates.spareValve4 ) , - Number(vDDValvesStates.spareValve5 ) , - Number(vDDValvesStates.spareValve6 ) , - Number(vDDValvesStates.spareValve7 ) , - ] - label: [ - "Spare Valve 0 (D79) ", - "Spare Valve 1 ", - "Spare Valve 2 ", - "Spare Valve 3 ", - "Spare Valve 4 ", - "Spare Valve 5 ", - "Spare Valve 6 ", - "Spare Valve 7 ", - ] - } - - DebugDataColumn { id: _DDFPValvesColumn - textObjectName :"_DDFPValvesColumn" - title : qsTr(" FP Valves ") - x: col(4.5) - y: row(5) - model: [ - Number(vDDValvesStates.fpValve0) , - Number(vDDValvesStates.fpValve1) , - Number(vDDValvesStates.fpValve2) , - Number(vDDValvesStates.fpValve3) , - Number(vDDValvesStates.fpValve4) , - Number(vDDValvesStates.fpValve5) , - ] - label: [ - "P11 ", - "P33 ", - "P34 ", - "P37 ", - "P39 ", - "P6 ", - ] - } - - DebugDataColumn { id: _DDBloodLeakColumn - textObjectName :"_DDBloodLeakData" - title : qsTr(" Blood Leak ") - x: col(10.5) - y: row(0) - model: [ - vDDBloodLeak.bloodLeak , - ] - label: [ - "BL ", - ] - } - - // TODO: The TouchRect should be unnecessary since the first communication message with UI/TD is the version. - TouchRect { - x : col(9.0) - y : row(8.0) - width : 425 - height : 80 - onClicked : vAdjustmentVersions.doAdjustment() - radius : 10 - Column { - anchors.top : parent.top - anchors.topMargin: -20 - anchors.left: parent.left - anchors.leftMargin: 5 - - spacing: -30 - DebugDataColumn { id: _DDVersionsColumn textObjectName :"_DDVersionsData" title : "" horizontalAlignmentText: Text.AlignLeft fontPixelSizeText: Fonts.fontPixelDebugTitle + isTouchRect : true model: [ "DD: v%1.%2.%3-%4 v%5.%6.%7-%8 c%9\nDD Serial#: %10" .arg(vAdjustmentVersions.ddVerMajor ) .arg(vAdjustmentVersions.ddVerMinor ) @@ -520,7 +560,6 @@ } } - Connections { target: _GuiView function onDidActionReceive( vAction, vData ) { // DEBUG: console.debug("onDidActionReceive", vAction, vData) Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml =================================================================== diff -u -r7d2122a9a4330ebc2ff4c22be36f32e9a82417ec -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision 7d2122a9a4330ebc2ff4c22be36f32e9a82417ec) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -26,33 +26,19 @@ */ ModalDialog { id: _root - width : Variables.applicationWidth - height : Variables.applicationHeight - 60 + width : Variables.dialogWidth + height : Variables.dialogHeight + clip : true DiagnosticsSwipe { id: _diagnosticsSwipe anchors.fill: parent } - Rectangle { - anchors.centerIn: _closeButton - border.color : Colors.white - color : Colors.transparent - border.width : Variables.borderWidth - width : _closeButton.width + 10 - height : width - radius : width - } + CloseButton { id : _closeButton + anchors.margins: Variables.defaultMargin - CloseButton { id : _closeButton - anchors.left : undefined - anchors.right : parent.right - anchors.top : undefined - anchors.bottom : parent.bottom - anchors.margins : 10 - onClicked : { + onClicked : { _root.close() - console.log("close clicked") } } - } Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsFP.qml =================================================================== diff -u -r180629277c415aeea3818dd6630f2ad8b0a009ca -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/dialogs/diagnostics/DiagnosticsFP.qml (.../DiagnosticsFP.qml) (revision 180629277c415aeea3818dd6630f2ad8b0a009ca) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsFP.qml (.../DiagnosticsFP.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -21,21 +21,23 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/compounds" /*! * \brief the post treatment prime stack screen */ DiagnosticsBase { id: _root - objectName: "_DiagnosticsFP" + objectName : "_DiagnosticsFP" - title: qsTr("Filtration & Purification") + contentItem : Item { id: _content - DebugDataColumn { id: _FPPressureColumn + DebugDataColumn { id: _FPPressureColumn textObjectName :"_FPPressureData" title : qsTr(" Pressure ") - x: col(0) - y: row(0) + anchors { + top : parent.top + left : parent.left + } + model: [ vFPPressures.beforePresureRegulator .toFixed(2) , vFPPressures.afterPressureRegulator .toFixed(2) , @@ -60,164 +62,179 @@ ] } - DebugDataColumn { id: _FPROPumpColumn - textObjectName :"_FPROPumpData" - title : qsTr(" RO Pump ") - x: col(3) - y: row(0) - model: [ - vFPROPump.pumpState , - vFPROPump.pumpDutyCycle , - vFPROPump.pumpFBDutyCycle , - vFPROPump.pumpSpeed .toFixed(2) , - vFPROPump.targetPressure .toFixed(2) , - vFPROPump.targetFlow .toFixed(2) , - vFPROPump.targetDutyCycle .toFixed(2) , - vFPROPump.pumpDutyCyclePct .toFixed(2) , - vFPROPump.pumpFBDutyCyclePct .toFixed(2) , - ] - label: [ - "P12 State ", - "P12 DC ", - "P12 FBDC ", - "P12 Spd ", - "P12 tPSI ", - "P12 tFlow ", - "P12 tDC ", - "P12 DCPct ", - "P12 FBDCPct ", - ] - } + DebugDataColumn { id: _FPROPumpColumn + textObjectName :"_FPROPumpData" + title : qsTr(" RO Pump ") + anchors { + top : parent.top + left : _FPPressureColumn.right + leftMargin : spacing + } + model: [ + vFPROPump.pumpState , + vFPROPump.pumpDutyCycle , + vFPROPump.pumpFBDutyCycle , + vFPROPump.pumpSpeed .toFixed(2) , + vFPROPump.targetPressure .toFixed(2) , + vFPROPump.targetFlow .toFixed(2) , + vFPROPump.targetDutyCycle .toFixed(2) , + vFPROPump.pumpDutyCyclePct .toFixed(2) , + vFPROPump.pumpFBDutyCyclePct .toFixed(2) , + ] + label: [ + "P12 State ", + "P12 DC ", + "P12 FBDC ", + "P12 Spd ", + "P12 tPSI ", + "P12 tFlow ", + "P12 tDC ", + "P12 DCPct ", + "P12 FBDCPct ", + ] + } - DebugDataColumn { id: _FPBoostPumpColumn - textObjectName :"_FPBoostPumpData" - title : qsTr(" Boost Pump ") - x: col(4.5) - y: row(0) - model: [ - vFPBoostPump.pumpState , - vFPBoostPump.pumpDutyCycle , - vFPBoostPump.pumpFBDutyCycle , - vFPBoostPump.pumpSpeed .toFixed(2) , - vFPBoostPump.targetPressure .toFixed(2) , - vFPBoostPump.targetFlow .toFixed(2) , - vFPBoostPump.targetDutyCycle .toFixed(2) , - vFPBoostPump.pumpDutyCyclePct .toFixed(2) , - vFPBoostPump.pumpFBDutyCyclePct .toFixed(2) , - ] - label: [ - "P40 State ", - "P40 DC ", - "P40 FBDC ", - "P40 Spd ", - "P40 tPSI ", - "P40 tFlow ", - "P40 tDC ", - "P40 DCPct ", - "P40 FBDCPct ", - ] - } + DebugDataColumn { id: _FPBoostPumpColumn + textObjectName :"_FPBoostPumpData" + title : qsTr(" Boost Pump ") + anchors { + top : parent.top + left : _FPROPumpColumn.right + leftMargin : spacing + } + model: [ + vFPBoostPump.pumpState , + vFPBoostPump.pumpDutyCycle , + vFPBoostPump.pumpFBDutyCycle , + vFPBoostPump.pumpSpeed .toFixed(2) , + vFPBoostPump.targetPressure .toFixed(2) , + vFPBoostPump.targetFlow .toFixed(2) , + vFPBoostPump.targetDutyCycle .toFixed(2) , + vFPBoostPump.pumpDutyCyclePct .toFixed(2) , + vFPBoostPump.pumpFBDutyCyclePct .toFixed(2) , + ] + label: [ + "P40 State ", + "P40 DC ", + "P40 FBDC ", + "P40 Spd ", + "P40 tPSI ", + "P40 tFlow ", + "P40 tDC ", + "P40 DCPct ", + "P40 FBDCPct ", + ] + } - DebugDataColumn { id: _FPTemperatureColumn - textObjectName :"_FPTemperatureData" - title : qsTr(" Temperature ") - x: col(6) - y: row(0) - model: [ - vFPTemperature.inletConductivityTemp .toFixed(2) , - vFPTemperature.outletConductivityTemp .toFixed(2) , - vFPTemperature.beforePressureRegulatorTemp .toFixed(2) , - vFPTemperature.afterPressureRegulatorTemp .toFixed(2) , - vFPTemperature.beforeInletConductivityTemp .toFixed(2) , - vFPTemperature.beforeROFilterTemp .toFixed(2) , - vFPTemperature.afterROFilterTemp .toFixed(2) , - vFPTemperature.beforeROPumpTemp .toFixed(2) , - vFPTemperature.ROConcentrateTemp .toFixed(2) , - vFPTemperature.ROConcentratePumpTemp .toFixed(2) , - vFPTemperature.drainDropTemp .toFixed(2) , - vFPTemperature.ROInletTemp .toFixed(2) , - vFPTemperature.ROOutletTemp .toFixed(2) , - ] - label: [ - "P10 inCond ", - "P19 outCond ", - "M1 bReg ", - "M3 aReg ", - "P8 bInCond ", - "P13 bRO ", - "P17 aRO ", - "X1 bROPump ", - "X2 ROConc ", - "X3 ROConcPump ", - "X4 Drain ", - "P7 ROIn ", - "P16 ROOut ", - ] - } + DebugDataColumn { id: _FPTemperatureColumn + textObjectName :"_FPTemperatureData" + title : qsTr(" Temperature ") + anchors { + top : parent.top + left : _FPBoostPumpColumn.right + leftMargin : spacing + } + model: [ + vFPTemperature.inletConductivityTemp .toFixed(2) , + vFPTemperature.outletConductivityTemp .toFixed(2) , + vFPTemperature.beforePressureRegulatorTemp .toFixed(2) , + vFPTemperature.afterPressureRegulatorTemp .toFixed(2) , + vFPTemperature.beforeInletConductivityTemp .toFixed(2) , + vFPTemperature.beforeROFilterTemp .toFixed(2) , + vFPTemperature.afterROFilterTemp .toFixed(2) , + vFPTemperature.beforeROPumpTemp .toFixed(2) , + vFPTemperature.ROConcentrateTemp .toFixed(2) , + vFPTemperature.ROConcentratePumpTemp .toFixed(2) , + vFPTemperature.drainDropTemp .toFixed(2) , + vFPTemperature.ROInletTemp .toFixed(2) , + vFPTemperature.ROOutletTemp .toFixed(2) , + ] + label: [ + "P10 inCond ", + "P19 outCond ", + "M1 bReg ", + "M3 aReg ", + "P8 bInCond ", + "P13 bRO ", + "P17 aRO ", + "X1 bROPump ", + "X2 ROConc ", + "X3 ROConcPump ", + "X4 Drain ", + "P7 ROIn ", + "P16 ROOut ", + ] + } - DebugDataColumn { id: _FPFlowColumn - textObjectName :"_FPFlowData" - title : qsTr(" Flow ") - x: col(7.5) - y: row(0) - model: [ - vFPFlow.waterInletFlow .toFixed(2) , - vFPFlow.waterInletTemp .toFixed(2) , - vFPFlow.rOFilterOutletFlow .toFixed(2) , - vFPFlow.rOFilterOutletTemp .toFixed(2) , - ] - label: [ - "P7 FlowIn ", - "P7 TempIn ", - "P16 FlowOut ", - "P16 TempOut ", - ] - } + DebugDataColumn { id: _FPFlowColumn + textObjectName :"_FPFlowData" + title : qsTr(" Flow ") + anchors { + top : parent.top + left : _FPTemperatureColumn.right + leftMargin : spacing + } + model: [ + vFPFlow.waterInletFlow .toFixed(2) , + vFPFlow.waterInletTemp .toFixed(2) , + vFPFlow.rOFilterOutletFlow .toFixed(2) , + vFPFlow.rOFilterOutletTemp .toFixed(2) , + ] + label: [ + "P7 FlowIn ", + "P7 TempIn ", + "P16 FlowOut ", + "P16 TempOut ", + ] + } - DebugDataColumn { id: _FPConductivityColumn - textObjectName :"_FPConductivityData" - title : qsTr(" Conductivity ") - x: col(9) - y: row(0) - model: [ - vFPConductivity.P9Conductivity .toFixed(2) , - vFPConductivity.P18Conductivity .toFixed(2) , - ] - label: [ - "P9 ", - "P18 ", - ] - } + DebugDataColumn { id: _FPConductivityColumn + textObjectName :"_FPConductivityData" + title : qsTr(" Conductivity ") + anchors { + top : parent.top + left : _FPFlowColumn.right + leftMargin : spacing + } + model: [ + vFPConductivity.P9Conductivity .toFixed(2) , + vFPConductivity.P18Conductivity .toFixed(2) , + ] + label: [ + "P9 ", + "P18 ", + ] + } - DebugDataColumn { id: _FPLevelColumn - textObjectName :"_FPLevelData" - title : qsTr(" Level ") - x: col(9) - y: row(1) - model: [ - vFPLevel.P25FloaterLevel , - ] - label: [ - "P25 Floater ", - ] - } + DebugDataColumn { id: _FPLevelColumn + textObjectName :"_FPLevelData" + title : qsTr(" Level ") + anchors { + top : _FPConductivityColumn.bottom + topMargin : spacing + left : _FPConductivityColumn.left + } + model: [ + vFPLevel.P25FloaterLevel , + ] + label: [ + "P25 Floater ", + ] + } - // TODO: The TouchRect should be unnecessary since the first communication message with UI/TD is the version. - TouchRect { - x : col(9.0) - y : row(8.0) - width : 425 - height : 80 - onClicked : vAdjustmentVersions.doAdjustment() - radius : 10 - Column { - anchors.top : parent.top - anchors.topMargin: -20 - anchors.left: parent.left - anchors.leftMargin: 5 + // TODO: The TouchRect should be unnecessary since the first communication message with UI/TD is the version. + TouchRect { + width : _FPVersionsColumn.width + height : _FPVersionsColumn.height + onClicked : vAdjustmentVersions.doAdjustment() + radius : 10 + anchors { + bottom : parent.bottom + bottomMargin : spacing + right : parent.right + rightMargin : spacing + } - spacing: -30 - DebugDataColumn { id: _FPVersionsColumn textObjectName :"_FPVersionsData" title : "" @@ -238,7 +255,6 @@ } } - Connections { target: _GuiView function onDidActionReceive( vAction, vData ) { // DEBUG: console.debug("onDidActionReceive", vAction, vData) Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml =================================================================== diff -u -rb80f8f84f21f86ad4c962a2c690447c572498e0b -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (.../DiagnosticsSwipe.qml) (revision b80f8f84f21f86ad4c962a2c690447c572498e0b) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (.../DiagnosticsSwipe.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -20,41 +20,49 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/dialogs" -import "qrc:/pages/pretreatment/connection" /*! * \brief the pre treatment prime stack screen */ Item { id: _root - SwipeView { id: view currentIndex: 0 anchors.fill: parent - DiagnosticsTD { id: tdPage } - DiagnosticsDD { id: ddPage } - DiagnosticsFP { id: fpPage } + DiagnosticsTD { id: _tdPage } + DiagnosticsDD { id: _ddPage } + DiagnosticsFP { id: _fpPage } + + onCurrentIndexChanged: _menu.index = currentIndex } - PageIndicator { id: indicator - objectName: "_DiagnosticsSwipeIndicator" - count: view.count - currentIndex: view.currentIndex + MainMenu { id: _menu + anchors { + top : parent.top + left : parent.left + leftMargin : Variables.defaultMargin * 4 + right : parent.right + rightMargin : Variables.defaultMargin * 4 + } - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: view.bottom - anchors.bottomMargin: 10 + width : _root.width + height : 60 + isDiagnostics : true + index : view.currentIndex + color : Colors.transparent + titlePixelSize : 28 - spacing: 10 - delegate: Rectangle { - implicitWidth: 15 - implicitHeight: 15 - radius: width // Make it circular - color: "white" - opacity: index === view.currentIndex ? 1 : pressed ? 0.7 : 0.25 - Behavior on opacity { - OpacityAnimator { duration: 100 } // Animate opacity changes + onItemPressed: function (vIndex) { + view.currentIndex = vIndex + } + + Line { + anchors { + bottom : parent.bottom + right : parent.right + left : parent.left } + + color : Colors.panelBorderColor } } } Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml =================================================================== diff -u -re18180f1f5fc7c8fbf76255f02f9898217db40a2 -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml (.../DiagnosticsTD.qml) (revision e18180f1f5fc7c8fbf76255f02f9898217db40a2) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml (.../DiagnosticsTD.qml) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -21,318 +21,359 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/compounds" /*! * \brief the post treatment prime stack screen */ DiagnosticsBase { id: _root objectName: "_DiagnosticsTD" - title: qsTr("Treatment Delivery & Blood Handling") + contentItem : Item { id: _content - 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 , + DebugDataColumn { id: _TDBloodFlowColumn + textObjectName :"_TDBloodFlowData" + title : qsTr(" BP(H4)") + anchors { + top : parent.top + left : parent.left + } - ] - label: [ - "sFLow (H4) ", - "mFlow (H4) ", - "rSpd (H4) ", - "mSpd (H4) ", - "mCurr (H4) ", - "RPM (H4) ", - "rCnt (H4) ", - "pFlow (H4) ", - "rHall (H6) ", - ] - } + 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 , - 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 ", - ] - } + ] + label: [ + "sFLow (H4) ", + "mFlow (H4) ", + "rSpd (H4) ", + "mSpd (H4) ", + "mCurr (H4) ", + "RPM (H4) ", + "rCnt (H4) ", + "pFlow (H4) ", + "rHall (H6) ", + ] + } - DebugDataColumn { id: _TDAirPumpColumn - textObjectName :"_TDAirPumpData" - title : qsTr(" Air Pumps ") - x: col(3) - y: row(0) - model: [ - vTDAirPump.airPumpState , - vTDAirPump.airPumpPower , + DebugDataColumn { id: _TDAirTrapCoulumn + textObjectName :"_TDAirTrapData" + title : qsTr(" Air Trap ") + anchors { + top : parent.top + left : _TDBloodFlowColumn.right + leftMargin : spacing + } - ] - label: [ - "state (H12) ", - "power (H12) ", - ] - } + 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: _TDAirBubblesColumn - textObjectName :"_TDAirBubblesData" - title : qsTr(" Bubbles ") - x: col(3) - y: row(1.5) - model: [ - vTDAirBubble.venousAirBubbleStatus , - vTDAirBubble.venousAirBubbleState , + DebugDataColumn { id: _TDAirPumpColumn + textObjectName :"_TDAirPumpData" + title : qsTr(" Air Pumps ") + anchors { + top : parent.top + left : _TDAirTrapCoulumn.right + leftMargin : spacing + } - ] - label: [ - "status (H18) ", - "state (H18) ", - ] - } + model: [ + vTDAirPump.airPumpState , + vTDAirPump.airPumpPower , - DebugDataColumn { id: _TDValvesColumn - textObjectName :"_TDValvesData" - title : qsTr(" Valves ") - x: col(4.5) - y: row(0) - model: [ - vTDValves.valveId , - vTDValves.state , - vTDValves.posName , - vTDValves.posCount , - vTDValves.nextPos , + ] + label: [ + "state (H12) ", + "power (H12) ", + ] + } - ] - label: [ - "ID ", - "state ", - "Name ", - "Cnt ", - "nPos ", - ] - } + DebugDataColumn { id: _TDAirBubblesColumn + textObjectName :"_TDAirBubblesData" + title : qsTr(" Bubbles ") + anchors { + top : _TDAirPumpColumn.bottom + topMargin : spacing + left : _TDAirPumpColumn.left + } - DebugDataColumn { id: _TDEjectorColumn - textObjectName :"_TDEjectorData" - title : qsTr(" Ejector ") - x: col(6) - y: row(0) - model: [ - vTDEjector.state , - vTDEjector.setSpeed .toFixed(2) , + model: [ + vTDAirBubble.venousAirBubbleStatus , + vTDAirBubble.venousAirBubbleState , - ] - label: [ - "State (H5) ", - "Spd (H5) " , - ] - } + ] + label: [ + "status (H18) ", + "state (H18) ", + ] + } - DebugDataColumn { id: _TDSwitchesColumn - textObjectName :"_TDSwitchesData" - title : qsTr(" Switches ") - x: col(7.5) - y: row(0) - model: [ - vTDSwitches.door , + DebugDataColumn { id: _TDValvesColumn + textObjectName :"_TDValvesData" + title : qsTr(" Valves ") + anchors { + top : parent.top + left : _TDAirBubblesColumn.right + leftMargin : spacing + } + model: [ + vTDValves.valveId , + vTDValves.state , + vTDValves.posName , + vTDValves.posCount , + vTDValves.nextPos , - ] - label: [ - "door (H9) ", - ] - } + ] + label: [ + "ID ", + "state ", + "Name ", + "Cnt ", + "nPos ", + ] + } - DebugDataColumn { id: _TDTXStatesColumn - textObjectName :"_TDTxStatesData" - title : qsTr(" TXStates ") - x: col(0) - y: row(3.5) - model: [ - Number(vTDTreatmentStates.subMode ), - Number(vTDTreatmentStates.txBloodPrime ), - Number(vTDTreatmentStates.txDialysis ), - Number(vTDTreatmentStates.ufState ), - Number(vTDTreatmentStates.txStop ), - Number(vTDTreatmentStates.txRinseback ), - Number(vTDTreatmentStates.txRecirculate ), - Number(vTDTreatmentStates.txEnd ), - Number(vTDTreatmentStates.salineState ), - Number(vTDTreatmentStates.heparin ), - ] - label: [ - "subMode " , - "BPrime " , - "Dial " , - "UF " , - "Stop " , - "RB " , - "Recirc " , - "End " , - "Saline " , - "Hep " , - ] - } + DebugDataColumn { id: _TDEjectorColumn + textObjectName :"_TDEjectorData" + title : qsTr(" Ejector ") + anchors { + top : parent.top + left : _TDValvesColumn.right + leftMargin : spacing + } + model: [ + vTDEjector.state , + vTDEjector.setSpeed .toFixed(2) , - DebugDataColumn { id: _TDOpModeColumn - textObjectName :"_TDOpmodeData" - title : qsTr(" Opmode ") - x: col(0) - y: row(7) - model: [ - vTDOpMode.opMode , - vTDOpMode.subMode - ] - label: [ - "opMode " , - "subMode " - ] - } + ] + label: [ + "State (H5) ", + "Spd (H5) " , + ] + } - DebugDataColumn { id: _TDVoltageCoulumn - textObjectName :"_TDVoltageData" - title : qsTr(" Volume ") - 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: _TDSwitchesColumn + textObjectName :"_TDSwitchesData" + title : qsTr(" Switches ") + anchors { + top : parent.top + left : _TDEjectorColumn.right + leftMargin : spacing + } + model: [ + vTDSwitches.door , + ] + label: [ + "door (H9) ", + ] + } - DebugDataColumn { id: _TDPressureOcclusionCoulumn - textObjectName :"_TDPressureData" - title : qsTr(" Pressure ") - x: col(3) - y: row(3.5) - model: [ - vTreatmentPressureOcclusion.arterialPressure .toFixed(2), - vTreatmentPressureOcclusion.venousPressure , - vTreatmentPressureOcclusion.limitState , - vTreatmentPressureOcclusion.arterialMin , - vTreatmentPressureOcclusion.arterialMax , - vTreatmentPressureOcclusion.venousMin , - vTreatmentPressureOcclusion.venousMax , - vTreatmentPressureOcclusion.arterialLongFilter .toFixed(2), - vTreatmentPressureOcclusion.venousLongFilter .toFixed(2), - vTreatmentPressureOcclusion.tmpPressure .toFixed(2), - vTreatmentPressureOcclusion.tmpMin .toFixed(2), - vTreatmentPressureOcclusion.tmpMax .toFixed(2) - ] - label: [ - "Arterial (H12) " , - "Venous (H14) " , - "limit " , - "artMin (H12) " , - "artMax (H12) " , - "venMin (H14) " , - "venMax (H14) " , - "aLong (H12) " , - "vLong (H14) " , - "TMP " , - "tmpMin " , - "tmpMax " , - ] - } + DebugDataColumn { id: _TDOpModeColumn + textObjectName :"_TDOpmodeData" + title : qsTr(" Opmode ") + anchors { + top : parent.top + left : _TDSwitchesColumn.right + leftMargin : spacing + } + model: [ + vTDOpMode.opMode , + vTDOpMode.subMode + ] + label: [ + "opMode " , + "subMode " + ] + } - DebugDataColumn { id: _TDTemperatureCoulumn - textObjectName :"_TDTemperatureData" - title : qsTr(" Temp ") - x: col(4.5) - y: row(3.5) - model: [ - vTDTemperature.boardTemp .toFixed(2) - ] - label: [ - "board", - ] - } + DebugDataColumn { id: _TDTXStatesColumn + textObjectName :"_TDTxStatesData" + title : qsTr(" TXStates ") - DebugDataColumn { id: _TDBatteryCoulumn - textObjectName :"_TDBatteryData" - title : qsTr(" Battery ") - x: col(6) - y: row(3.5) - model: [ - vTDBattery.acPower , - vTDBattery.capacity , - ] - label: [ - "AC ", - "cap ", - ] - } + anchors { + top : _TDOpModeColumn.bottom + topMargin : spacing + left : _TDSwitchesColumn.right + leftMargin : spacing + } + model: [ + Number(vTDTreatmentStates.subMode ), + Number(vTDTreatmentStates.txBloodPrime ), + Number(vTDTreatmentStates.txDialysis ), + Number(vTDTreatmentStates.ufState ), + Number(vTDTreatmentStates.txStop ), + Number(vTDTreatmentStates.txRinseback ), + Number(vTDTreatmentStates.txRecirculate ), + Number(vTDTreatmentStates.txEnd ), + Number(vTDTreatmentStates.salineState ), + Number(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/TD is the version. - TouchRect { - x : col(9.0) - y : row(8.0) - width : 425 - height : 80 - onClicked : vAdjustmentVersions.doAdjustment() - radius : 10 - Column { - anchors.top : parent.top - anchors.topMargin: -20 - anchors.left: parent.left - anchors.leftMargin: 5 + DebugDataColumn { id: _TDVoltageCoulumn + textObjectName :"_TDVoltageData" + title : qsTr(" Volume ") + anchors { + top : _TDBloodFlowColumn.bottom + topMargin : spacing + } - spacing: -30 + 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: _TDPressureOcclusionCoulumn + textObjectName :"_TDPressureData" + title : qsTr(" Pressure ") + + anchors { + top : _TDAirTrapCoulumn.bottom + topMargin : spacing + left : _TDAirTrapCoulumn.left + } + model: [ + vTreatmentPressureOcclusion.arterialPressure .toFixed(2), + vTreatmentPressureOcclusion.venousPressure , + vTreatmentPressureOcclusion.limitState , + vTreatmentPressureOcclusion.arterialMin , + vTreatmentPressureOcclusion.arterialMax , + vTreatmentPressureOcclusion.venousMin , + vTreatmentPressureOcclusion.venousMax , + vTreatmentPressureOcclusion.arterialLongFilter .toFixed(2), + vTreatmentPressureOcclusion.venousLongFilter .toFixed(2), + vTreatmentPressureOcclusion.tmpPressure .toFixed(2), + vTreatmentPressureOcclusion.tmpMin .toFixed(2), + vTreatmentPressureOcclusion.tmpMax .toFixed(2) + ] + label: [ + "Arterial (H12) " , + "Venous (H14) " , + "limit " , + "artMin (H12) " , + "artMax (H12) " , + "venMin (H14) " , + "venMax (H14) " , + "aLong (H12) " , + "vLong (H14) " , + "TMP " , + "tmpMin " , + "tmpMax " , + ] + } + + DebugDataColumn { id: _TDTemperatureCoulumn + textObjectName :"_TDTemperatureData" + title : qsTr(" Temp ") + anchors { + top : _TDAirBubblesColumn.bottom + topMargin : spacing + left : _TDPressureOcclusionCoulumn.right + leftMargin : spacing + } + model: [ + vTDTemperature.boardTemp .toFixed(2) + ] + label: [ + "board", + ] + } + + DebugDataColumn { id: _TDBatteryCoulumn + textObjectName :"_TDBatteryData" + title : qsTr(" Battery ") + anchors { + top : _TDTemperatureCoulumn.bottom + topMargin : spacing + left : _TDTemperatureCoulumn.left + } + model: [ + vTDBattery.acPower , + vTDBattery.capacity , + ] + label: [ + "AC ", + "cap ", + ] + } + +// // TODO: The TouchRect should be unnecessary since the first communication message with UI/TD is the version. + TouchRect { + width : _TDVersionsColumn.width + height : _TDVersionsColumn.height + onClicked : vAdjustmentVersions.doAdjustment() + radius : 10 + anchors { + bottom : parent.bottom + bottomMargin : spacing + right : parent.right + rightMargin : spacing + } DebugDataColumn { id: _TDVersionsColumn - textObjectName :"_TDVersionsData" - title : "" - horizontalAlignmentText: Text.AlignLeft - fontPixelSizeText: Fonts.fontPixelDebugTitle + textObjectName :"_TDVersionsData" + horizontalAlignmentText : Text.AlignLeft + fontPixelSizeText : Fonts.fontPixelDebugTitle + isTouchRect : true model: [ "TD: v%1.%2.%3-%4 v%5.%6.%7-%8 c%9\nTD Serial#: %10" .arg(vAdjustmentVersions.tdVerMajor ) .arg(vAdjustmentVersions.tdVerMinor ) @@ -349,7 +390,6 @@ } } - Connections { target: _GuiView function onDidActionReceive( vAction, vData ) { // DEBUG: console.debug("onDidActionReceive", vAction, vData) Index: sources/storage/Logger.cpp =================================================================== diff -u -rd862dfcd402206e33b314c458e41c13b684a4565 -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/storage/Logger.cpp (.../Logger.cpp) (revision d862dfcd402206e33b314c458e41c13b684a4565) +++ sources/storage/Logger.cpp (.../Logger.cpp) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -557,7 +557,6 @@ _logFileNameTime = QDateTime::currentDateTime().time().toString(_fileTimeFormat); } break; - case GuiTDOpModes::MODE_TPAR: case GuiTDOpModes::MODE_PRET: case GuiTDOpModes::MODE_TREA: case GuiTDOpModes::MODE_POST: Index: sources/view/td/data/VTDOpModeData.cpp =================================================================== diff -u -rf2e4eba6e85c5d36537be782926f23cc9dc01037 -r89be2d248cac3f748b704cd62408cf8911991039 --- sources/view/td/data/VTDOpModeData.cpp (.../VTDOpModeData.cpp) (revision f2e4eba6e85c5d36537be782926f23cc9dc01037) +++ sources/view/td/data/VTDOpModeData.cpp (.../VTDOpModeData.cpp) (revision 89be2d248cac3f748b704cd62408cf8911991039) @@ -28,7 +28,6 @@ service ( vData.mOpMode == GuiTDOpModes ::MODE_SERV ); init ( vData.mOpMode == GuiTDOpModes ::MODE_INIT ); standby ( vData.mOpMode == GuiTDOpModes ::MODE_STAN ); - validateParameters ( vData.mOpMode == GuiTDOpModes ::MODE_TPAR ); preTreatment ( vData.mOpMode == GuiTDOpModes ::MODE_PRET ); inTreatment ( vData.mOpMode == GuiTDOpModes ::MODE_TREA ); postTreatment ( vData.mOpMode == GuiTDOpModes ::MODE_POST );