Index: denali.qrc
===================================================================
diff -u -r00e025a5d672cae66e592608792c17d98be54d19 -r732bc047743c99a157cf147f5313194867c1f5e3
--- denali.qrc (.../denali.qrc) (revision 00e025a5d672cae66e592608792c17d98be54d19)
+++ denali.qrc (.../denali.qrc) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -38,9 +38,10 @@
sources/gui/qml/components/Line.qml
sources/gui/qml/components/PlaceHolderText.qml
sources/gui/qml/components/ProgressBar.qml
- sources/gui/qml/components/ProgressMarker.qml
+ sources/gui/qml/components/RangeMarker.qml
sources/gui/qml/components/ProgressRect.qml
sources/gui/qml/components/RangeRect.qml
+ sources/gui/qml/components/RangeBar.qml
qtquickcontrols2.conf
Index: sources/canbus/messageglobals.h
===================================================================
diff -u -r8c69137f18382bdc55a5678e6ed44a7683fe4dea -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/canbus/messageglobals.h (.../messageglobals.h) (revision 8c69137f18382bdc55a5678e6ed44a7683fe4dea)
+++ sources/canbus/messageglobals.h (.../messageglobals.h) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -36,12 +36,13 @@
* So the data collector has to collect this amount of bytes as payload of a message.
*/
const QHash payloadLen {
- {Gui::GuiActionType::PowerOff , 1 },
- {Gui::GuiActionType::KeepAlive , 0 },
- {Gui::GuiActionType::BloodFlow , 7 * 4 }, // 7 parameters each 4bytes
- {Gui::GuiActionType::DialysateFlow , 7 * 4 }, // 7 parameters each 4bytes
- {Gui::GuiActionType::String , 255 },
- {Gui::GuiActionType::Acknow , 0 },
+ {Gui::GuiActionType::PowerOff , 1 },
+ {Gui::GuiActionType::KeepAlive , 0 },
+ {Gui::GuiActionType::BloodFlow , 7 * 4 }, // 7 parameters each 4bytes
+ {Gui::GuiActionType::DialysateInletFlow , 7 * 4 }, // 7 parameters each 4bytes
+ {Gui::GuiActionType::DialysateOutletFlow, 7 * 4 }, // 7 parameters each 4bytes
+ {Gui::GuiActionType::String , 255 },
+ {Gui::GuiActionType::Acknow , 0 },
};
/*!
Index: sources/canbus/messageinterpreter.cpp
===================================================================
diff -u -r4d201ed69decd17c5fe8ed150fd90f194b35a486 -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 4d201ed69decd17c5fe8ed150fd90f194b35a486)
+++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -169,10 +169,14 @@
ok = bloodFlowData (vMessage, vData);
break;
- case Gui::GuiActionType::DialysateFlow:
- ok = dialysateFlowData (vMessage, vData);
+ case Gui::GuiActionType::DialysateInletFlow:
+ ok = dialysateInletFlowData (vMessage, vData);
break;
+ case Gui::GuiActionType::DialysateOutletFlow:
+ ok = dialysateOutletFlowData (vMessage, vData);
+ break;
+
case Gui::GuiActionType::AlarmStatus:
ok = alarmStatus (vMessage, vData);
break;
@@ -329,8 +333,8 @@
}
/*!
- * \brief MessageInterpreter::getDialysateFlowData
- * \details This is the method which interprets the Dialysate Flow message data in vMessage of type Message
+ * \brief MessageInterpreter::getDialysateInletFlowData
+ * \details This is the method which interprets the Dialysate Inlet Flow message data in vMessage of type Message
* to its elements of data.
* \param vMessage - The vMessage of type Message which contains all the data, require to be interpreted.
* \param vFlowSetPoint - Flow Set Point value of type signed int extracted out
@@ -342,17 +346,17 @@
* \param vPWMDtCycle - PWM Duty Cycle in % value of type float extracted out
* \return true if the message can be successfully converted to the Blood Flow data elements.
*/
-bool MessageInterpreter::getDialysateFlowData(
+bool MessageInterpreter::getDialysateInletFlowData(
const Message &vMessage ,
Types::S32 &vFlowSetPoint ,
Types::F32 &vMeasuredFlow , Types::F32 &vRotorSpeed , Types::F32 &vMotorSpeed,
Types::F32 &vMotorCtlSpeed , Types::F32 &vMotorCtlCurrent , Types::F32 &vPWMDtCycle)
{
- if ( vMessage.actionId != Gui::GuiActionType::DialysateFlow ) {
+ if ( vMessage.actionId != Gui::GuiActionType::DialysateInletFlow ) {
return false;
}
- if ( vMessage.data.length() < payloadLen[Gui::GuiActionType::DialysateFlow] ) {
+ if ( vMessage.data.length() < payloadLen[Gui::GuiActionType::DialysateInletFlow] ) {
QString mActionIdHexString = Format::toHexString(vMessage.actionId);
LOG_ERROR(tr("Incorrect data for Message ID (HD) '%1'").arg(mActionIdHexString));
return false;
@@ -371,15 +375,15 @@
}
/*!
- * \brief MessageInterpreter::dialysateFlowData
- * \details Used the getDialysateFlowData method and converts each parameter
+ * \brief MessageInterpreter::dialysateInletFlowData
+ * \details Used the getDialysateInletFlowData method and converts each parameter
* in vData of type QVaranitList, to be used in the GUI
* Also logs the data
* \param vMessage - The message
* \param vData - the output data
- * \return return value of the method getDialysateFlowData
+ * \return return value of the method getDialysateInletFlowData
*/
-bool MessageInterpreter::dialysateFlowData(const Message &vMessage, QVariantList &vData)
+bool MessageInterpreter::dialysateInletFlowData(const Message &vMessage, QVariantList &vData)
{
bool ok;
Types::S32 mFlowSetPoint ;
@@ -389,15 +393,15 @@
Types::F32 mMotorCtlSpeed ;
Types::F32 mMotorCtlCurrent ;
Types::F32 mPWMDtCycle ;
- ok = getDialysateFlowData(vMessage ,
- mFlowSetPoint ,
- mMeasuredFlow ,
- mRotorSpeed ,
- mMotorSpeed ,
- mMotorCtlSpeed ,
- mMotorCtlCurrent ,
- mPWMDtCycle );
- LOG_DATUM(QString("Dialysate Flow(%1, %2, %3, %4, %5, %6, %7)")
+ ok = getDialysateInletFlowData(vMessage ,
+ mFlowSetPoint ,
+ mMeasuredFlow ,
+ mRotorSpeed ,
+ mMotorSpeed ,
+ mMotorCtlSpeed ,
+ mMotorCtlCurrent ,
+ mPWMDtCycle );
+ LOG_DATUM(QString("Dialysate Inlet Flow(%1, %2, %3, %4, %5, %6, %7)")
.arg(mFlowSetPoint .value)
.arg(mMeasuredFlow .value)
.arg(mRotorSpeed .value)
@@ -418,7 +422,100 @@
return ok;
}
+
/*!
+ * \brief MessageInterpreter::getDialysateOutletFlowData
+ * \details This is the method which interprets the Dialysate Outlet Flow message data in vMessage of type Message
+ * to its elements of data.
+ * \param vMessage - The vMessage of type Message which contains all the data, require to be interpreted.
+ * \param vRefUFVol - Reference UF Volume value of type float extracted out
+ * \param vMeasUFVol - Measured UF Volume value of type float extracted out
+ * \param vRotorSpeed - Rotor Speed value of type float extracted out
+ * \param vMotorSpeed - Motor Speed value of type float extracted out
+ * \param vMotorCtlSpeed - Motor Controller Speed value of type float extracted out
+ * \param vMotorCtlCurrent - Motor Controller Current value of type float extracted out
+ * \param vPWMDtCycle - PWM Duty Cycle in % value of type float extracted out
+ * \return true if the message can be successfully converted to the Blood Flow data elements.
+ */
+bool MessageInterpreter::getDialysateOutletFlowData(
+ const Message &vMessage ,
+ Types::F32 &vRefUFVol , Types::F32 &vMeasUFVol ,
+ Types::F32 &vRotorSpeed , Types::F32 &vMotorSpeed ,
+ Types::F32 &vMotorCtlSpeed , Types::F32 &vMotorCtlCurrent , Types::F32 &vPWMDtCycle)
+
+{
+ if ( vMessage.actionId != Gui::GuiActionType::DialysateOutletFlow ) {
+ return false;
+ }
+ if ( vMessage.data.length() < payloadLen[Gui::GuiActionType::DialysateOutletFlow] ) {
+ QString mActionIdHexString = Format::toHexString(vMessage.actionId);
+ LOG_ERROR(tr("Incorrect data for Message ID (HD) '%1'").arg(mActionIdHexString));
+ return false;
+ }
+
+ int index = 0; // message data start position
+ Types::getValue<>(vMessage.data, index, vRefUFVol );
+ Types::getValue<>(vMessage.data, index, vMeasUFVol );
+ Types::getValue<>(vMessage.data, index, vRotorSpeed );
+ Types::getValue<>(vMessage.data, index, vMotorSpeed );
+ Types::getValue<>(vMessage.data, index, vMotorCtlSpeed );
+ Types::getValue<>(vMessage.data, index, vMotorCtlCurrent);
+ Types::getValue<>(vMessage.data, index, vPWMDtCycle );
+
+ return true;
+}
+
+/*!
+ * \brief MessageInterpreter::dialysateOutletFlowData
+ * \details Used the getDialysateOutletFlowData method and converts each parameter
+ * in vData of type QVaranitList, to be used in the GUI
+ * Also logs the data
+ * \param vMessage - The message
+ * \param vData - the output data
+ * \return return value of the method getDialysateOutletFlowData
+ */
+bool MessageInterpreter::dialysateOutletFlowData(const Message &vMessage, QVariantList &vData)
+{
+ bool ok;
+ Types::F32 mRefUFVol ;
+ Types::F32 mMeasUFVol ;
+ Types::F32 mRotorSpeed ;
+ Types::F32 mMotorSpeed ;
+ Types::F32 mMotorCtlSpeed ;
+ Types::F32 mMotorCtlCurrent ;
+ Types::F32 mPWMDtCycle ;
+ ok = getDialysateOutletFlowData(vMessage,
+ mRefUFVol ,
+ mMeasUFVol ,
+ mRotorSpeed ,
+ mMotorSpeed ,
+ mMotorCtlSpeed ,
+ mMotorCtlCurrent ,
+ mPWMDtCycle );
+ QString msg = QString("Dialysate Outlet Flow(%1, %2, %3, %4, %5, %6, %7)")
+ .arg(mRefUFVol .value)
+ .arg(mMeasUFVol .value)
+ .arg(mRotorSpeed .value)
+ .arg(mMotorSpeed .value)
+ .arg(mMotorCtlSpeed .value)
+ .arg(mMotorCtlCurrent .value)
+ .arg(mPWMDtCycle .value);
+ LOG_DATUM(msg);
+ qDebug() << msg;
+
+ if (ok) {
+ vData += mRefUFVol .value;
+ vData += mMeasUFVol .value;
+ vData += mRotorSpeed .value;
+ vData += mMotorSpeed .value;
+ vData += mMotorCtlSpeed .value;
+ vData += mMotorCtlCurrent.value;
+ vData += mPWMDtCycle .value;
+ }
+ return ok;
+}
+
+/*!
* \brief MessageInterpreter::getAlarmStatus
* \details This method interprets AlarmStatus message data
* in vMessage of type Message.
Index: sources/canbus/messageinterpreter.h
===================================================================
diff -u -r8c69137f18382bdc55a5678e6ed44a7683fe4dea -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/canbus/messageinterpreter.h (.../messageinterpreter.h) (revision 8c69137f18382bdc55a5678e6ed44a7683fe4dea)
+++ sources/canbus/messageinterpreter.h (.../messageinterpreter.h) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -46,14 +46,25 @@
Types::F32 &vMotorCtlSpeed , Types::F32 &vMotorCtlCurrent , Types::F32 &vPWMDtCycle) __attribute_warn_unused_result__;
bool bloodFlowData (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__;
- // ---- Dialysate FlowData
- bool getDialysateFlowData (const Message &vMessage ,
+ // ---- Dialysate Inlet FlowData
+ bool getDialysateInletFlowData
+ (const Message &vMessage ,
Types::S32 &vFlowSetPoint ,
Types::F32 &vMeasuredFlow , Types::F32 &vRotorSpeed , Types::F32 &vMotorSpeed,
Types::F32 &vMotorCtlSpeed , Types::F32 &vMotorCtlCurrent , Types::F32 &vPWMDtCycle) __attribute_warn_unused_result__;
- bool dialysateFlowData (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__;
+ bool dialysateInletFlowData
+ (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__;
+ // ---- Dialysate Outlet FlowData
+ bool getDialysateOutletFlowData
+ (const Message &vMessage ,
+ Types::F32 &vRefUFVol , Types::F32 &vMeasUFVol ,
+ Types::F32 &vRotorSpeed , Types::F32 &vMotorSpeed ,
+ Types::F32 &vMotorCtlSpeed , Types::F32 &vMotorCtlCurrent , Types::F32 &vPWMDtCycle) __attribute_warn_unused_result__;
+ bool dialysateOutletFlowData
+ (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__;
+
// ---- AlarmStatus
bool getAlarmStatus (const Message &vMessage ,
Types::U32 &vState , Types::U32 &vTop ,
Index: sources/gui/guiglobals.h
===================================================================
diff -u -r70a248b93720a46cb3a0f60b092698acd2acc7c1 -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/gui/guiglobals.h (.../guiglobals.h) (revision 70a248b93720a46cb3a0f60b092698acd2acc7c1)
+++ sources/gui/guiglobals.h (.../guiglobals.h) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -29,19 +29,20 @@
public:
enum /*class*/ GuiActionsType_Enum /*: quint16 QML doesn't support enum types */ {
- Unknown = 0x0000,
- PowerOff = 0x0100,
- KeepAlive = 0x0700,
- BloodFlow = 0x0500,
- DialysateFlow = 0x0800,
+ Unknown = 0x0000,
+ PowerOff = 0x0100,
+ KeepAlive = 0x0700,
+ BloodFlow = 0x0500,
+ DialysateInletFlow = 0x0800,
+ DialysateOutletFlow = 0x0B00,
- AlarmStatus = 0x0200,
- AlarmTriggered = 0x0300,
- AlarmCleared = 0x0400,
+ AlarmStatus = 0x0200,
+ AlarmTriggered = 0x0300,
+ AlarmCleared = 0x0400,
- String = 0xFFFE,
+ String = 0xFFFE,
- Acknow = 0xFFFF,
+ Acknow = 0xFFFF,
};
enum class GuiActionsIndx_Enum {
@@ -58,15 +59,24 @@
BloodFlow_MotorCtlCurrent ,
BloodFlow_PWMDtCycle ,
- // ---- DialysateFlow
- DialysateFlow_FlowSetPoint = 0 ,
- DialysateFlow_MeasuredFlow ,
- DialysateFlow_RotorSpeed ,
- DialysateFlow_MotorSpeed ,
- DialysateFlow_MotorCtlSpeed ,
- DialysateFlow_MotorCtlCurrent ,
- DialysateFlow_PWMDtCycle ,
+ // ---- DialysateInletFlow
+ DialysateInletFlow_FlowSetPoint = 0 ,
+ DialysateInletFlow_MeasuredFlow ,
+ DialysateInletFlow_RotorSpeed ,
+ DialysateInletFlow_MotorSpeed ,
+ DialysateInletFlow_MotorCtlSpeed ,
+ DialysateInletFlow_MotorCtlCurrent ,
+ DialysateInletFlow_PWMDtCycle ,
+ // ---- DialysateOutletFlow
+ DialysateOutletFlow_RefUFVol = 0 ,
+ DialysateOutletFlow_MeasUFVol ,
+ DialysateOutletFlow_RotorSpeed ,
+ DialysateOutletFlow_MotorSpeed ,
+ DialysateOutletFlow_MotorCtlSpeed ,
+ DialysateOutletFlow_MotorCtlCurrent ,
+ DialysateOutletFlow_PWMDtCycle ,
+
// ---- AlarmStatus
AlarmStatus_Priority = 0 ,
AlarmStatus_AlarmID ,
Index: sources/gui/qml/components/ProgressBar.qml
===================================================================
diff -u -r00e025a5d672cae66e592608792c17d98be54d19 -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/gui/qml/components/ProgressBar.qml (.../ProgressBar.qml) (revision 00e025a5d672cae66e592608792c17d98be54d19)
+++ sources/gui/qml/components/ProgressBar.qml (.../ProgressBar.qml) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -30,7 +30,8 @@
property alias color : _progressRect.color
property alias bgColor : _root.color
- property alias markerHeight: _progressMarker.height
+ property alias markerHeight: _marker.height
+ property alias markerHandle: _marker.hasHandle
height : Variables.progressbarHeight
@@ -60,16 +61,15 @@
color : Colors.highlightProgressBar
- ProgressMarker { id: _progressMarker
- value : _root.value
- height : Variables.progressMarkerHeight
- text.font.pixelSize : Fonts.fontPixelProgressBarMarker
- text.font.bold : true
- // preferred positioning the marker
- text.anchors.right : left
- text.anchors.top : top
- text.anchors.rightMargin: 5
- text.anchors.topMargin : -5
+ RangeMarker { id: _marker
+ anchors {
+ left : parent.right
+ }
+
+ height : Variables.rangeMarkerHeight
+ hasHandle : true
+
+ value : _root.value
}
}
}
Fisheye: Tag 732bc047743c99a157cf147f5313194867c1f5e3 refers to a dead (removed) revision in file `sources/gui/qml/components/ProgressMarker.qml'.
Fisheye: No comparison available. Pass `N' to diff?
Index: sources/gui/qml/components/RangeBar.qml
===================================================================
diff -u
--- sources/gui/qml/components/RangeBar.qml (revision 0)
+++ sources/gui/qml/components/RangeBar.qml (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -0,0 +1,95 @@
+/*!
+ *
+ * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved.
+ * \copyright \n
+ * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, \n
+ * IN PART OR IN WHOLE, \n
+ * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. \n
+ *
+ * \file RangeBar.qml
+ * \date 2020/01/24
+ * \author Behrouz NematiPour
+ *
+ */
+
+// Qt
+import QtQuick 2.12
+import QtQuick.Controls 2.12
+
+// Project
+// Qml imports
+import "qrc:/globals"
+
+/*!
+ * \brief Denali project Progress Rect
+ * \details This rectangle fits into the rect area and will calculate its length
+ * in regards to the min, max, width, current value of the parent
+ */
+RangeRect { id: _root
+ property int value : 0
+ property int lowerBound : 0
+ property int upperBound : 0
+
+ property alias rangebar : _rangeRect
+
+ property int markerHeight: Variables.rangeMarkerHeightMidle
+ property color markerColor : Colors.rangeMarker
+
+ property int markerBoundHeight : Variables.rangeMarkerHeightShort
+ property color markerBoundColor : Colors.rangeMarkerShort
+
+ RangeRect { id: _rangeRect
+ x : ((parent.width * (lowerBound - parent.minimum)) / (parent.maximum - parent.minimum))
+ height : parent.height
+ width : ((parent.width * (upperBound - lowerBound)) / (parent.maximum - parent.minimum))
+
+ radius: 0
+
+ minimum: lowerBound
+ maximum: upperBound
+
+ minText.visible: true
+ maxText.visible: true
+ RangeMarker { id: _rangeMarkerLowerBound
+ text.visible: false
+ height : markerBoundHeight
+ color : markerBoundColor
+ anchors.left: parent.left
+ }
+
+ RangeMarker { id: _rangeMarkerUpperBound
+ text.visible: false
+ height : markerBoundHeight
+ color : markerBoundColor
+ anchors.left: parent.right
+ }
+
+ }
+
+ RangeMarker { id: _rangeMarkerValue
+ value : parent.value
+ x : ((parent.width * (parent.value - minimum)) / (maximum - minimum))
+ text.visible: true
+ hasHandle : true
+ height : markerHeight
+ color : markerColor
+ }
+
+ //property real margin : Variables.rangeRectMargin
+ //
+ //QtObject { id: _private
+ // property int length: ((parent.width * (value - minimum)) / (maximum - minimum) - (margin * 2))
+ //}
+ //
+ //width : _private.length
+ //
+ //// progress Rects require to show the current values as their maxText values
+ //maxText.text: value
+ //
+ //anchors {
+ // left : parent.left
+ // top : parent.top
+ // bottom : parent.bottom
+ // margins : margin
+ //}
+}
Index: sources/gui/qml/components/RangeMarker.qml
===================================================================
diff -u
--- sources/gui/qml/components/RangeMarker.qml (revision 0)
+++ sources/gui/qml/components/RangeMarker.qml (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -0,0 +1,78 @@
+/*!
+ *
+ * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved.
+ * \copyright \n
+ * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, \n
+ * IN PART OR IN WHOLE, \n
+ * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. \n
+ *
+ * \file RangeMarker.qml
+ * \date 2020/01/22
+ * \author Behrouz NematiPour
+ *
+ */
+
+// Qt
+import QtQuick 2.12
+import QtQuick.Controls 2.12
+
+// Project
+// Qml imports
+import "qrc:/globals"
+
+/*!
+ * \brief Denali project simple logo (No 'Diality')
+ */
+Item { id : _root
+ property int value : 0
+
+ property alias text : _textValue
+ property color color : Colors.rangeMarker
+ property alias thickness : _root.width
+ property alias hasHandle : _handle.visible
+
+ height: parent.height
+ width : Variables.rangeMarkerWidth
+
+ anchors {
+ bottom : parent.bottom
+ }
+
+ Rectangle { id: _handle
+ visible : false
+
+ width : _root.width * 3
+ height : _root.width * 3
+ radius : _root.width * 3
+ color : _root.color
+ anchors {
+ top : _root.top
+ horizontalCenter: parent.horizontalCenter
+ }
+ }
+
+ Rectangle { id: _stick
+ width : _root.width
+ height : _root.height
+ color : _root.color
+ anchors {
+ top : _root.top
+ horizontalCenter: parent.horizontalCenter
+ }
+ }
+
+ Text { id: _textValue
+ font {
+ pixelSize : Fonts.fontPixelRangeMarker
+ bold : true
+ }
+ anchors {
+ right : parent.left
+ top : parent.top
+ rightMargin: 5
+ topMargin : -5
+ }
+ color : Colors.textRangeMarker
+ text : value
+ }
+}
Index: sources/gui/qml/components/RangeRect.qml
===================================================================
diff -u -r00e025a5d672cae66e592608792c17d98be54d19 -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/gui/qml/components/RangeRect.qml (.../RangeRect.qml) (revision 00e025a5d672cae66e592608792c17d98be54d19)
+++ sources/gui/qml/components/RangeRect.qml (.../RangeRect.qml) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -41,7 +41,7 @@
Text { id: _textMinimum
visible : false
- font.pixelSize : Fonts.fontPixelRengeRectText
+ font.pixelSize : Fonts.fontPixelRangeRectText
font.bold : true
color : Colors.textProgressBar
@@ -57,7 +57,7 @@
Text { id: _textMaximum
visible : false
- font.pixelSize : Fonts.fontPixelRengeRectText
+ font.pixelSize : Fonts.fontPixelRangeRectText
font.bold : true
color : Colors.textProgressBar
Index: sources/gui/qml/globals/Colors.qml
===================================================================
diff -u -r00e025a5d672cae66e592608792c17d98be54d19 -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/gui/qml/globals/Colors.qml (.../Colors.qml) (revision 00e025a5d672cae66e592608792c17d98be54d19)
+++ sources/gui/qml/globals/Colors.qml (.../Colors.qml) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -36,8 +36,9 @@
readonly property color highlightMedProgressBar : "#1b2b3e"
readonly property color textProgressBar : "#88a3c5"
- readonly property color textProgressMarker : "white"
- readonly property color progressMarker : "white"
+ readonly property color textRangeMarker : "white"
+ readonly property color rangeMarker : "white"
+ readonly property color rangeMarkerShort : "#9fb6d1"
readonly property color textMain : "#FCFCFC"
readonly property color textButton : "#E8E8E8"
Index: sources/gui/qml/globals/Fonts.qml
===================================================================
diff -u -r00e025a5d672cae66e592608792c17d98be54d19 -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 00e025a5d672cae66e592608792c17d98be54d19)
+++ sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -33,6 +33,6 @@
readonly property int fontPixelVitals : 68
- readonly property int fontPixelProgressBarMarker: 16
- readonly property int fontPixelRengeRectText : 14
+ readonly property int fontPixelRangeMarker : 16
+ readonly property int fontPixelRangeRectText : 14
}
Index: sources/gui/qml/globals/Variables.qml
===================================================================
diff -u -r00e025a5d672cae66e592608792c17d98be54d19 -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 00e025a5d672cae66e592608792c17d98be54d19)
+++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -49,12 +49,14 @@
readonly property int dialogRadius : 10
- readonly property int rangeRectMargin : 1
- readonly property int rangeRectRadius : 2
- readonly property int rangeRectTextMargin : 7
+ readonly property int rangeRectMargin : 1
+ readonly property int rangeRectRadius : 2
+ readonly property int rangeRectTextMargin : 7
+ readonly property int rangeMarkerHeight : 60
+ readonly property int rangeMarkerHeightMidle: 40
+ readonly property int rangeMarkerHeightShort: 20
+ readonly property int rangeMarkerWidth : 2
- readonly property int progressbarHeight : 30
- readonly property int progressMarkerHeight : 60
- readonly property int progressMarkerWidth : 2
+ readonly property int progressbarHeight : 30
}
Index: sources/gui/qml/pages/SettingsHome.qml
===================================================================
diff -u -r4d201ed69decd17c5fe8ed150fd90f194b35a486 -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/gui/qml/pages/SettingsHome.qml (.../SettingsHome.qml) (revision 4d201ed69decd17c5fe8ed150fd90f194b35a486)
+++ sources/gui/qml/pages/SettingsHome.qml (.../SettingsHome.qml) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -137,83 +137,155 @@
}
}
- Column { id: _DialysateFlowColumn
+ Column { id: _DialysateInletFlowColumn
width: 150
spacing: 20
topPadding: 100
leftPadding: 180
Text {
- id: _DialysateFlow_Title
- text: qsTr(" Dialysate ")
- width: _DialysateFlowColumn.width
+ id: _DialysateInletFlow_Title
+ text: qsTr(" Dialysate I ")
+ width: _DialysateInletFlowColumn.width
horizontalAlignment: Text.AlignLeft
color: Colors.textMain
font.pixelSize: Fonts.fontPixelTitle
font.underline: true
}
Text {
- id: _DialysateFlow_S32
+ id: _DialysateInletFlow_S32
text: qsTr("")
- width: _DialysateFlowColumn.width
+ width: _DialysateInletFlowColumn.width
horizontalAlignment: Text.AlignRight
color: Colors.textMain
font.pixelSize: Fonts.fontPixelTitle
}
Text {
- id: _DialysateFlow_F32_1
+ id: _DialysateInletFlow_F32_1
text: qsTr("")
- width: _DialysateFlowColumn.width
+ width: _DialysateInletFlowColumn.width
horizontalAlignment: Text.AlignRight
color: Colors.textMain
font.pixelSize: Fonts.fontPixelTitle
}
Text {
- id: _DialysateFlow_F32_2
+ id: _DialysateInletFlow_F32_2
text: qsTr("")
- width: _DialysateFlowColumn.width
+ width: _DialysateInletFlowColumn.width
horizontalAlignment: Text.AlignRight
color: Colors.textMain
font.pixelSize: Fonts.fontPixelTitle
}
Text {
- id: _DialysateFlow_F32_3
+ id: _DialysateInletFlow_F32_3
text: qsTr("")
- width: _DialysateFlowColumn.width
+ width: _DialysateInletFlowColumn.width
horizontalAlignment: Text.AlignRight
color: Colors.textMain
font.pixelSize: Fonts.fontPixelTitle
}
Text {
- id: _DialysateFlow_F32_4
+ id: _DialysateInletFlow_F32_4
text: qsTr("")
- width: _DialysateFlowColumn.width
+ width: _DialysateInletFlowColumn.width
horizontalAlignment: Text.AlignRight
color: Colors.textMain
font.pixelSize: Fonts.fontPixelTitle
}
Text {
- id: _DialysateFlow_F32_5
+ id: _DialysateInletFlow_F32_5
text: qsTr("")
- width: _DialysateFlowColumn.width
+ width: _DialysateInletFlowColumn.width
horizontalAlignment: Text.AlignRight
color: Colors.textMain
font.pixelSize: Fonts.fontPixelTitle
}
Text {
- id: _DialysateFlow_F32_6
+ id: _DialysateInletFlow_F32_6
text: qsTr("")
- width: _DialysateFlowColumn.width
+ width: _DialysateInletFlowColumn.width
horizontalAlignment: Text.AlignRight
color: Colors.textMain
font.pixelSize: Fonts.fontPixelTitle
}
}
+ Column { id: _DialysateOutletFlowColumn
+ width: 150
+ spacing: 20
+ topPadding: 100
+ leftPadding: 400
+ Text {
+ id: _DialysateOutletFlow_Title
+ text: qsTr(" Dialysate O ")
+ width: _DialysateOutletFlowColumn.width
+ horizontalAlignment: Text.AlignLeft
+ color: Colors.textMain
+ font.pixelSize: Fonts.fontPixelTitle
+ font.underline: true
+ }
+ Text {
+ id: _DialysateOutletFlow_F32_0
+ text: qsTr("")
+ width: _DialysateOutletFlowColumn.width
+ horizontalAlignment: Text.AlignRight
+ color: Colors.textMain
+ font.pixelSize: Fonts.fontPixelTitle
+ }
+ Text {
+ id: _DialysateOutletFlow_F32_1
+ text: qsTr("")
+ width: _DialysateOutletFlowColumn.width
+ horizontalAlignment: Text.AlignRight
+ color: Colors.textMain
+ font.pixelSize: Fonts.fontPixelTitle
+ }
+ Text {
+ id: _DialysateOutletFlow_F32_2
+ text: qsTr("")
+ width: _DialysateOutletFlowColumn.width
+ horizontalAlignment: Text.AlignRight
+ color: Colors.textMain
+ font.pixelSize: Fonts.fontPixelTitle
+ }
+ Text {
+ id: _DialysateOutletFlow_F32_3
+ text: qsTr("")
+ width: _DialysateOutletFlowColumn.width
+ horizontalAlignment: Text.AlignRight
+ color: Colors.textMain
+ font.pixelSize: Fonts.fontPixelTitle
+ }
+ Text {
+ id: _DialysateOutletFlow_F32_4
+ text: qsTr("")
+ width: _DialysateOutletFlowColumn.width
+ horizontalAlignment: Text.AlignRight
+ color: Colors.textMain
+ font.pixelSize: Fonts.fontPixelTitle
+ }
+ Text {
+ id: _DialysateOutletFlow_F32_5
+ text: qsTr("")
+ width: _DialysateOutletFlowColumn.width
+ horizontalAlignment: Text.AlignRight
+ color: Colors.textMain
+ font.pixelSize: Fonts.fontPixelTitle
+ }
+ Text {
+ id: _DialysateOutletFlow_F32_6
+ text: qsTr("")
+ width: _DialysateOutletFlowColumn.width
+ horizontalAlignment: Text.AlignRight
+ color: Colors.textMain
+ font.pixelSize: Fonts.fontPixelTitle
+ }
+ }
+
Column { id: _AlarmStatusColumn
width: 270
spacing: 5
topPadding: 100
- leftPadding: 400
+ leftPadding: 700
Text {
id: _AlarmStatus_Title
text: qsTr(" Alarm Status ")
@@ -331,23 +403,35 @@
if ( ! visible ) return;
switch(vAction) {
case GuiActions.BloodFlow:
- _BloodFlow_S32 .text = vData[GuiActions.BloodFlow_FlowSetPoint ];
- _BloodFlow_F32_1.text = vData[GuiActions.BloodFlow_MeasuredFlow ].toFixed(2);
- _BloodFlow_F32_2.text = vData[GuiActions.BloodFlow_RotorSpeed ].toFixed(2);
- _BloodFlow_F32_3.text = vData[GuiActions.BloodFlow_MotorSpeed ].toFixed(2);
- _BloodFlow_F32_4.text = vData[GuiActions.BloodFlow_MotorCtlSpeed ].toFixed(2);
- _BloodFlow_F32_5.text = vData[GuiActions.BloodFlow_MotorCtlCurrent].toFixed(2);
- _BloodFlow_F32_6.text = vData[GuiActions.BloodFlow_PWMDtCycle ].toFixed(2) + "%";
+ _BloodFlow_S32 .text = vData[GuiActions.BloodFlow_FlowSetPoint ];
+ _BloodFlow_F32_1.text = vData[GuiActions.BloodFlow_MeasuredFlow ].toFixed(2);
+ _BloodFlow_F32_2.text = vData[GuiActions.BloodFlow_RotorSpeed ].toFixed(2);
+ _BloodFlow_F32_3.text = vData[GuiActions.BloodFlow_MotorSpeed ].toFixed(2);
+ _BloodFlow_F32_4.text = vData[GuiActions.BloodFlow_MotorCtlSpeed ].toFixed(2);
+ _BloodFlow_F32_5.text = vData[GuiActions.BloodFlow_MotorCtlCurrent].toFixed(2);
+ _BloodFlow_F32_6.text = "%" + vData[GuiActions.BloodFlow_PWMDtCycle ].toFixed(2);
break;
- case GuiActions.DialysateFlow:
- _DialysateFlow_S32 .text = vData[GuiActions.DialysateFlow_FlowSetPoint ];
- _DialysateFlow_F32_1.text = vData[GuiActions.DialysateFlow_MeasuredFlow ].toFixed(2);
- _DialysateFlow_F32_2.text = vData[GuiActions.DialysateFlow_RotorSpeed ].toFixed(2);
- _DialysateFlow_F32_3.text = vData[GuiActions.DialysateFlow_MotorSpeed ].toFixed(2);
- _DialysateFlow_F32_4.text = vData[GuiActions.DialysateFlow_MotorCtlSpeed ].toFixed(2);
- _DialysateFlow_F32_5.text = vData[GuiActions.DialysateFlow_MotorCtlCurrent].toFixed(2);
- _DialysateFlow_F32_6.text = vData[GuiActions.DialysateFlow_PWMDtCycle ].toFixed(2) + "%";
+
+ case GuiActions.DialysateInletFlow:
+ _DialysateInletFlow_S32 .text = vData[GuiActions.DialysateInletFlow_FlowSetPoint ];
+ _DialysateInletFlow_F32_1.text = vData[GuiActions.DialysateInletFlow_MeasuredFlow ].toFixed(2);
+ _DialysateInletFlow_F32_2.text = vData[GuiActions.DialysateInletFlow_RotorSpeed ].toFixed(2);
+ _DialysateInletFlow_F32_3.text = vData[GuiActions.DialysateInletFlow_MotorSpeed ].toFixed(2);
+ _DialysateInletFlow_F32_4.text = vData[GuiActions.DialysateInletFlow_MotorCtlSpeed ].toFixed(2);
+ _DialysateInletFlow_F32_5.text = vData[GuiActions.DialysateInletFlow_MotorCtlCurrent ].toFixed(2);
+ _DialysateInletFlow_F32_6.text = "%" + vData[GuiActions.DialysateInletFlow_PWMDtCycle ].toFixed(2);
break;
+
+ case GuiActions.DialysateOutletFlow:
+ _DialysateOutletFlow_F32_0.text = vData[GuiActions.DialysateOutletFlow_RefUFVol ].toFixed(2);
+ _DialysateOutletFlow_F32_1.text = vData[GuiActions.DialysateOutletFlow_MeasUFVol ].toFixed(2);
+ _DialysateOutletFlow_F32_2.text = vData[GuiActions.DialysateOutletFlow_RotorSpeed ].toFixed(2);
+ _DialysateOutletFlow_F32_3.text = vData[GuiActions.DialysateOutletFlow_MotorSpeed ].toFixed(2);
+ _DialysateOutletFlow_F32_4.text = vData[GuiActions.DialysateOutletFlow_MotorCtlSpeed ].toFixed(2);
+ _DialysateOutletFlow_F32_5.text = vData[GuiActions.DialysateOutletFlow_MotorCtlCurrent ].toFixed(2);
+ _DialysateOutletFlow_F32_6.text = "%" + vData[GuiActions.DialysateOutletFlow_PWMDtCycle ].toFixed(2);
+ break;
+
case GuiActions.AlarmStatus:
_AlarmStatus_Priority .text = _GuiView.alarmPriorityName(vData[GuiActions.AlarmStatus_Priority ])
_AlarmStatus_ID .text = _GuiView.alarmIDName (vData[GuiActions.AlarmStatus_AlarmID ])
Index: sources/gui/qml/pages/TreatmentStart.qml
===================================================================
diff -u -r00e025a5d672cae66e592608792c17d98be54d19 -r732bc047743c99a157cf147f5313194867c1f5e3
--- sources/gui/qml/pages/TreatmentStart.qml (.../TreatmentStart.qml) (revision 00e025a5d672cae66e592608792c17d98be54d19)
+++ sources/gui/qml/pages/TreatmentStart.qml (.../TreatmentStart.qml) (revision 732bc047743c99a157cf147f5313194867c1f5e3)
@@ -28,8 +28,8 @@
* which is the default screen in the "Manager" stack
*/
ScreenItem { id: _root
- property int bloodFlow_MeasuredFlow_Precision: 0
- property int dialysateFlow_MeasuredFlow_Precision: 0
+ property int bloodFlow_MeasuredFlow_Precision: 0
+ property int dialysateInletFlow_MeasuredFlow_Precision: 0
property int leftColumnX : 40
@@ -59,7 +59,7 @@
extra: qsTr("mL") // unit
labelFont.weight: Font.ExtraLight
} ,
- TextRect { id: _dialysateFlow
+ TextRect { id: _dialysateInletFlow
title: qsTr("Dialysate")
label: "500" // value
extra: qsTr("mL") // unit
@@ -99,12 +99,56 @@
Line { x: 0; y: row2LineY; length: lineLength }
TouchArea { id: _pressureTouchArea
+ clip: false
x: leftColumnX
y: row3Y
width: _flowsTouchArea.width
+ height : 200
isTouchable: true
- orientation: TouchArea.Orientation.Vertical
+ orientation: TouchArea.Orientation.Horizontal
title: qsTr("PRESSURE") + " " + qsTr("(mmHg)")
+ RangeBar { id: _arterialRangeBar
+ x: 0
+ y: 75
+ width : 175
+ height : 15
+ rangebar.color: "#31bcdb"
+
+ value : 0
+
+ // TEST : simulation code
+ minimum : -400
+ maximum : 400
+ lowerBound: -300
+ upperBound: 100
+ NumberAnimation on value {
+ duration: 70000 /*_progressbar.r*/;
+ from: _arterialRangeBar.minimum;
+ to: _arterialRangeBar.maximum;
+ loops: Animation.Infinite;
+ }
+ }
+ RangeBar { id: _venoudRangeBar
+ x: 200
+ y: 75
+ width : 175
+ height : 15
+ rangebar.color: "#c568ed"
+
+ value : 0
+
+ // TEST : simulation code
+ minimum: -100
+ maximum: 800
+ lowerBound: -100
+ upperBound: 500
+ NumberAnimation on value {
+ duration: 70000;
+ from: _venoudRangeBar.minimum;
+ to: _venoudRangeBar.maximum;
+ loops: Animation.Infinite;
+ }
+ }
}
// ---------- COLUMN RIGHT
@@ -184,8 +228,8 @@
case GuiActions.BloodFlow:
_bloodFlow.label = vData[GuiActions.BloodFlow_MeasuredFlow].toFixed(bloodFlow_MeasuredFlow_Precision);
break
- case GuiActions.DialysateFlow:
- _dialysateFlow.label = vData[GuiActions.DialysateFlow_MeasuredFlow].toFixed(dialysateFlow_MeasuredFlow_Precision);
+ case GuiActions.DialysateInletFlow:
+ _dialysateInletFlow.label = vData[GuiActions.DialysateInletFlow_MeasuredFlow].toFixed(dialysateInletFlow_MeasuredFlow_Precision);
break
}
}