Index: AlarmMapping.csv =================================================================== diff -u -rdb92783a0a9dab0ddf2b68c51d15b1ae1cb3ddcc -r108450c58851ff7c48c4607494b8cdae59952908 --- AlarmMapping.csv (.../AlarmMapping.csv) (revision db92783a0a9dab0ddf2b68c51d15b1ae1cb3ddcc) +++ AlarmMapping.csv (.../AlarmMapping.csv) (revision 108450c58851ff7c48c4607494b8cdae59952908) @@ -64,10 +64,10 @@ 63,"FPGA reports failure reading arterial pressure sensor." 64,"FPGA reports failure reading venous pressure sensor." 65,"HD requests DG command with invalid parameter fault." - 66,"This alarm ID is available for use." + 66,"HD blood leak sensor set point set failure." 67,"HD blood pump occlusion self-test failure alarm." 68,"HD active reservoir recirculation out of range." - 69,"This alarm ID is available for use." + 69,"HD blood leak sensor invalid calibration record." 70,"HD arterial pressure self-test failure alarm." 71,"HD venous pressure self-test failure alarm." 72,"HD blood flow meter status check self-test failure alarm." @@ -85,7 +85,7 @@ 84,"HD venous pressure sensor not being read." 85,"HD venous pressure sensor temperature out of range error." 86,"HD BP occlusion sensor not being read." - 87,"This alarm ID is available for use." + 87,"DG heating invalid calibration record." 88,"This alarm ID is available for use." 89,"HD BP occlusion sensor error." 90,"This alarm ID is available for use." @@ -141,8 +141,8 @@ 140,"Dialysate generator communication timeout." 141,"Air trap fill timeout during treatment." 142,"Blood pump occlusion detected." - 143,"This alarm ID is available for use." - 144,"This alarm ID is available for use." + 143,"DG dialysate temperature sensors drift timeout." + 144,"DG software configuration record invalid CRC." 145,"Concentrate conductivity after adding acid out of range alarm." 146,"Dialysate conductivity out of range." 147,"DG dialysate generation conductivity fault alarm." @@ -153,10 +153,10 @@ 152,"Inlet water pressure too low." 153,"HD prime completed high priority alarm." 154,"EEPROM operations (read, write, erase) failure." - 155,"This alarm ID is available for use." + 155,"DG software configuration record invalid CRC." 156,"HW usage data (treatment time in HD and total consumed water in DG) failure." 157,"This alarm ID is available for use." - 158,"Blood pump failed flow vs motor speed check." + 158,"This alarm ID is available for use." 159,"Dialysate inlet pump failed flow vs motor speed check." 160,"Blood pump rotor speed too high." 161,"Blood flow sensor signal strength too low." Index: alarmMapping.sh =================================================================== diff -u -raa7591d9f61f5d8d5a2b3604d4c37d6cea829700 -r108450c58851ff7c48c4607494b8cdae59952908 --- alarmMapping.sh (.../alarmMapping.sh) (revision aa7591d9f61f5d8d5a2b3604d4c37d6cea829700) +++ alarmMapping.sh (.../alarmMapping.sh) (revision 108450c58851ff7c48c4607494b8cdae59952908) @@ -18,6 +18,7 @@ echo "update the common repo" cd common if ( test -d .git ); then + git checkout staging git pull fi cd .. @@ -35,8 +36,8 @@ ../scripts/build/alarmMapping \ common/AlarmDefs.h \ sources/model/hd/alarm/MAlarmMapping.cpp \ - 1> alarmMapping.log \ - 2> alarmMapping.err + 2> alarmMapping.err \ + | tee alarmMapping.log echo "move the Alarm code mapping to current location(./)" mv ../scripts/build/AlarmMapping.csv . Index: denali.pro.user =================================================================== diff -u -raa7591d9f61f5d8d5a2b3604d4c37d6cea829700 -r108450c58851ff7c48c4607494b8cdae59952908 --- denali.pro.user (.../denali.pro.user) (revision aa7591d9f61f5d8d5a2b3604d4c37d6cea829700) +++ denali.pro.user (.../denali.pro.user) (revision 108450c58851ff7c48c4607494b8cdae59952908) @@ -1,6 +1,6 @@ - + EnvironmentId Index: denali.qrc =================================================================== diff -u -re4a0e2fc4c7ae0cbce0d670772276bf7f5ff3845 -r108450c58851ff7c48c4607494b8cdae59952908 --- denali.qrc (.../denali.qrc) (revision e4a0e2fc4c7ae0cbce0d670772276bf7f5ff3845) +++ denali.qrc (.../denali.qrc) (revision 108450c58851ff7c48c4607494b8cdae59952908) @@ -135,7 +135,7 @@ sources/gui/qml/main.qml sources/gui/qml/AlarmItem.qml sources/gui/qml/PowerItem.qml - sources/gui/qml/Keyboard.qml + sources/gui/qml/VirtualKeyboard.qml sources/gui/qml/SDItem.qml Index: resources/images/Logo Qt 1024px_old.png =================================================================== diff -u Binary files differ Index: resources/images/Logo d-Qt-mod1.png =================================================================== diff -u Binary files differ Fisheye: Tag 108450c58851ff7c48c4607494b8cdae59952908 refers to a dead (removed) revision in file `scripts/create_update_folder.sh'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 108450c58851ff7c48c4607494b8cdae59952908 refers to a dead (removed) revision in file `sources/gui/qml/Keyboard.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/VirtualKeyboard.qml =================================================================== diff -u --- sources/gui/qml/VirtualKeyboard.qml (revision 0) +++ sources/gui/qml/VirtualKeyboard.qml (revision 108450c58851ff7c48c4607494b8cdae59952908) @@ -0,0 +1,55 @@ +/*! + * + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file Keyboard.qml + * \author (last) Behrouz NematiPour + * \date (last) 16-Apr-2021 + * \author (original) Behrouz NematiPour + * \date (original) 16-Apr-2021 + * + */ + +// Qt +import QtQuick 2.12 +import QtQuick.VirtualKeyboard 2.2 + +// Project +// C++ imports + +// Qml imports +import "qrc:/globals" + + +/*! + * \brief Keyboard is the single keyboard in the entire applicaiton. + */ +InputPanel { id : _root + function setVisible(vVisible) { + Qt.inputMethod.show() + visible = vVisible + } + + externalLanguageSwitchEnabled: true + active : false // if active set to true then in the TextInput section handlers will show up, which is not nice. + y : Qt.inputMethod.visible ? parent.height - _root.height - _bottomFiller.height : parent.height + anchors.left : parent.left + anchors.right : parent.right + + Behavior on y { NumberAnimation { duration: Variables.keybardAnimationDuration } } + // when an alarm is active then alarm covers the keyboard + // to avoid that keyboard moved a little higher + // because the keyboard height is calculated by InputPanel itself and can not be set, + // a gap beetween the bottom of the keyboard and the screen. + // the rectangle _bottomFiller is to fill that gap + Rectangle { id: _bottomFiller + height: Variables.minVGap + color: "black" // InputPanel background color. + anchors.left: _root.left + anchors.right: _root.right + anchors.top: _root.bottom + } +} Index: sources/gui/qml/main.qml =================================================================== diff -u -r161d1431cc3507cd430f54af6aa47dab5145d472 -r108450c58851ff7c48c4607494b8cdae59952908 --- sources/gui/qml/main.qml (.../main.qml) (revision 161d1431cc3507cd430f54af6aa47dab5145d472) +++ sources/gui/qml/main.qml (.../main.qml) (revision 108450c58851ff7c48c4607494b8cdae59952908) @@ -295,7 +295,7 @@ } // keyboard should always be before AlarmItem to not to covet it. - Keyboard { id: _keyboard } + VirtualKeyboard { id: _keyboard } // AlarmItem should always be at the end so nothing covers it AlarmItem { id: _alarmItem ; z: 997 } @@ -317,5 +317,4 @@ timeout : _alarmItem.timeout backgroundFading : vHDOperationMode.fault } - } Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml =================================================================== diff -u -rf7e23265f6ac05c41c8411fac485f3a38640927a -r108450c58851ff7c48c4607494b8cdae59952908 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml (.../PreTreatmentCreateStack.qml) (revision f7e23265f6ac05c41c8411fac485f3a38640927a) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml (.../PreTreatmentCreateStack.qml) (revision 108450c58851ff7c48c4607494b8cdae59952908) @@ -57,7 +57,7 @@ title.text : qsTr("Patient ID") header.backVisible : true header.confirmVisible : true - header.confirmEnabled : _pretreatmentPatientIDEntry.text + header.confirmEnabled : _pretreatmentPatientIDEntry.text.trim() TextEntry { id : _pretreatmentPatientIDEntry property int topMarginContent : 200 Index: sources/model/hd/alarm/MAlarmMapping.cpp =================================================================== diff -u -raa7591d9f61f5d8d5a2b3604d4c37d6cea829700 -r108450c58851ff7c48c4607494b8cdae59952908 --- sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision aa7591d9f61f5d8d5a2b3604d4c37d6cea829700) +++ sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 108450c58851ff7c48c4607494b8cdae59952908) @@ -7,7 +7,7 @@ * * \file MAlarmMapping.cpp * \author (last) Behrouz NematiPour - * \date (last) 29-Dec-2021 + * \date (last) 14-Jan-2022 * \author (original) Behrouz NematiPour * \date (original) 03-May-2021 * @@ -99,10 +99,10 @@ /*0063*/case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT : { result = QObject::tr("FPGA reports failure reading arterial pressure sensor." ); break; } /* 63*/ /*0064*/case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT : { result = QObject::tr("FPGA reports failure reading venous pressure sensor." ); break; } /* 64*/ /*0065*/case GuiAlarmID::ALARM_ID_DG_COMMAND_INVALID_PARAMETER_FAULT : { result = QObject::tr("HD requests DG command with invalid parameter fault." ); break; } /* 65*/ -/*0066*/case GuiAlarmID::ALARM_ID____AVAILABLE_21 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 66*/ +/*0066*/case GuiAlarmID::ALARM_ID_HD_BLOOD_LEAK_SENSOR_SET_POINT_SET_FAILURE : { result = QObject::tr("HD blood leak sensor set point set failure." ); break; } /* 66*/ /*0067*/case GuiAlarmID::ALARM_ID_HD_BP_OCCLUSION_SELF_TEST_FAILURE : { result = QObject::tr("HD blood pump occlusion self-test failure alarm." ); break; } /* 67*/ /*0068*/case GuiAlarmID::ALARM_ID_HD_ACTIVE_RESERVOIR_RECIRCULATION_OUT_OF_RANGE : { result = QObject::tr("HD active reservoir recirculation out of range." ); break; } /* 68*/ -/*0069*/case GuiAlarmID::ALARM_ID____AVAILABLE_6 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 69*/ +/*0069*/case GuiAlarmID::ALARM_ID_HD_BLOOD_LEAK_INVALID_CAL_RECORD : { result = QObject::tr("HD blood leak sensor invalid calibration record." ); break; } /* 69*/ /*0070*/case GuiAlarmID::ALARM_ID_HD_ARTERIAL_PRESSURE_SELF_TEST_FAILURE : { result = QObject::tr("HD arterial pressure self-test failure alarm." ); break; } /* 70*/ /*0071*/case GuiAlarmID::ALARM_ID_HD_VENOUS_PRESSURE_SELF_TEST_FAILURE : { result = QObject::tr("HD venous pressure self-test failure alarm." ); break; } /* 71*/ /*0072*/case GuiAlarmID::ALARM_ID_HD_BLOOD_FLOW_STATUS_SELF_TEST_FAILURE : { result = QObject::tr("HD blood flow meter status check self-test failure alarm." ); break; } /* 72*/ @@ -120,7 +120,7 @@ /*0084*/case GuiAlarmID::ALARM_ID_HD_VENOUS_PRESSURE_READ_TIMEOUT_ERROR : { result = QObject::tr("HD venous pressure sensor not being read." ); break; } /* 84*/ /*0085*/case GuiAlarmID::ALARM_ID_HD_VENOUS_PRESSURE_SENSOR_TEMP_OUT_OF_RANGE : { result = QObject::tr("HD venous pressure sensor temperature out of range error." ); break; } /* 85*/ /*0086*/case GuiAlarmID::ALARM_ID_HD_BP_OCCLUSION_READ_TIMEOUT_ERROR : { result = QObject::tr("HD BP occlusion sensor not being read." ); break; } /* 86*/ -/*0087*/case GuiAlarmID::ALARM_ID____AVAILABLE_10 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 87*/ +/*0087*/case GuiAlarmID::ALARM_ID_DG_HEATING_INVALID_CAL_RECORD : { result = QObject::tr("DG heating invalid calibration record." ); break; } /* 87*/ /*0088*/case GuiAlarmID::ALARM_ID____AVAILABLE_11 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 88*/ /*0089*/case GuiAlarmID::ALARM_ID_HD_BP_OCCLUSION_SENSOR_ERROR : { result = QObject::tr("HD BP occlusion sensor error." ); break; } /* 89*/ /*0090*/case GuiAlarmID::ALARM_ID____AVAILABLE_12 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 90*/ @@ -176,8 +176,8 @@ /*0140*/case GuiAlarmID::ALARM_ID_DG_COMM_TIMEOUT : { result = QObject::tr("Dialysate generator communication timeout." ); break; } /* 140*/ /*0141*/case GuiAlarmID::ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT : { result = QObject::tr("Air trap fill timeout during treatment." ); break; } /* 141*/ /*0142*/case GuiAlarmID::ALARM_ID_OCCLUSION_BLOOD_PUMP : { result = QObject::tr("Blood pump occlusion detected." ); break; } /* 142*/ -/*0143*/case GuiAlarmID::ALARM_ID____AVAILABLE_8 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 143*/ -/*0144*/case GuiAlarmID::ALARM_ID____AVAILABLE_9 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 144*/ +/*0143*/case GuiAlarmID::ALARM_ID_DG_DIALYSATE_TEMPERATURE_SENSORS_DRFIT_TIMEOUT : { result = QObject::tr("DG dialysate temperature sensors drift timeout." ); break; } /* 143*/ +/*0144*/case GuiAlarmID::ALARM_ID_DG_SW_CONFIG_RECORD_INVALID_CRC : { result = QObject::tr("DG software configuration record invalid CRC." ); break; } /* 144*/ /*0145*/case GuiAlarmID::ALARM_ID_ACID_CONDUCTIVITY_OUT_OF_RANGE : { result = QObject::tr("Concentrate conductivity after adding acid out of range alarm." ); break; } /* 145*/ /*0146*/case GuiAlarmID::ALARM_ID_DIALYSATE_CONDUCTIVITY_OUT_OF_RANGE : { result = QObject::tr("Dialysate conductivity out of range." ); break; } /* 146*/ /*0147*/case GuiAlarmID::ALARM_ID_DIALYSATE_CONDUCTIVITY_FAULT : { result = QObject::tr("DG dialysate generation conductivity fault alarm." ); break; } /* 147*/ @@ -188,10 +188,10 @@ /*0152*/case GuiAlarmID::ALARM_ID_INLET_WATER_LOW_PRESSURE : { result = QObject::tr("Inlet water pressure too low." ); break; } /* 152*/ /*0153*/case GuiAlarmID::ALARM_ID_PRIME_COMPLETED_HIGH : { result = QObject::tr("HD prime completed high priority alarm." ); break; } /* 153*/ /*0154*/case GuiAlarmID::ALARM_ID_NVDATA_EEPROM_OPS_FAILURE : { result = QObject::tr("EEPROM operations (read, write, erase) failure." ); break; } /* 154*/ -/*0155*/case GuiAlarmID::ALARM_ID____AVAILABLE_22 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 155*/ +/*0155*/case GuiAlarmID::ALARM_ID_HD_SW_CONFIG_RECORD_INVALID_CRC : { result = QObject::tr("DG software configuration record invalid CRC." ); break; } /* 155*/ /*0156*/case GuiAlarmID::ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR : { result = QObject::tr("HW usage data (treatment time in HD and total consumed water in DG) failure." ); break; } /* 156*/ /*0157*/case GuiAlarmID::ALARM_ID____AVAILABLE_23 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 157*/ -/*0158*/case GuiAlarmID::ALARM_ID____AVAILABLE_24 : { result = QObject::tr("Blood pump failed flow vs motor speed check." ); break; } /* 158*/ +/*0158*/case GuiAlarmID::ALARM_ID____AVAILABLE_24 : { result = QObject::tr("This alarm ID is available for use." ); break; } /* 158*/ /*0159*/case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_FLOW_VS_MOTOR_SPEED_CHECK : { result = QObject::tr("Dialysate inlet pump failed flow vs motor speed check." ); break; } /* 159*/ /*0160*/case GuiAlarmID::ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_TOO_HIGH : { result = QObject::tr("Blood pump rotor speed too high." ); break; } /* 160*/ /*0161*/case GuiAlarmID::ALARM_ID_BLOOD_FLOW_SIGNAL_STRENGTH_TOO_LOW : { result = QObject::tr("Blood flow sensor signal strength too low." ); break; } /* 161*/ Index: sources/view/VTreatmentCreate.cpp =================================================================== diff -u -r7914ad8a4b8450d855fcc75855ca57b6644e9f7c -r108450c58851ff7c48c4607494b8cdae59952908 --- sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision 7914ad8a4b8450d855fcc75855ca57b6644e9f7c) +++ sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision 108450c58851ff7c48c4607494b8cdae59952908) @@ -398,7 +398,7 @@ << QString("%0 mmHg").arg(_venousPressureLimitLow) << QString("%0 mmHg").arg(_venousPressureLimitHigh) << QString("%0 min").arg(_bloodPressureMeasureInterval) - << QString("%0 min").arg(_rinsebackFlowRate); + << QString("%0 mL/min").arg(_rinsebackFlowRate); } /*!