Index: denali.pro =================================================================== diff -u -rbe1b2d8f110b741f3d630df438da07d411110543 -r3e2866b98a67e772686d5190eacfd4ee437bcd0f --- denali.pro (.../denali.pro) (revision be1b2d8f110b741f3d630df438da07d411110543) +++ denali.pro (.../denali.pro) (revision 3e2866b98a67e772686d5190eacfd4ee437bcd0f) @@ -124,6 +124,7 @@ sources/view/VView.h \ sources/view/VPowerOff.h \ sources/view/VPriming.h \ + sources/view/VVitals.h \ \ # ---------- Views - Alarm sources/view/hd/alarm/VAlarmStatus.h \ \ # ---------- Views - HD - Adjustment - In-Treatment @@ -239,6 +240,7 @@ sources/view/VEventSpy.cpp \ sources/view/VPriming.cpp \ sources/view/VPowerOff.cpp \ + sources/view/VVitals.cpp \ \ # ---------- Views - Alarm sources/view/hd/alarm/VAlarmStatus.cpp \ \ # ---------- Views - HD - Adjustment - In-Treatment Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -rbe1b2d8f110b741f3d630df438da07d411110543 -r3e2866b98a67e772686d5190eacfd4ee437bcd0f --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision be1b2d8f110b741f3d630df438da07d411110543) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 3e2866b98a67e772686d5190eacfd4ee437bcd0f) @@ -60,6 +60,7 @@ #include "VTreatmentAdjustmentUltrafiltrationEdit.h" #include "VTreatmentAdjustmentUltrafiltrationConfirm.h" #include "VTreatmentAdjustmentSaline.h" +#include "VVitals.h" namespace Gui { MainView *_viewer = nullptr; Index: sources/gui/qml/main.qml =================================================================== diff -u -rbe1b2d8f110b741f3d630df438da07d411110543 -r3e2866b98a67e772686d5190eacfd4ee437bcd0f --- sources/gui/qml/main.qml (.../main.qml) (revision be1b2d8f110b741f3d630df438da07d411110543) +++ sources/gui/qml/main.qml (.../main.qml) (revision 3e2866b98a67e772686d5190eacfd4ee437bcd0f) @@ -49,6 +49,7 @@ import VPriming 0.1; import VTreatmentBegin 0.1; import VTreatmentEnd 0.1; +import VVitals 0.1; // Qml imports import "qrc:/globals" @@ -108,6 +109,7 @@ VPriming { id: vPriming } VTreatmentBegin { id: vTreatmentBegin } VTreatmentEnd { id: vTreatmentEnd } + VVitals { id: vVitals } // ----- Follow the below Z order ----- // 1 - Screens Index: sources/gui/qml/pages/treatment/sections/TreatmentVitals.qml =================================================================== diff -u -r56e378f7504701b9e9a9dccaf205aef2fd52c58e -r3e2866b98a67e772686d5190eacfd4ee437bcd0f --- sources/gui/qml/pages/treatment/sections/TreatmentVitals.qml (.../TreatmentVitals.qml) (revision 56e378f7504701b9e9a9dccaf205aef2fd52c58e) +++ sources/gui/qml/pages/treatment/sections/TreatmentVitals.qml (.../TreatmentVitals.qml) (revision 3e2866b98a67e772686d5190eacfd4ee437bcd0f) @@ -42,15 +42,18 @@ labelFont.pixelSize: Fonts.fontPixelVitals labelFont.weight: Font.ExtraLight labelAutoSize: true - label: "120/80" // value + label: (vVitals.bloodPressureSystolic === 9999) && (9999 === vVitals.bloodPressureSystolic) ? + "--/--" : vVitals.bloodPressureSystolic + + "/" + + vVitals.bloodPressureDiastolic extra: Variables.unitTextBloodPressure } TextRect { id: _heartBeat labelHeight: 40 labelFont.pixelSize: Fonts.fontPixelVitals labelFont.weight: Font.ExtraLight labelAutoSize: true - label: "130" // value + label: vVitals.pulseBPM === 9999 ? "--" : vVitals.pulseBPM extra: Variables.unitTextHeartBeat } } Index: sources/view/VBluetooth.cpp =================================================================== diff -u -r5220c64dd3a0fc9c322a68884e73503bb7893d12 -r3e2866b98a67e772686d5190eacfd4ee437bcd0f --- sources/view/VBluetooth.cpp (.../VBluetooth.cpp) (revision 5220c64dd3a0fc9c322a68884e73503bb7893d12) +++ sources/view/VBluetooth.cpp (.../VBluetooth.cpp) (revision 3e2866b98a67e772686d5190eacfd4ee437bcd0f) @@ -1,9 +1,9 @@ #include "VBluetooth.h" -#include "BLEScanner.h" // Qt // Project +#include "BLEScanner.h" #include "FileHandler.h" #include "FileSaver.h" Index: sources/view/VView.h =================================================================== diff -u -rbe1b2d8f110b741f3d630df438da07d411110543 -r3e2866b98a67e772686d5190eacfd4ee437bcd0f --- sources/view/VView.h (.../VView.h) (revision be1b2d8f110b741f3d630df438da07d411110543) +++ sources/view/VView.h (.../VView.h) (revision 3e2866b98a67e772686d5190eacfd4ee437bcd0f) @@ -135,6 +135,7 @@ REGISTER_TYPE( VPriming ) \ REGISTER_TYPE( VTreatmentBegin ) \ REGISTER_TYPE( VTreatmentEnd ) \ - REGISTER_TYPE( VTreatmentAdjustmentSaline ) + REGISTER_TYPE( VTreatmentAdjustmentSaline ) \ + REGISTER_TYPE( VVitals ) //--------------------------------------------------------------------------------// Index: sources/view/VVitals.cpp =================================================================== diff -u --- sources/view/VVitals.cpp (revision 0) +++ sources/view/VVitals.cpp (revision 3e2866b98a67e772686d5190eacfd4ee437bcd0f) @@ -0,0 +1,28 @@ + +// Qt + +// Project +#include "VVitals.h" + + +using namespace View; + + +VVitals::VVitals(QObject *parent) : QObject(parent) +{ + // incoming + connect(&_BLEScanner, SIGNAL(didReceiveBPMeasurement(BLEScanner::bp_measurement)), + this, SLOT(onReceiveBPMeasurement(BLEScanner::bp_measurement))); +} + +/*! + * \brief VVitals::onReceiveBPMeasurement + * Private slot that is called when we recieve a blood pressure measurement + * \param measurement - (BLEScanner::bp_measurement) the blood pressure measurement + */ +void VVitals::onReceiveBPMeasurement(BLEScanner::bp_measurement measurement) +{ + bloodPressureDiastolic (measurement.diastolic); + bloodPressureSystolic (measurement.systolic); + pulseBPM (measurement.pulse_rate); +} Index: sources/view/VVitals.h =================================================================== diff -u --- sources/view/VVitals.h (revision 0) +++ sources/view/VVitals.h (revision 3e2866b98a67e772686d5190eacfd4ee437bcd0f) @@ -0,0 +1,44 @@ +#ifndef VVITALS_H +#define VVITALS_H + +// Qt +#include + +// Project +#include "BLEScanner.h" +#include "main.h" + +#define UNSET 9999 + +// forward declarations +class tst_views; + +namespace View { + +/*! + * \brief The VVitals class + * \details View for handling BP/HR data + * + * + */ +class VVitals : public QObject +{ + Q_OBJECT +private: + + // friends + friend class ::tst_views; + +public: + explicit VVitals(QObject *parent = nullptr); + +protected: + PROPERTY(quint32, bloodPressureSystolic, UNSET) + PROPERTY(quint32, bloodPressureDiastolic, UNSET) + PROPERTY(quint32, pulseBPM, UNSET) + +private slots: + void onReceiveBPMeasurement(BLEScanner::bp_measurement measurement); +}; +} +#endif // VVITALS_H