Index: leahi.pro =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- leahi.pro (.../leahi.pro) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ leahi.pro (.../leahi.pro) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -143,12 +143,15 @@ sources/device/DeviceController.h \ sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.h \ sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.h \ + sources/model/dd/data/MDDConcentratePumpData.h \ sources/model/dd/data/MDDConductivityData.h \ + sources/model/dd/data/MDDDialysatePumpData.h \ sources/model/dd/data/MDDGenDialysateData.h \ sources/model/dd/data/MDDHeatersData.h \ sources/model/dd/data/MDDLevelData.h \ sources/model/dd/data/MDDPressuresData.h \ sources/model/dd/data/MDDTemperaturesData.h \ + sources/model/dd/data/MDDValvesStatesData.h \ sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.h \ sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.h \ sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.h \ @@ -178,12 +181,15 @@ \ # ---------- Models - TD - Data //// ----- @LEAHIZED sources/model/td/data/MTDOpModeData.h \ \ # ---------- Views - TD - Data - States //// ----- @LEAHIZED + sources/view/dd/data/VDDConcentratePumpData.h \ sources/view/dd/data/VDDConductivityData.h \ + sources/view/dd/data/VDDDialysatePumpData.h \ sources/view/dd/data/VDDGenDialysateData.h \ sources/view/dd/data/VDDHeatersData.h \ sources/view/dd/data/VDDLevelData.h \ sources/view/dd/data/VDDPressuresData.h \ sources/view/dd/data/VDDTemperaturesData.h \ + sources/view/dd/data/VDDValvesStatesData.h \ sources/view/hd/data/VTreatmentRanges.h \ sources/view/td/data/VTDAirTrapData.h \ sources/view/td/data/VTDBatteryData.h \ @@ -298,7 +304,6 @@ sources/model/dg/data/MDGOperationModeData.h \ sources/model/dg/data/MDGReservoirData.h \ sources/model/dg/data/MDGROPumpData.h \ - sources/model/dg/data/MDGValvesStatesData.h \ sources/model/dg/data/MDGAccelerometerData.h \ \ # CANBus sources/canbus/CanInterface.h \ @@ -402,7 +407,6 @@ sources/view/dg/data/VDGLoadCellReadingsData.h \ sources/view/dg/data/VDGROPumpData.h \ sources/view/dg/data/VDGReservoirData.h \ - sources/view/dg/data/VDGValvesStatesData.h \ sources/view/dg/data/VDGAccelerometerData.h \ \ # Storage sources/storage/StorageGlobals.h \ @@ -440,12 +444,15 @@ sources/device/DeviceController.cpp \ sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.cpp \ sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.cpp \ + sources/model/dd/data/MDDConcentratePumpData.cpp \ sources/model/dd/data/MDDConductivityData.cpp \ + sources/model/dd/data/MDDDialysatePumpData.cpp \ sources/model/dd/data/MDDGenDialysateData.cpp \ sources/model/dd/data/MDDHeatersData.cpp \ sources/model/dd/data/MDDLevelData.cpp \ sources/model/dd/data/MDDPressuresData.cpp \ sources/model/dd/data/MDDTemperaturesData.cpp \ + sources/model/dd/data/MDDValvesStatesData.cpp \ sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.cpp \ sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.cpp \ sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.cpp \ @@ -466,12 +473,15 @@ sources/model/ui/data/MUIBloodPressureData.cpp \ sources/storage/Settings.cpp \ sources/storage/TreatmentLog.cpp \ + sources/view/dd/data/VDDConcentratePumpData.cpp \ sources/view/dd/data/VDDConductivityData.cpp \ + sources/view/dd/data/VDDDialysatePumpData.cpp \ sources/view/dd/data/VDDGenDialysateData.cpp \ sources/view/dd/data/VDDHeatersData.cpp \ sources/view/dd/data/VDDLevelData.cpp \ sources/view/dd/data/VDDPressuresData.cpp \ sources/view/dd/data/VDDTemperaturesData.cpp \ + sources/view/dd/data/VDDValvesStatesData.cpp \ sources/view/hd/data/post/VHDPOSTData.cpp \ sources/bluetooth/BluetoothInterface.cpp \ sources/cloudsync/CloudSyncController.cpp \ @@ -581,7 +591,6 @@ sources/model/dg/data/MDGOperationModeData.cpp \ sources/model/dg/data/MDGReservoirData.cpp \ sources/model/dg/data/MDGROPumpData.cpp \ - sources/model/dg/data/MDGValvesStatesData.cpp \ sources/model/dg/data/MDGAccelerometerData.cpp \ \ # CANBus sources/canbus/CanInterface.cpp \ @@ -690,7 +699,6 @@ sources/view/dg/data/VDGOperationModeData.cpp \ sources/view/dg/data/VDGROPumpData.cpp \ sources/view/dg/data/VDGReservoirData.cpp \ - sources/view/dg/data/VDGValvesStatesData.cpp \ sources/view/dg/data/VDGAccelerometerData.cpp \ \ # Storage sources/storage/StorageGlobals.cpp \ Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -105,7 +105,7 @@ {Gui::GuiActionType::ID_DDConductivityData , 5 * 4 }, // 5 parameters each 4bytes {Gui::GuiActionType::ID_DDConcentratePumpData , 25 * 4 }, // 25 parameters each 4bytes {Gui::GuiActionType::ID_DDTemperaturesData , 15 * 4 }, // 15 parameters each 4bytes - {Gui::GuiActionType::ID_DDDialysatePumpData , 25 * 4 }, // 25 parameters each 4bytes + {Gui::GuiActionType::ID_DDDialysatePumpData , 20 * 4 }, // 20 parameters each 4bytes {Gui::GuiActionType::ID_DDHeatersData , 8 * 4 }, // 8 parameters each 4bytes // NOTE: may contain optional 9 parameters each 4bytes {Gui::GuiActionType::ID_DDLevelData , 3 * 4 }, // 3 parameters each 4bytes {Gui::GuiActionType::ID_DDGenDialysateData , 9 * 4 }, // 9 parameters each 4bytes Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -591,10 +591,12 @@ case Gui::GuiActionType::ID_DGDrainPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGDrainPumpData ); break; case Gui::GuiActionType::ID_DGOperationModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGOperationModeData ); break; case Gui::GuiActionType::ID_DGReservoirData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGReservoirData ); break; - case Gui::GuiActionType::ID_DDValvesStatesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDValvesStatesData ); break; + case Gui::GuiActionType::ID_DDValvesStatesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDValvesStatesData ); break; case Gui::GuiActionType::ID_DDHeatersData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDHeatersData ); break; case Gui::GuiActionType::ID_DGLoadCellReadingsData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGLoadCellReadingsData ); break; + case Gui::GuiActionType::ID_DDConcentratePumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDConcentratePumpData ); break; case Gui::GuiActionType::ID_DDTemperaturesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDTemperaturesData ); break; + case Gui::GuiActionType::ID_DDDialysatePumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDDialysatePumpData ); break; case Gui::GuiActionType::ID_DDDebugText : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDDebugText ); break; case Gui::GuiActionType::ID_DGGeneralEvent : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGGeneralEvent ); break; case Gui::GuiActionType::ID_DGAccelerometerData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGAccelerometerData ); break; Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -105,8 +105,10 @@ #include "VDDPressuresData.h" #include "VDGROPumpData.h" #include "VDGReservoirData.h" +#include "VDDConcentratePumpData.h" #include "VDDTemperaturesData.h" -#include "VDGValvesStatesData.h" +#include "VDDDialysatePumpData.h" +#include "VDDValvesStatesData.h" #include "VDGAccelerometerData.h" #include "VDDConductivityData.h" #include "VDDGenDialysateData.h" Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -194,7 +194,7 @@ // DG Data Messages ID_DGROPumpData = 0x1F0F, // 31 //// ----- @CRAPIZED: had to change to avoid duplication ID_DGDrainPumpData = 0x2400, // 36 - ID_DGOperationModeData = 0x2700, // 39 + ID_DGOperationModeData = 0x270F, // ?? //// ----- @CRAPIZED: had to change to avoid duplication ID_DGReservoirData = 0x280F, // ?? //// ----- @CRAPIZED: had to change to avoid duplication ID_DGLoadCellReadingsData = 0x0C00, // 12 ID_DGAccelerometerData = 0x3400, // 52 @@ -207,7 +207,7 @@ ID_DDHeatersData = 0x2800, // 40 //// ----- @LEAHIZED ID_DDLevelData = 0x2900, // 41 //// ----- @LEAHIZED ID_DDGenDialysateData = 0x2F00, // 47 //// ----- @LEAHIZED - ID_DDBloodLeakData = 0x5500, // 85 //// ----- TODO: Payload subject to change given FW implementation + ID_DDBloodLeakData = 0x6000, // 91 //// ----- TODO: Payload subject to change given FW implementation // HD Data Messages ID_HDAccelerometerData = 0x3300, // 51 Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml (.../DiagnosticsDD.qml) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml (.../DiagnosticsDD.qml) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -30,10 +30,208 @@ title: "Dialysate Delivery" + DebugDataColumn { id: _DDConcentratePumpColumn + textObjectName :"_DDConcentratePumpData" + title : qsTr(" Conc Pump ") + x: col(0) + y: row(0) + model: [ + vDDConcentratePump.D11PumpCurrentSetSpeed .toFixed(2) , + vDDConcentratePump.D11PumpMeasuredSpeed .toFixed(2) , + vDDConcentratePump.D10PumpCurrentSetSpeed .toFixed(2) , + vDDConcentratePump.D10PumpMeasuredSpeed .toFixed(2) , + vDDConcentratePump.D11PumpTargetRevCount , + vDDConcentratePump.D11PumpMeasuredRevCount , + vDDConcentratePump.D10PumpTargetRevCount , + vDDConcentratePump.D10PumpMeasuredRevCount , + vDDConcentratePump.D11PumpState , + vDDConcentratePump.D10PumpState , + vDDConcentratePump.D11PumpPulseUS .toFixed(2) , + vDDConcentratePump.D10PumpPulseUS .toFixed(2) , + vDDConcentratePump.D11PumpTargetSpeed .toFixed(2) , + vDDConcentratePump.D10PumpTargetSpeed .toFixed(2) , + vDDConcentratePump.D11PumpParked , + vDDConcentratePump.D10PumpParked , + vDDConcentratePump.D11PumpParkFault , + vDDConcentratePump.D10PumpParkFault , + vDDConcentratePump.D76PumpTargetSpeed .toFixed(2) , + vDDConcentratePump.D76PumpCurrentSetSpeed .toFixed(2) , + vDDConcentratePump.D76PumpMeasuredSpeed .toFixed(2) , + vDDConcentratePump.D76PumpTargetRevCount , + vDDConcentratePump.D76PumpMeasuredRevCount , + vDDConcentratePump.D76PumpState , + vDDConcentratePump.D76PumpPulseUS .toFixed(2) , + ] + label: [ + "sSpd (D11) ", + "mSpd (D11) ", + "sSpd (D10) ", + "mSpd (D10) ", + "rCnt (D11) ", + "mCnt (D11) ", + "rCnt (D10) ", + "mCnt (D10) ", + "State (D11) ", + "State (D10) ", + "Plse (D11) ", + "Plse (D10) ", + "tSpd (D11) ", + "tSpd (D10) ", + "park (D11) ", + "park (D10) ", + "pfault (D11) ", + "pfault (D10) ", + "tSpd (D76) ", + "sSpd (D76) ", + "mSpd (D76) ", + "rCnt (D76) ", + "mCnt (D76) ", + "State (D76) ", + "Plse (D76) ", + ] + } + + DebugDataColumn { id: _DDDialysatePumpColumn + textObjectName :"_DDDialysatePumpData" + title : qsTr(" Dial Pump ") + x: col(1.5) + y: row(0) + model: [ + vDDDialysatePump.D12PumpTargetRPM .toFixed(2) , + vDDDialysatePump.D48PumpTargetRPM .toFixed(2) , + vDDDialysatePump.D12PumpMeasuredSpeed .toFixed(2) , + vDDDialysatePump.D48PumpMeasuredSpeed .toFixed(2) , + vDDDialysatePump.D12PumpCurrentSpeed .toFixed(2) , + vDDDialysatePump.D48PumpCurrentSpeed .toFixed(2) , + vDDDialysatePump.D12PumpState , + vDDDialysatePump.D48PumpState , + vDDDialysatePump.D12PumpTargetPressure .toFixed(2) , + vDDDialysatePump.D48PumpTargetPressure .toFixed(2) , + vDDDialysatePump.D12PumpMeasuredPressure .toFixed(2) , + vDDDialysatePump.D48PumpMeasuredPressure .toFixed(2) , + vDDDialysatePump.D12PumpMeasuredCurrent .toFixed(2) , + vDDDialysatePump.D48PumpMeasuredCurrent .toFixed(2) , + vDDDialysatePump.D12PumpControl , + vDDDialysatePump.D48PumpControl , + vDDDialysatePump.D12PumpDirErrCnt , + vDDDialysatePump.D48PumpDirErrCnt , + vDDDialysatePump.D12PumpMeasuredDir , + vDDDialysatePump.D48PumpMeasuredDir , + ] + label: [ + "tRPM (D12) ", + "tRPM (D48) ", + "mSpd (D12) ", + "mSpd (D48) ", + "cSpd (D12) ", + "cSpd (D48) ", + "State (D12) ", + "State (D48) ", + "tPres (D12) ", + "tPres (D48) ", + "mPres (D12) ", + "mPres (D48) ", + "mCurr (D12) ", + "mCurr (D48) ", + "Ctrl (D12) ", + "Ctrl (D48) ", + "eCnt (D12) ", + "eCnt (D48) ", + "mDir (D12) ", + "mDir (D48) ", + ] + } + + DebugDataColumn { id: _DDHeatersColumn + textObjectName :"_DDHeatersData" + title : qsTr(" Heaters ") + x: col(3) + y: row(0) + model: [ + vDDHeaters.mainPrimayHeaterDC .toFixed(2) , + vDDHeaters.trimmerHeaterDC .toFixed(2) , + vDDHeaters.primaryTargetTemp .toFixed(2) , + vDDHeaters.trimmerTargetTemp .toFixed(2) , + vDDHeaters.primaryHeaterState , + vDDHeaters.trimmerHeaterState , + vDDHeaters.primaryHeaterIntervalCount , + 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) ", + "tHeat (D45) ", + "pTemp (D5) ", + "tTemp (D45) ", + "pState (D5) ", + "tstate (D45) ", + "pIC (D5) ", + "tIC (D45) ", + "dbg1 ", + "dbg2 ", + "dbg3 ", + "dbg4 ", + "dbg5 ", + "dbg6 ", + "dbg7 ", + "dbg8 ", + "dbg9 ", + ] + } + + DebugDataColumn { id: _DDTemperatureColumn + textObjectName :"_DDTemperatureData" + title : qsTr(" Temperature ") + x: col(4.5) + y: row(0) + 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 ") - x: col(0) + x: col(6) y: row(0) model: [ vDDPressures.waterInletPSI .toFixed(2), @@ -69,26 +267,41 @@ ] } - DebugDataColumn { id: _DDLevelColumn - textObjectName :"_DDLevelData" - title : qsTr(" Levels ") - x: col(1.5) + DebugDataColumn { id: _DDGenDialColumn + textObjectName :"_DDGenDialData" + title : qsTr(" GenDial ") + x: col(7.5) y: row(0) + model: [ - vDDLevel.floaterLevel , - vDDLevel.bicarbLevel , - vDDLevel.spentDialysateLevel , + vDDGenDialysate.genDialysateExec , + vDDGenDialysate.ddInProgress , + vDDGenDialysate.fltLevel1 , + vDDGenDialysate.bicarbLevel , + vDDGenDialysate.spentLevel , + vDDGenDialysate.hydNegativePressure .toFixed(2), + vDDGenDialysate.hydPositivePressure .toFixed(2), + vDDGenDialysate.spentPressure .toFixed(2), + vDDGenDialysate.isDialGood , ] label: [ - "float ", - "bicarb ", - "sptDial ", + "Exec ", + "inProg ", + "fltLvL ", + "bicarbLvL ", + "spentLvL ", + "sptDial ", + "hydNeg ", + "hydPos ", + "spend ", + "isGood ", ] } + DebugDataColumn { id: _DDCondColumn textObjectName :"_DDCondlData" title : qsTr(" Cond ") - x: col(3) + x: col(9) y: row(0) model: [ vDDConductivity.bicarbCondutivity1 , @@ -105,127 +318,28 @@ "bicarb2 ", ] } - DebugDataColumn { id: _DDGenDialColumn - textObjectName :"_DDGenDialData" - title : qsTr(" GenDial ") - x: col(4.5) - y: row(0) + DebugDataColumn { id: _DDLevelColumn + textObjectName :"_DDLevelData" + title : qsTr(" Levels ") + x: col(9) + y: row(2) model: [ - vDDGenDialysate.genDialysateExec , - vDDGenDialysate.ddInProgress , - vDDGenDialysate.fltLevel1 , - vDDGenDialysate.bicarbLevel , - vDDGenDialysate.spentLevel , - vDDGenDialysate.hydNegativePressure .toFixed(2), - vDDGenDialysate.hydPositivePressure .toFixed(2), - vDDGenDialysate.spentPressure .toFixed(2), - vDDGenDialysate.isDialGood , + vDDLevel.floaterLevel , + vDDLevel.bicarbLevel , + vDDLevel.spentDialysateLevel , ] label: [ - "Exec ", - "inProg ", - "fltLvL ", - "bicarbLvL ", - "spentLvL ", - "sptDial ", - "hydNeg ", - "hydPos ", - "spend ", - "isGood ", + "float ", + "bicarb ", + "sptDial ", ] } - DebugDataColumn { id: _DDTemperatureColumn - textObjectName :"_DDTemperatureData" - title : qsTr(" Temperature ") - x: col(6) - y: row(0) - 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: _DDHeatersColumn - textObjectName :"_DDHeatersData" - title : qsTr(" Heaters ") - x: col(7.5) - y: row(0) - model: [ - vDDHeaters.mainPrimayHeaterDC .toFixed(2) , - vDDHeaters.trimmerHeaterDC .toFixed(2) , - vDDHeaters.primaryTargetTemp .toFixed(2) , - vDDHeaters.trimmerTargetTemp .toFixed(2) , - vDDHeaters.primaryHeaterState , - vDDHeaters.trimmerHeaterState , - vDDHeaters.primaryHeaterIntervalCount , - 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) ", - "tHeat (D45) ", - "pTemp (D5) ", - "tTemp (D45) ", - "pState (D5) ", - "tstate (D45) ", - "pIC (D5) ", - "tIC (D45) ", - "dbg1 ", - "dbg2 ", - "dbg3 ", - "dbg4 ", - "dbg5 ", - "dbg6 ", - "dbg7 ", - "dbg8 ", - "dbg9 ", - ] - } - // TODO: The TouchRect should be unnecessary since the first communication message with UI/TD is the version. TouchRect { x : col(9.0) - y : row(6.4) + y : row(8.0) width : 425 height : 80 onClicked : vAdjustmentVersions.doAdjustment() Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml (.../DiagnosticsTD.qml) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml (.../DiagnosticsTD.qml) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -234,7 +234,7 @@ // TODO: The TouchRect should be unnecessary since the first communication message with UI/TD is the version. TouchRect { x : col(9.0) - y : row(6.4) + y : row(8.0) width : 425 height : 80 onClicked : vAdjustmentVersions.doAdjustment() Index: sources/gui/qml/main.qml =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/gui/qml/main.qml (.../main.qml) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/gui/qml/main.qml (.../main.qml) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -96,8 +96,10 @@ import VDDPressures 0.1 import VDGROPump 0.1 import VDGReservoir 0.1 +import VDDConcentratePump 0.1 import VDDTemperatures 0.1 -import VDGValvesStates 0.1 +import VDDDialysatePump 0.1 +import VDDValvesStates 0.1 import VTreatmentCreate 0.1 import VDGAccelerometer 0.1 import VDDConductivity 0.1 @@ -217,8 +219,10 @@ VDDPressures { id: vDDPressures } VDGROPump { id: vDGROPump } VDGReservoir { id: vDGReservoir } + VDDConcentratePump { id: vDDConcentratePump } VDDTemperatures { id: vDDTemperatures } - VDGValvesStates { id: vDGValvesStates } + VDDDialysatePump { id: vDDDialysatePump } + VDDValvesStates { id: vDDValvesStates } VDGAccelerometer { id: vDGAccelerometer } VDDConductivity { id: vDDConductivity } VDDGenDialysate { id: vDDGenDialysate } Index: sources/model/MModel.h =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/model/MModel.h (.../MModel.h) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/model/MModel.h (.../MModel.h) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -104,8 +104,10 @@ #include "MDDPressuresData.h" #include "MDGReservoirData.h" #include "MDGROPumpData.h" +#include "MDDConcentratePumpData.h" #include "MDDTemperaturesData.h" -#include "MDGValvesStatesData.h" +#include "MDDDialysatePumpData.h" +#include "MDDValvesStatesData.h" #include "MDGAccelerometerData.h" #include "MDDConductivityData.h" #include "MDDGenDialysateData.h" @@ -366,10 +368,12 @@ REGISTER_METATYPE( DGDrainPumpData ) \ REGISTER_METATYPE( DGOperationModeData ) \ REGISTER_METATYPE( DGReservoirData ) \ - REGISTER_METATYPE( DGValvesStatesData ) \ + REGISTER_METATYPE( DDValvesStatesData ) \ REGISTER_METATYPE( DDHeatersData ) \ REGISTER_METATYPE( DGLoadCellReadingsData ) \ + REGISTER_METATYPE( DDConcentratePumpData ) \ REGISTER_METATYPE( DDTemperaturesData ) \ + REGISTER_METATYPE( DDDialysatePumpData ) \ REGISTER_METATYPE( DGAccelerometerData ) \ REGISTER_METATYPE( DDConductivityData ) \ REGISTER_METATYPE( DDGenDialysateData ) \ @@ -555,10 +559,12 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGDrainPumpData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGOperationModeData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGReservoirData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGValvesStatesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDValvesStatesData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDHeatersData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGLoadCellReadingsData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDConcentratePumpData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDTemperaturesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDDialysatePumpData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGAccelerometerData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDConductivityData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDGenDialysateData ) \ @@ -758,10 +764,12 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( DGDrainPumpData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGOperationModeData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGReservoirData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( DGValvesStatesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDValvesStatesData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DDHeatersData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGLoadCellReadingsData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDConcentratePumpData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DDTemperaturesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDDialysatePumpData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DGAccelerometerData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DDConductivityData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( DDGenDialysateData ) \ @@ -1066,10 +1074,12 @@ ACTION_RECEIVE_SIGNAL( DGDrainPumpData ) \ ACTION_RECEIVE_SIGNAL( DGOperationModeData ) \ ACTION_RECEIVE_SIGNAL( DGReservoirData ) \ - ACTION_RECEIVE_SIGNAL( DGValvesStatesData ) \ + ACTION_RECEIVE_SIGNAL( DDValvesStatesData ) \ ACTION_RECEIVE_SIGNAL( DDHeatersData ) \ ACTION_RECEIVE_SIGNAL( DGLoadCellReadingsData ) \ + ACTION_RECEIVE_SIGNAL( DDConcentratePumpData ) \ ACTION_RECEIVE_SIGNAL( DDTemperaturesData ) \ + ACTION_RECEIVE_SIGNAL( DDDialysatePumpData ) \ ACTION_RECEIVE_SIGNAL( DGAccelerometerData ) \ ACTION_RECEIVE_SIGNAL( DDConductivityData ) \ ACTION_RECEIVE_SIGNAL( DDGenDialysateData ) \ Index: sources/model/dd/data/MDDConcentratePumpData.cpp =================================================================== diff -u --- sources/model/dd/data/MDDConcentratePumpData.cpp (revision 0) +++ sources/model/dd/data/MDDConcentratePumpData.cpp (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,119 @@ +/*! + * + * Copyright (c) 2020-2024 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 MDDConcentratePumpData.cpp + * \author (last) Dara Navaei + * \date (last) 05-Feb-2024 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#include "MDDConcentratePumpData.h" + +using namespace Model; + +QVariantList MDDConcentratePump::parameters() const +{ + return { + _data.mD11PumpCurrentSetSpeed .value, + _data.mD11PumpMeasuredSpeed .value, + _data.mD10PumpCurrentSetSpeed .value, + _data.mD10PumpMeasuredSpeed .value, + _data.mD11PumpTargetRevCount .value, + _data.mD11PumpMeasuredRevCount .value, + _data.mD10PumpTargetRevCount .value, + _data.mD10PumpMeasuredRevCount .value, + _data.mD11PumpState .value, + _data.mD10PumpState .value, + _data.mD11PumpPulseUS .value, + _data.mD10PumpPulseUS .value, + _data.mD11PumpTargetSpeed .value, + _data.mD10PumpTargetSpeed .value, + _data.mD11PumpParked .value, + _data.mD10PumpParked .value, + _data.mD11PumpParkFault .value, + _data.mD10PumpParkFault .value, + _data.mD76PumpTargetSpeed .value, + _data.mD76PumpCurrentSetSpeed .value, + _data.mD76PumpMeasuredSpeed .value, + _data.mD76PumpTargetRevCount .value, + _data.mD76PumpMeasuredRevCount .value, + _data.mD76PumpState .value, + _data.mD76PumpPulseUS .value, + }; +} + +bool MDDConcentratePump::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mD11PumpCurrentSetSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD11PumpMeasuredSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD10PumpCurrentSetSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD10PumpMeasuredSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD11PumpTargetRevCount )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD11PumpMeasuredRevCount )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD10PumpTargetRevCount )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD10PumpMeasuredRevCount )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD11PumpState )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD10PumpState )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD11PumpPulseUS )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD10PumpPulseUS )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD11PumpTargetSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD10PumpTargetSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD11PumpParked )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD10PumpParked )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD11PumpParkFault )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD10PumpParkFault )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD76PumpTargetSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD76PumpCurrentSetSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD76PumpMeasuredSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD76PumpTargetRevCount )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD76PumpMeasuredRevCount )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD76PumpState )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD76PumpPulseUS )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MDDConcentratePump::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MDDConcentratePump::Data MDDConcentratePump::data() const { + Data data; + data.mD11PumpCurrentSetSpeed = _data.mD11PumpCurrentSetSpeed .value; + data.mD11PumpMeasuredSpeed = _data.mD11PumpMeasuredSpeed .value; + data.mD10PumpCurrentSetSpeed = _data.mD10PumpCurrentSetSpeed .value; + data.mD10PumpMeasuredSpeed = _data.mD10PumpMeasuredSpeed .value; + data.mD11PumpTargetRevCount = _data.mD11PumpTargetRevCount .value; + data.mD11PumpMeasuredRevCount = _data.mD11PumpMeasuredRevCount .value; + data.mD10PumpTargetRevCount = _data.mD10PumpTargetRevCount .value; + data.mD10PumpMeasuredRevCount = _data.mD10PumpMeasuredRevCount .value; + data.mD11PumpState = _data.mD11PumpState .value; + data.mD10PumpState = _data.mD10PumpState .value; + data.mD11PumpPulseUS = _data.mD11PumpPulseUS .value; + data.mD10PumpPulseUS = _data.mD10PumpPulseUS .value; + data.mD11PumpTargetSpeed = _data.mD11PumpTargetSpeed .value; + data.mD10PumpTargetSpeed = _data.mD10PumpTargetSpeed .value; + data.mD11PumpParked = _data.mD11PumpParked .value; + data.mD10PumpParked = _data.mD10PumpParked .value; + data.mD11PumpParkFault = _data.mD11PumpParkFault .value; + data.mD10PumpParkFault = _data.mD10PumpParkFault .value; + data.mD76PumpTargetSpeed = _data.mD76PumpTargetSpeed .value; + data.mD76PumpCurrentSetSpeed = _data.mD76PumpCurrentSetSpeed .value; + data.mD76PumpMeasuredSpeed = _data.mD76PumpMeasuredSpeed .value; + data.mD76PumpTargetRevCount = _data.mD76PumpTargetRevCount .value; + data.mD76PumpMeasuredRevCount = _data.mD76PumpMeasuredRevCount .value; + data.mD76PumpState = _data.mD76PumpState .value; + data.mD76PumpPulseUS = _data.mD76PumpPulseUS .value; + return data; +} Index: sources/model/dd/data/MDDConcentratePumpData.h =================================================================== diff -u --- sources/model/dd/data/MDDConcentratePumpData.h (revision 0) +++ sources/model/dd/data/MDDConcentratePumpData.h (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,152 @@ +/*! + * + * Copyright (c) 2020-2024 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 MDDConcentratePumpData.h + * \author (last) Dara Navaei + * \date (last) 05-Feb-2024 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDConcentratePump class + * \details The DD ConcentratePump data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2500| 0x101 | 8 | 2 Hz | N | DD | All | DD ConcentratePump Data | + * + * | Payload || + * | || + * | #01:(F32) | \ref Data::mD11PumpCurrentSetSpeed | + * | #02:(F32) | \ref Data::mD11PumpMeasuredSpeed | + * | #03:(F32) | \ref Data::mD10PumpCurrentSetSpeed | + * | #04:(F32) | \ref Data::mD10PumpMeasuredSpeed | + * | #05:(U32) | \ref Data::mD11PumpTargetRevCount | + * | #06:(U32) | \ref Data::mD11PumpMeasuredRevCount | + * | #07:(U32) | \ref Data::mD10PumpTargetRevCount | + * | #08:(U32) | \ref Data::mD10PumpMeasuredRevCount | + * | #09:(U32) | \ref Data::mD11PumpState | + * | #10:(U32) | \ref Data::mD10PumpState | + * | #11:(F32) | \ref Data::mD11PumpPulseUS | + * | #12:(F32) | \ref Data::mD10PumpPulseUS | + * | #13:(F32) | \ref Data::mD11PumpTargetSpeed | + * | #14:(F32) | \ref Data::mD10PumpTargetSpeed | + * | #15:(U32) | \ref Data::mD11PumpParked | + * | #16:(U32) | \ref Data::mD10PumpParked | + * | #17:(U32) | \ref Data::mD11PumpParkFault | + * | #18:(U32) | \ref Data::mD10PumpParkFault | + * | #19:(F32) | \ref Data::mD76PumpTargetSpeed | + * | #20:(F32) | \ref Data::mD76PumpCurrentSetSpeed | + * | #21:(F32) | \ref Data::mD76PumpMeasuredSpeed | + * | #22:(U32) | \ref Data::mD76PumpTargetRevCount | + * | #23:(U32) | \ref Data::mD76PumpMeasuredRevCount | + * | #24:(U32) | \ref Data::mD76PumpState | + * | #25:(F32) | \ref Data::mD76PumpPulseUS | + * + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | DD | + * | infoText | ConcentratePump | + * + */ +class MDDConcentratePump : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mD11PumpCurrentSetSpeed ; ///< Concentrate pump D11_Pump current set speed + Types::F32 mD11PumpMeasuredSpeed ; ///< Concentrate pump D11_Pump measured speed + Types::F32 mD10PumpCurrentSetSpeed ; ///< Concentrate pump D10_Pump current set speed + Types::F32 mD10PumpMeasuredSpeed ; ///< Concentrate pump D10_Pump measured speed + Types::U32 mD11PumpTargetRevCount ; ///< Concentrate pump D11_Pump target revolution count + Types::U32 mD11PumpMeasuredRevCount ; ///< Concentrate pump D11_Pump measured revolution count + Types::U32 mD10PumpTargetRevCount ; ///< Concentrate pump D10_Pump target revolution count + Types::U32 mD10PumpMeasuredRevCount ; ///< Concentrate pump D10_Pump measured revolution count + Types::U32 mD11PumpState ; ///< Concentrate pump D11_Pump current state + Types::U32 mD10PumpState ; ///< Concentrate pump D10_Pump current state + Types::F32 mD11PumpPulseUS ; ///< Concentrate pump D11_Pump pulse in microseconds + Types::F32 mD10PumpPulseUS ; ///< Concentrate pump D10_Pump pulse in microseconds + Types::F32 mD11PumpTargetSpeed ; ///< Concentrate pump D11_Pump target speed + Types::F32 mD10PumpTargetSpeed ; ///< Concentrate pump D10_Pump target speed + Types::U32 mD11PumpParked ; ///< Concentrate pump D11_Pump parked status + Types::U32 mD10PumpParked ; ///< Concentrate pump D10_Pump parked status + Types::U32 mD11PumpParkFault ; ///< Concentrate pump D11_Pump park fault status + Types::U32 mD10PumpParkFault ; ///< Concentrate pump D10_Pump park fault status + Types::F32 mD76PumpTargetSpeed ; ///< Concentrate pump D76_Pump target speed + Types::F32 mD76PumpCurrentSetSpeed ; ///< Concentrate pump D76_Pump current set speed + Types::F32 mD76PumpMeasuredSpeed ; ///< Concentrate pump D76_Pump measured speed + Types::U32 mD76PumpTargetRevCount ; ///< Concentrate pump D76_Pump target revolution count + Types::U32 mD76PumpMeasuredRevCount ; ///< Concentrate pump D76_Pump measured revolution count + Types::U32 mD76PumpState ; ///< Concentrate pump D76_Pump current state + Types::F32 mD76PumpPulseUS ; ///< Concentrate pump D76_Pump pulse in microseconds + } _data; + +public: + + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ConcentratePump"); } + + struct Data { + float mD11PumpCurrentSetSpeed = 0; ///< Concentrate pump D11_Pump current set speed + float mD11PumpMeasuredSpeed = 0; ///< Concentrate pump D11_Pump measured speed + float mD10PumpCurrentSetSpeed = 0; ///< Concentrate pump D10_Pump current set speed + float mD10PumpMeasuredSpeed = 0; ///< Concentrate pump D10_Pump measured speed + quint32 mD11PumpTargetRevCount = 0; ///< Concentrate pump D11_Pump target revolution count + quint32 mD11PumpMeasuredRevCount = 0; ///< Concentrate pump D11_Pump measured revolution count + quint32 mD10PumpTargetRevCount = 0; ///< Concentrate pump D10_Pump target revolution count + quint32 mD10PumpMeasuredRevCount = 0; ///< Concentrate pump D10_Pump measured revolution count + quint32 mD11PumpState = 0; ///< Concentrate pump D11_Pump current state + quint32 mD10PumpState = 0; ///< Concentrate pump D10_Pump current state + float mD11PumpPulseUS = 0; ///< Concentrate pump D11_Pump pulse in microseconds + float mD10PumpPulseUS = 0; ///< Concentrate pump D10_Pump pulse in microseconds + float mD11PumpTargetSpeed = 0; ///< Concentrate pump D11_Pump target speed + float mD10PumpTargetSpeed = 0; ///< Concentrate pump D10_Pump target speed + quint32 mD11PumpParked = 0; ///< Concentrate pump D11_Pump parked status + quint32 mD10PumpParked = 0; ///< Concentrate pump D10_Pump parked status + quint32 mD11PumpParkFault = 0; ///< Concentrate pump D11_Pump park fault status + quint32 mD10PumpParkFault = 0; ///< Concentrate pump D10_Pump park fault status + float mD76PumpTargetSpeed = 0; ///< Concentrate pump D76_Pump target speed + float mD76PumpCurrentSetSpeed = 0; ///< Concentrate pump D76_Pump current set speed + float mD76PumpMeasuredSpeed = 0; ///< Concentrate pump D76_Pump measured speed + quint32 mD76PumpTargetRevCount = 0; ///< Concentrate pump D76_Pump target revolution count + quint32 mD76PumpMeasuredRevCount = 0; ///< Concentrate pump D76_Pump measured revolution count + quint32 mD76PumpState = 0; ///< Concentrate pump D76_Pump current state + float mD76PumpPulseUS = 0; ///< Concentrate pump D76_Pump pulse in microseconds + }; + + MDDConcentratePump() { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MDDConcentratePump::Data DDConcentratePumpData; Index: sources/model/dd/data/MDDDialysatePumpData.cpp =================================================================== diff -u --- sources/model/dd/data/MDDDialysatePumpData.cpp (revision 0) +++ sources/model/dd/data/MDDDialysatePumpData.cpp (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,104 @@ +/*! + * + * Copyright (c) 2020-2024 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 MDDDialysatePumpData.cpp + * \author (last) Dara Navaei + * \date (last) 05-Feb-2024 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#include "MDDDialysatePumpData.h" + +using namespace Model; + +QVariantList MDDDialysatePump::parameters() const +{ + return { + _data.mD12PumpTargetRPM .value, + _data.mD48PumpTargetRPM .value, + _data.mD12PumpMeasuredSpeed .value, + _data.mD48PumpMeasuredSpeed .value, + _data.mD12PumpCurrentSpeed .value, + _data.mD48PumpCurrentSpeed .value, + _data.mD12PumpState .value, + _data.mD48PumpState .value, + _data.mD12PumpTargetPressure .value, + _data.mD48PumpTargetPressure .value, + _data.mD12PumpMeasuredPressure .value, + _data.mD48PumpMeasuredPressure .value, + _data.mD12PumpMeasuredCurrent .value, + _data.mD48PumpMeasuredCurrent .value, + _data.mD12PumpControl .value, + _data.mD48PumpControl .value, + _data.mD12PumpDirErrCnt .value, + _data.mD48PumpDirErrCnt .value, + _data.mD12PumpMeasuredDir .value, + _data.mD48PumpMeasuredDir .value, + }; +} + +bool MDDDialysatePump::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mD12PumpTargetRPM )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpTargetRPM )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD12PumpMeasuredSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpMeasuredSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD12PumpCurrentSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpCurrentSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD12PumpState )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpState )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD12PumpTargetPressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpTargetPressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD12PumpMeasuredPressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpMeasuredPressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD12PumpMeasuredCurrent )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpMeasuredCurrent )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD12PumpControl )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpControl )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD12PumpDirErrCnt )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpDirErrCnt )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD12PumpMeasuredDir )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mD48PumpMeasuredDir )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MDDDialysatePump::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MDDDialysatePump::Data MDDDialysatePump::data() const { + Data data; + data.mD12PumpTargetRPM = _data.mD12PumpTargetRPM .value; + data.mD48PumpTargetRPM = _data.mD48PumpTargetRPM .value; + data.mD12PumpMeasuredSpeed = _data.mD12PumpMeasuredSpeed .value; + data.mD48PumpMeasuredSpeed = _data.mD48PumpMeasuredSpeed .value; + data.mD12PumpCurrentSpeed = _data.mD12PumpCurrentSpeed .value; + data.mD48PumpCurrentSpeed = _data.mD48PumpCurrentSpeed .value; + data.mD12PumpState = _data.mD12PumpState .value; + data.mD48PumpState = _data.mD48PumpState .value; + data.mD12PumpTargetPressure = _data.mD12PumpTargetPressure .value; + data.mD48PumpTargetPressure = _data.mD48PumpTargetPressure .value; + data.mD12PumpMeasuredPressure = _data.mD12PumpMeasuredPressure .value; + data.mD48PumpMeasuredPressure = _data.mD48PumpMeasuredPressure .value; + data.mD12PumpMeasuredCurrent = _data.mD12PumpMeasuredCurrent .value; + data.mD48PumpMeasuredCurrent = _data.mD48PumpMeasuredCurrent .value; + data.mD12PumpControl = _data.mD12PumpControl .value; + data.mD48PumpControl = _data.mD48PumpControl .value; + data.mD12PumpDirErrCnt = _data.mD12PumpDirErrCnt .value; + data.mD48PumpDirErrCnt = _data.mD48PumpDirErrCnt .value; + data.mD12PumpMeasuredDir = _data.mD12PumpMeasuredDir .value; + data.mD48PumpMeasuredDir = _data.mD48PumpMeasuredDir .value; + return data; +} Index: sources/model/dd/data/MDDDialysatePumpData.h =================================================================== diff -u --- sources/model/dd/data/MDDDialysatePumpData.h (revision 0) +++ sources/model/dd/data/MDDDialysatePumpData.h (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,138 @@ +/*! + * + * Copyright (c) 2020-2024 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 MDDDialysatePumpData.h + * \author (last) Dara Navaei + * \date (last) 05-Feb-2024 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDDialysatePump class + * \details The DD DialysatePump data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2700| 0x101 | 8 | 1 Hz | N | DD | All | DD DialysatePump Data | + * + * | Payload || + * | || + * | #01:(F32) | \ref Data::mD12PumpTargetRPM | + * | #02:(F32) | \ref Data::mD48PumpTargetRPM | + * | #03:(F32) | \ref Data::mD12PumpMeasuredSpeed | + * | #04:(F32) | \ref Data::mD48PumpMeasuredSpeed | + * | #05:(U32) | \ref Data::mD12PumpCurrentSpeed | + * | #06:(U32) | \ref Data::mD48PumpCurrentSpeed | + * | #07:(U32) | \ref Data::mD12PumpState | + * | #08:(U32) | \ref Data::mD48PumpState | + * | #09:(U32) | \ref Data::mD12PumpTargetPressure | + * | #10:(U32) | \ref Data::mD48PumpTargetPressure | + * | #11:(F32) | \ref Data::mD12PumpMeasuredPressure | + * | #12:(F32) | \ref Data::mD48PumpMeasuredPressure | + * | #13:(F32) | \ref Data::mD12PumpMeasuredCurrent | + * | #14:(F32) | \ref Data::mD48PumpMeasuredCurrent | + * | #15:(U32) | \ref Data::mD12PumpControl | + * | #16:(U32) | \ref Data::mD48PumpControl | + * | #17:(U32) | \ref Data::mD12PumpDirErrCnt | + * | #18:(U32) | \ref Data::mD48PumpDirErrCnt | + * | #19:(F32) | \ref Data::mD12PumpMeasuredDir | + * | #20:(F32) | \ref Data::mD48PumpMeasuredDir | + * + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | DD | + * | infoText | DialysatePump | + * + */ +class MDDDialysatePump : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mD12PumpTargetRPM ; ///< Fresh dialysate pump speed set point. + Types::F32 mD48PumpTargetRPM ; ///< Spent dialysate pump speed set point. + Types::F32 mD12PumpMeasuredSpeed ; ///< Fresh dialysate pump measured speed. + Types::F32 mD48PumpMeasuredSpeed ; ///< Spent dialysate pump measured speed. + Types::F32 mD12PumpCurrentSpeed ; ///< Fresh dialysate pump current speed. + Types::F32 mD48PumpCurrentSpeed ; ///< Spent dialysate pump current speed. + Types::U32 mD12PumpState ; ///< Fresh dialysate pump state machine state. + Types::U32 mD48PumpState ; ///< Spent state machine state. + Types::F32 mD12PumpTargetPressure ; ///< Fresh dialysate pump target pressure. + Types::F32 mD48PumpTargetPressure ; ///< Spent dialysate pump target pressure. + Types::F32 mD12PumpMeasuredPressure ; ///< Fresh dialysate pump measured pressure. + Types::F32 mD48PumpMeasuredPressure ; ///< Spent dialysate pump measured pressure. + Types::F32 mD12PumpMeasuredCurrent ; ///< Fresh dialysate pump measured current. + Types::F32 mD48PumpMeasuredCurrent ; ///< Spent dialysate pump measured current. + Types::U32 mD12PumpControl ; ///< Fresh dialysate pump control to check run/stop state. + Types::U32 mD48PumpControl ; ///< Spent dialysate pump control to check run/stop state. + Types::U32 mD12PumpDirErrCnt ; ///< Fresh dialysate pump direction error count. + Types::U32 mD48PumpDirErrCnt ; ///< Spent dialysate pump direction error count. + Types::U32 mD12PumpMeasuredDir ; ///< Fresh dialysate pump direction. + Types::U32 mD48PumpMeasuredDir ; ///< Spent dialysate pump direction. + + } _data; + +public: + + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("DialysatePump"); } + + struct Data { + float mD12PumpTargetRPM = 0; ///< Dialysate pump D11_Pump current set speed + float mD48PumpTargetRPM = 0; ///< Dialysate pump D11_Pump measured speed + float mD12PumpMeasuredSpeed = 0; ///< Dialysate pump D10_Pump current set speed + float mD48PumpMeasuredSpeed = 0; ///< Dialysate pump D10_Pump measured speed + float mD12PumpCurrentSpeed = 0; ///< Dialysate pump D11_Pump target revolution count + float mD48PumpCurrentSpeed = 0; ///< Dialysate pump D11_Pump measured revolution count + quint32 mD12PumpState = 0; ///< Dialysate pump D10_Pump target revolution count + quint32 mD48PumpState = 0; ///< Dialysate pump D10_Pump measured revolution count + float mD12PumpTargetPressure = 0; ///< Dialysate pump D11_Pump current state + float mD48PumpTargetPressure = 0; ///< Dialysate pump D10_Pump current state + float mD12PumpMeasuredPressure = 0; ///< Dialysate pump D11_Pump pulse in microseconds + float mD48PumpMeasuredPressure = 0; ///< Dialysate pump D10_Pump pulse in microseconds + float mD12PumpMeasuredCurrent = 0; ///< Dialysate pump D11_Pump target speed + float mD48PumpMeasuredCurrent = 0; ///< Dialysate pump D10_Pump target speed + quint32 mD12PumpControl = 0; ///< Dialysate pump D11_Pump parked status + quint32 mD48PumpControl = 0; ///< Dialysate pump D10_Pump parked status + quint32 mD12PumpDirErrCnt = 0; ///< Dialysate pump D11_Pump park fault status + quint32 mD48PumpDirErrCnt = 0; ///< Dialysate pump D10_Pump park fault status + quint32 mD12PumpMeasuredDir = 0; ///< Dialysate pump D76_Pump target speed + quint32 mD48PumpMeasuredDir = 0; ///< Dialysate pump D76_Pump current set speed + }; + + MDDDialysatePump() { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MDDDialysatePump::Data DDDialysatePumpData; Index: sources/model/dd/data/MDDTemperaturesData.h =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/model/dd/data/MDDTemperaturesData.h (.../MDDTemperaturesData.h) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/model/dd/data/MDDTemperaturesData.h (.../MDDTemperaturesData.h) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -36,46 +36,22 @@ * * | Payload || * | || - * | #01:(F32) | \ref Data::mInletPrimaryHeater | - * | #02:(F32) | \ref Data::mHeatDisinfect | - * | #03:(F32) | \ref Data::mOutletPrimaryHeater | - * | #04:(F32) | \ref Data::mConductivitySensor1 | - * | #05:(F32) | \ref Data::mConductivitySensor2 | - * | #06:(F32) | \ref Data::mOutletRedundancy | - * | #07:(F32) | \ref Data::mInletDialysate | - * | #08:(F32) | \ref Data::mPrimaryHeaterThermoCouple | - * | #09:(F32) | \ref Data::mTrimmerHeaterThermoCouple | - * | #10:(F32) | \ref Data::mPrimaryHeaterColdJunction | - * | #11:(F32) | \ref Data::mTrimmerHeaterColdJunction | - * | #12:(F32) | \ref Data::mPrimaryHeaterInternal | - * | #13:(F32) | \ref Data::mTrimmerHeaterInternal | - * | #14:(F32) | \ref Data::mFpgaBoard | - * | #15:(F32) | \ref Data::mLoadCellA1B1 | - * | #16:(F32) | \ref Data::mLoadCellA2B2 | - * | #17:(F32) | \ref Data::mInternalTHDORTD | - * | #18:(F32) | \ref Data::mInternalTDIRTD | - * | #19:(F32) | \ref Data::mInteralTHDRTD | - * | #20:(F32) | \ref Data::mInternalCondSnsrTemp | - * | #21:(F32) | \ref Data::mBaroTempSensor | - * | #22:(F32) | \ref Data::mDialysateInletMvngAvg | - * | #23:(F32) | \ref Data::mRedundantOutletMvngAvg | + * | #01:(F32) | \ref Data::mInletHeatExchanger | + * | #02:(F32) | \ref Data::mOutletHeatExchanger | + * | #03:(F32) | \ref Data::mHydraulicsPrimaryHeater | + * | #04:(F32) | \ref Data::mTrimmerHeater | + * | #05:(F32) | \ref Data::mBoardTemperature | + * | #06:(F32) | \ref Data::mBarometricTemperature | + * | #07:(F32) | \ref Data::mD16Conductivity | + * | #08:(F32) | \ref Data::mD28Conductivity | + * | #09:(F32) | \ref Data::mD30Conductivity | + * | #10:(F32) | \ref Data::mD44Conductivity | + * | #11:(F32) | \ref Data::mD75Conductivity | + * | #12:(F32) | \ref Data::mD4MovingAverage | + * | #13:(F32) | \ref Data::mD50MovingAverage | + * | #14:(F32) | \ref Data::mD28MovingAverage | + * | #15:(F32) | \ref Data::mD30MovingAverage | * - * F32 d1Temp ; ///< Inlet heat exchanger temperature sensor - F32 x6Temp ; ///< Outlet heat exchanger temperature sensor - F32 d4Temp ; ///< Hydraulics primary heater temperature sensor - F32 d50Temp ; ///< Trimmer heater temperature sensor - F32 boardTemp ; ///< Board temperature sensor - F32 baroTemp ; ///< Barometric temperature sensor - F32 d16CondTemp ; ///< D16 temperature value - F32 d28CondTemp ; ///< D28 temperature value - F32 d30CondTemp ; ///< D30 temperature value - F32 d44CondTemp ; ///< D44 temperature value - F32 d75CondTemp ; ///< D75 temperature value - F32 d4AvgTemp ; ///< D4 moving average temperature value - F32 d50AvgTemp ; ///< D50 moving average temperature value - F32 d28AvgTemp ; ///< D28 moving average temperature value - F32 d30AvgTemp ; ///< D30 moving average temperature value - * * \sa Data * *

Logging info

@@ -90,11 +66,6 @@ // friends friend class ::tst_models; - - // DD Temperatures Data 1 - F32 Inlet primary heater 5 - F32 Outlet redundancy 9 - F32 Primary heater cold junction - // 2 - F32 Outlet primary heater 6 - F32 Inlet dialysate 10 - F32 Trimmer heater cold junction - // 3 - F32 Conductivity sensor 1 7 - F32 Primary heater thermo-couple 11 - F32 Primary heater internal temperature - // 4 - F32 Conductivity sensor 2 8 - F32 Trimmer heater thermo-couple 12 - F32 Trimmer heater internal temperature QVariantList parameters() const override; struct { Index: sources/model/dd/data/MDDValvesStatesData.cpp =================================================================== diff -u --- sources/model/dd/data/MDDValvesStatesData.cpp (revision 0) +++ sources/model/dd/data/MDDValvesStatesData.cpp (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,87 @@ +/*! + * + * Copyright (c) 2020-2024 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 MDDValvesStatesData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 28-Mar-2023 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#include "MDDValvesStatesData.h" + +using namespace Model; + +QVariantList MDDValvesStates::parameters() const { + QVariantList mData; + for (int i = 0; i < eFlag_Bits_Length; i++) { + mData += _data.mStates.at(i) ? "T" : "-"; // Converting "bool QBitArray::at(int i) const" to int. + } + mData += _data.mVRf .value; + mData += _data.mVRi .value; + mData += _data.mRes .value; + mData += _data.mVRo .value; + mData += _data.mVPo .value; + mData += _data.mVBf .value; + mData += _data.mVRc .value; + mData += _data.mVDr .value; + mData += _data.mVPi .value; + mData += _data.mVSP .value; + mData += _data.mVR1 .value; + mData += _data.mVR2 .value; + mData += _data.mVPd .value; + return mData; +} + +bool MDDValvesStates::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetBits (vByteArray, index, _data.mStates, eFlag_Bits_Length )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVRi )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVRf )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mRes )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVRo )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVPo )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVBf )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVRc )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVDr )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVPi )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVSP )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVR1 )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVR2 )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVPd )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MDDValvesStates::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MDDValvesStates::Data MDDValvesStates::data() const { + Data data; + data.mStates = _data.mStates ; + data.mVRf = _data.mVRf .value; + data.mVRi = _data.mVRi .value; + data.mRes = _data.mRes .value; + data.mVRo = _data.mVRo .value; + data.mVPo = _data.mVPo .value; + data.mVBf = _data.mVBf .value; + data.mVRc = _data.mVRc .value; + data.mVDr = _data.mVDr .value; + data.mVPi = _data.mVPi .value; + data.mVSP = _data.mVSP .value; + data.mVR1 = _data.mVR1 .value; + data.mVR2 = _data.mVR2 .value; + data.mVPd = _data.mVPd .value; + return data; +} Index: sources/model/dd/data/MDDValvesStatesData.h =================================================================== diff -u --- sources/model/dd/data/MDDValvesStatesData.h (revision 0) +++ sources/model/dd/data/MDDValvesStatesData.h (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,186 @@ +/*! + * + * Copyright (c) 2020-2024 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 MDDValvesStatesData.h + * \author (last) Behrouz NematiPour + * \date (last) 28-Mar-2023 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDValvesStates class + * \details The DD valves states data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1B00| 0x101 | 8 | 2 Hz | N | DD | All | DD Valves States Data | + * + * | Payload || + * | || + * | #01:(U16) | \ref Data::mStates | + * | #02:(U08) | \ref Data::mVRf | + | #03:(U08) | \ref Data::mVRi | + | #04:(U08) | \ref Data::mRes | + | #05:(U08) | \ref Data::mVRo | + | #06:(U08) | \ref Data::mVPo | + | #07:(U08) | \ref Data::mVBf | + | #08:(U08) | \ref Data::mVRc | + | #09:(U08) | \ref Data::mVDr | + | #10:(U08) | \ref Data::mVPi | + | #11:(U08) | \ref Data::mVSP | + | #12:(U08) | \ref Data::mVR1 | + | #13:(U08) | \ref Data::mVR2 | + | #14:(U08) | \ref Data::mVPd | + + * + * \sa Data + * \sa Flag + * + FIRST_HYD_VALVE = 0, ///< Start of Hydraulics valve group + D14_VALV = FIRST_HYD_VALVE, ///< Valve Hydraulics Outlet (D14) + D52_VALV, ///< Valve Thermal Disinfect (D52) + D8_VALV, ///< Valve Hydraulics Bypass (D8) + D54_VALV, ///< Valve Rinse Port (D54) + D53_VALV, ///< Valve Drain (D53) + D34_VALV, ///< Valve Dialyzer Bypass (D34) + D64_VALV, ///< Valve Purge 1 (D64) + D31_VALV, ///< Valve Pressure Test (D31) + D65_VALV, ///< Valve DryBcarb Inlet (D65) + D35_VALV, ///< Valve Dialyzer Inlet (D35) + D40_VALV, ///< Valve Dialyzer Outlet (D40) + D47_VALV, ///< Valve Dialysate Out Purge 2 (D47) + D3_VALV, ///< Valve Hydraulics Inlet (D3) + M4_VALV, ///< Valve Water Inlet (M4) +#ifdef __PUMPTEST__ + UF1, ///< UF1 valve + UF2, ///< UF2 valve + LAST_HYD_VALVE = UF2, ///< End of Hydraulics valve of group +#else + LAST_HYD_VALVE = M4_VALV, ///< End of Hydraulics valve of group + RSRVD_SPACE1, ///< This space has been reserved + RSRVD_SPACE2, ///< This space has been reserved +#endif + FIRST_BC_VALVE, ///< Start of Balancing Chamber valve group + D23_VALV = FIRST_BC_VALVE, ///< Balancing chamber Valve 1 (D23) + D19_VALV, ///< Balancing chamber Valve 2 (D19) + D25_VALV, ///< Balancing chamber Valve 3 (D25) + D26_VALV, ///< Balancing chamber Valve 7 (D26) + D24_VALV, ///< Balancing chamber Valve 5 (D24) + D20_VALV, ///< Balancing chamber Valve 6 (D20) + D21_VALV, ///< Balancing chamber Valve 4 (D21) + D22_VALV, ///< Balancing chamber Valve 8 (D22) + LAST_BC_VALVE = D22_VALV, ///< End of Balancing Chamber valve group + FIRST_UF_VALVE, ///< Start of Ultrafiltration valve group + D69_VALV = FIRST_UF_VALVE, ///< Ultrafiltration Valve 1 Inlet (D69) + D71_VALV, ///< Ultrafiltration Valve 2 Inlet (D71) + D70_VALV, ///< Ultrafiltration Valve 1 Outlet (D70) + D72_VALV, ///< Ultrafiltration Valve 2 Outlet (D72) + LAST_UF_VALVE = D72_VALV, ///< End of Ultrafiltration valve group + NUM_OF_VALVES ///< Number of valves + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | DD | + * | infoText | ValvesStates | + * + */ + +class MDDValvesStates : public MAbstract { + + // friends + friend class ::tst_models; + +public: + enum Flag { + eFlag_ValveStates_VRF = 0, ///< Valve Reservoir Fill + eFlag_ValveStates_VRI , ///< Valve Reservoir Inlet + eFlag_ValveStates_RES , ///< Reserved // it is removed and VR1,VR2 added + eFlag_ValveStates_VRO , ///< Valve Reservoir Outlet + eFlag_ValveStates_VPO , ///< Valve Pressure Outlet + eFlag_ValveStates_VBF , ///< Valve Bypass Filter + eFlag_ValveStates_VRC , ///< Valve Recirculate + eFlag_ValveStates_VDR , ///< Valve Drain + eFlag_ValveStates_VPI , ///< Valve Pressure Inlet + eFlag_ValveStates_VSP , ///< Valve Sampling Port + eFlag_ValveStates_VR1 , ///< Valve Reservoir 1 Drain + eFlag_ValveStates_VR2 , ///< Valve Reservoir 2 Drain + eFlag_ValveStates_VPD , ///< Valve Production Drain + + eFlag_Bits_Length = 16, // the 16 bit has to be consumed since the next data starts after the 16 bit. + }; + +private: + // DD Valves States (U16) Valves States + QVariantList parameters() const override; + + struct { + Types::Flags mStates ; + Types::U08 mVRf ; + Types::U08 mVRi ; + Types::U08 mRes ; + Types::U08 mVRo ; + Types::U08 mVPo ; + Types::U08 mVBf ; + Types::U08 mVRc ; + Types::U08 mVDr ; + Types::U08 mVPi ; + Types::U08 mVSP ; + Types::U08 mVR1 ; + Types::U08 mVR2 ; + Types::U08 mVPd ; + } _data; + +public: + + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ValvesStates"); } + + struct Data { + QBitArray mStates ; + quint8 mVRf = 0; + quint8 mVRi = 0; + quint8 mRes = 0; + quint8 mVRo = 0; + quint8 mVPo = 0; + quint8 mVBf = 0; + quint8 mVRc = 0; + quint8 mVDr = 0; + quint8 mVPi = 0; + quint8 mVSP = 0; + quint8 mVR1 = 0; + quint8 mVR2 = 0; + quint8 mVPd = 0; + }; + + MDDValvesStates () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MDDValvesStates::Data DDValvesStatesData; +typedef Model::MDDValvesStates::Flag DDValvesStatesFlag; + Fisheye: Tag 3d13050e0319cf30a1686b58c8f2328f6860910a refers to a dead (removed) revision in file `sources/model/dg/data/MDGValvesStatesData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3d13050e0319cf30a1686b58c8f2328f6860910a refers to a dead (removed) revision in file `sources/model/dg/data/MDGValvesStatesData.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/VView.h =================================================================== diff -u -r0cb2630813e6f7216adaf990f4129deb87b849bf -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/view/VView.h (.../VView.h) (revision 0cb2630813e6f7216adaf990f4129deb87b849bf) +++ sources/view/VView.h (.../VView.h) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -186,8 +186,10 @@ REGISTER_TYPE( VDDPressures ) \ REGISTER_TYPE( VDGROPump ) \ REGISTER_TYPE( VDGReservoir ) \ + REGISTER_TYPE( VDDConcentratePump ) \ REGISTER_TYPE( VDDTemperatures ) \ - REGISTER_TYPE( VDGValvesStates ) \ + REGISTER_TYPE( VDDDialysatePump ) \ + REGISTER_TYPE( VDDValvesStates ) \ REGISTER_TYPE( VDGAccelerometer ) \ REGISTER_TYPE( VDDConductivity ) \ REGISTER_TYPE( VDDGenDialysate ) \ Index: sources/view/dd/data/VDDConcentratePumpData.cpp =================================================================== diff -u --- sources/view/dd/data/VDDConcentratePumpData.cpp (revision 0) +++ sources/view/dd/data/VDDConcentratePumpData.cpp (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,49 @@ +/*! + * + * Copyright (c) 2020-2024 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 VDDConcentratePumpData.cpp + * \author (last) Dara Navaei + * \date (last) 05-Feb-2024 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#include "VDDConcentratePumpData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDConcentratePump, DDConcentratePumpData) + +void VDDConcentratePump::onActionReceive(const DDConcentratePumpData &vData) +{ + D11PumpCurrentSetSpeed ( vData.mD11PumpCurrentSetSpeed ); + D11PumpMeasuredSpeed ( vData.mD11PumpMeasuredSpeed ); + D10PumpCurrentSetSpeed ( vData.mD10PumpCurrentSetSpeed ); + D10PumpMeasuredSpeed ( vData.mD10PumpMeasuredSpeed ); + D11PumpTargetRevCount ( vData.mD11PumpTargetRevCount ); + D11PumpMeasuredRevCount ( vData.mD11PumpMeasuredRevCount ); + D10PumpTargetRevCount ( vData.mD10PumpTargetRevCount ); + D10PumpMeasuredRevCount ( vData.mD10PumpMeasuredRevCount ); + D11PumpState ( vData.mD11PumpState ); + D10PumpState ( vData.mD10PumpState ); + D11PumpPulseUS ( vData.mD11PumpPulseUS ); + D10PumpPulseUS ( vData.mD10PumpPulseUS ); + D11PumpTargetSpeed ( vData.mD11PumpTargetSpeed ); + D10PumpTargetSpeed ( vData.mD10PumpTargetSpeed ); + D11PumpParked ( vData.mD11PumpParked ); + D10PumpParked ( vData.mD10PumpParked ); + D11PumpParkFault ( vData.mD11PumpParkFault ); + D10PumpParkFault ( vData.mD10PumpParkFault ); + D76PumpTargetSpeed ( vData.mD76PumpTargetSpeed ); + D76PumpCurrentSetSpeed ( vData.mD76PumpCurrentSetSpeed ); + D76PumpMeasuredSpeed ( vData.mD76PumpMeasuredSpeed ); + D76PumpTargetRevCount ( vData.mD76PumpTargetRevCount ); + D76PumpMeasuredRevCount ( vData.mD76PumpMeasuredRevCount ); + D76PumpState ( vData.mD76PumpState ); + D76PumpPulseUS ( vData.mD76PumpPulseUS ); +} Index: sources/view/dd/data/VDDConcentratePumpData.h =================================================================== diff -u --- sources/view/dd/data/VDDConcentratePumpData.h (revision 0) +++ sources/view/dd/data/VDDConcentratePumpData.h (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,66 @@ +/*! + * + * Copyright (c) 2020-2024 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 VDDConcentratePumpData.h + * \author (last) Dara Navaei + * \date (last) 05-Feb-2024 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MDDConcentratePumpData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDConcentratePump class + * \details View for Model's Data representation. + * + * \sa Model::MDDConcentratePump + * + */ +class VDDConcentratePump : public QObject +{ + Q_OBJECT + + PROPERTY( float , D11PumpCurrentSetSpeed , 0) + PROPERTY( float , D11PumpMeasuredSpeed , 0) + PROPERTY( float , D10PumpCurrentSetSpeed , 0) + PROPERTY( float , D10PumpMeasuredSpeed , 0) + PROPERTY( quint32 , D11PumpTargetRevCount , 0) + PROPERTY( quint32 , D11PumpMeasuredRevCount , 0) + PROPERTY( quint32 , D10PumpTargetRevCount , 0) + PROPERTY( quint32 , D10PumpMeasuredRevCount , 0) + PROPERTY( quint32 , D11PumpState , 0) + PROPERTY( quint32 , D10PumpState , 0) + PROPERTY( float , D11PumpPulseUS , 0) + PROPERTY( float , D10PumpPulseUS , 0) + PROPERTY( float , D11PumpTargetSpeed , 0) + PROPERTY( float , D10PumpTargetSpeed , 0) + PROPERTY( quint32 , D11PumpParked , 0) + PROPERTY( quint32 , D10PumpParked , 0) + PROPERTY( quint32 , D11PumpParkFault , 0) + PROPERTY( quint32 , D10PumpParkFault , 0) + PROPERTY( float , D76PumpTargetSpeed , 0) + PROPERTY( float , D76PumpCurrentSetSpeed , 0) + PROPERTY( float , D76PumpMeasuredSpeed , 0) + PROPERTY( quint32 , D76PumpTargetRevCount , 0) + PROPERTY( quint32 , D76PumpMeasuredRevCount , 0) + PROPERTY( quint32 , D76PumpState , 0) + PROPERTY( float , D76PumpPulseUS , 0) + VIEW_DEC(VDDConcentratePump, DDConcentratePumpData) +}; +} Index: sources/view/dd/data/VDDDialysatePumpData.cpp =================================================================== diff -u --- sources/view/dd/data/VDDDialysatePumpData.cpp (revision 0) +++ sources/view/dd/data/VDDDialysatePumpData.cpp (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,44 @@ +/*! + * + * Copyright (c) 2020-2024 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 VDDDialysatePumpData.cpp + * \author (last) Dara Navaei + * \date (last) 05-Feb-2024 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#include "VDDDialysatePumpData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDDialysatePump, DDDialysatePumpData) + +void VDDDialysatePump::onActionReceive(const DDDialysatePumpData &vData) +{ + D12PumpTargetRPM ( vData.mD12PumpTargetRPM ); + D48PumpTargetRPM ( vData.mD48PumpTargetRPM ); + D12PumpMeasuredSpeed ( vData.mD12PumpMeasuredSpeed ); + D48PumpMeasuredSpeed ( vData.mD48PumpMeasuredSpeed ); + D12PumpCurrentSpeed ( vData.mD12PumpCurrentSpeed ); + D48PumpCurrentSpeed ( vData.mD48PumpCurrentSpeed ); + D12PumpState ( vData.mD12PumpState ); + D48PumpState ( vData.mD48PumpState ); + D12PumpTargetPressure ( vData.mD12PumpTargetPressure ); + D48PumpTargetPressure ( vData.mD48PumpTargetPressure ); + D12PumpMeasuredPressure ( vData.mD12PumpMeasuredPressure ); + D48PumpMeasuredPressure ( vData.mD48PumpMeasuredPressure ); + D12PumpMeasuredCurrent ( vData.mD12PumpMeasuredCurrent ); + D48PumpMeasuredCurrent ( vData.mD48PumpMeasuredCurrent ); + D12PumpControl ( vData.mD12PumpControl ); + D48PumpControl ( vData.mD48PumpControl ); + D12PumpDirErrCnt ( vData.mD12PumpDirErrCnt ); + D48PumpDirErrCnt ( vData.mD48PumpDirErrCnt ); + D12PumpMeasuredDir ( vData.mD12PumpMeasuredDir ); + D48PumpMeasuredDir ( vData.mD48PumpMeasuredDir ); +} Index: sources/view/dd/data/VDDDialysatePumpData.h =================================================================== diff -u --- sources/view/dd/data/VDDDialysatePumpData.h (revision 0) +++ sources/view/dd/data/VDDDialysatePumpData.h (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,61 @@ +/*! + * + * Copyright (c) 2020-2024 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 VDDDialysatePumpData.h + * \author (last) Dara Navaei + * \date (last) 05-Feb-2024 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MDDDialysatePumpData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDDialysatePump class + * \details View for Model's Data representation. + * + * \sa Model::MDDDialysatePump + * + */ +class VDDDialysatePump : public QObject +{ + Q_OBJECT + + PROPERTY( float , D12PumpTargetRPM , 0) + PROPERTY( float , D48PumpTargetRPM , 0) + PROPERTY( float , D12PumpMeasuredSpeed , 0) + PROPERTY( float , D48PumpMeasuredSpeed , 0) + PROPERTY( float , D12PumpCurrentSpeed , 0) + PROPERTY( float , D48PumpCurrentSpeed , 0) + PROPERTY( quint32 , D12PumpState , 0) + PROPERTY( quint32 , D48PumpState , 0) + PROPERTY( float , D12PumpTargetPressure , 0) + PROPERTY( float , D48PumpTargetPressure , 0) + PROPERTY( float , D12PumpMeasuredPressure , 0) + PROPERTY( float , D48PumpMeasuredPressure , 0) + PROPERTY( float , D12PumpMeasuredCurrent , 0) + PROPERTY( float , D48PumpMeasuredCurrent , 0) + PROPERTY( quint32 , D12PumpControl , 0) + PROPERTY( quint32 , D48PumpControl , 0) + PROPERTY( quint32 , D12PumpDirErrCnt , 0) + PROPERTY( quint32 , D48PumpDirErrCnt , 0) + PROPERTY( quint32 , D12PumpMeasuredDir , 0) + PROPERTY( quint32 , D48PumpMeasuredDir , 0) + VIEW_DEC(VDDDialysatePump, DDDialysatePumpData) +}; +} Index: sources/view/dd/data/VDDValvesStatesData.cpp =================================================================== diff -u --- sources/view/dd/data/VDDValvesStatesData.cpp (revision 0) +++ sources/view/dd/data/VDDValvesStatesData.cpp (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,54 @@ +/*! + * + * Copyright (c) 2020-2024 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 VDDValvesStatesData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 28-Mar-2023 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#include "VDDValvesStatesData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDValvesStates, DDValvesStatesData) + +void VDDValvesStates::onActionReceive(const DDValvesStatesData &vData) +{ + valveStates_VRF ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VRF )); + valveStates_VRI ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VRI )); + valveStates_RES ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_RES )); + valveStates_VRO ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VRO )); + valveStates_VPO ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VPO )); + valveStates_VBF ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VBF )); + valveStates_VRC ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VRC )); + valveStates_VDR ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VDR )); + valveStates_VPI ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VPI )); + valveStates_VSP ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VSP )); + valveStates_VR1 ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VR1 )); + valveStates_VR2 ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VR2 )); + valveStates_VPD ( vData.mStates.at( DDValvesStatesFlag::eFlag_ValveStates_VPD )); + + valveStatus_VRF ( vData.mVRf ); + valveStatus_VRI ( vData.mVRi ); + valveStatus_RES ( vData.mRes ); + valveStatus_VRO ( vData.mVRo ); + valveStatus_VPO ( vData.mVPo ); + valveStatus_VBF ( vData.mVBf ); + valveStatus_VRC ( vData.mVRc ); + valveStatus_VDR ( vData.mVDr ); + valveStatus_VPI ( vData.mVPi ); + valveStatus_VSP ( vData.mVSP ); + valveStatus_VR1 ( vData.mVR1 ); + valveStatus_VR2 ( vData.mVR2 ); + valveStatus_VPD ( vData.mVPd ); + + // Trigger should be the last + refresh(true); +} Index: sources/view/dd/data/VDDValvesStatesData.h =================================================================== diff -u --- sources/view/dd/data/VDDValvesStatesData.h (revision 0) +++ sources/view/dd/data/VDDValvesStatesData.h (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -0,0 +1,71 @@ +/*! + * + * Copyright (c) 2020-2024 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 VDDValvesStatesData.h + * \author (last) Behrouz NematiPour + * \date (last) 28-Mar-2023 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MDDValvesStatesData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDValvesStates class + * \details View for Model's Data representation. + * + * \sa Model::MDDValvesStates + * + */ +class VDDValvesStates : public QObject +{ + Q_OBJECT + + TRIGGER ( bool , refresh , false) + + PROPERTY( quint8 , valveStates_VRF , 0 ) + PROPERTY( quint8 , valveStates_VRI , 0 ) + PROPERTY( quint8 , valveStates_RES , 0 ) + PROPERTY( quint8 , valveStates_VRO , 0 ) + PROPERTY( quint8 , valveStates_VPO , 0 ) + PROPERTY( quint8 , valveStates_VBF , 0 ) + PROPERTY( quint8 , valveStates_VRC , 0 ) + PROPERTY( quint8 , valveStates_VDR , 0 ) + PROPERTY( quint8 , valveStates_VPI , 0 ) + PROPERTY( quint8 , valveStates_VSP , 0 ) + PROPERTY( quint8 , valveStates_VR1 , 0 ) + PROPERTY( quint8 , valveStates_VR2 , 0 ) + PROPERTY( quint8 , valveStates_VPD , 0 ) + + PROPERTY( quint8 , valveStatus_VRF , 0 ) + PROPERTY( quint8 , valveStatus_VRI , 0 ) + PROPERTY( quint8 , valveStatus_RES , 0 ) + PROPERTY( quint8 , valveStatus_VRO , 0 ) + PROPERTY( quint8 , valveStatus_VPO , 0 ) + PROPERTY( quint8 , valveStatus_VBF , 0 ) + PROPERTY( quint8 , valveStatus_VRC , 0 ) + PROPERTY( quint8 , valveStatus_VDR , 0 ) + PROPERTY( quint8 , valveStatus_VPI , 0 ) + PROPERTY( quint8 , valveStatus_VSP , 0 ) + PROPERTY( quint8 , valveStatus_VR1 , 0 ) + PROPERTY( quint8 , valveStatus_VR2 , 0 ) + PROPERTY( quint8 , valveStatus_VPD , 0 ) + + VIEW_DEC(VDDValvesStates, DDValvesStatesData) +}; +} Fisheye: Tag 3d13050e0319cf30a1686b58c8f2328f6860910a refers to a dead (removed) revision in file `sources/view/dg/data/VDGValvesStatesData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3d13050e0319cf30a1686b58c8f2328f6860910a refers to a dead (removed) revision in file `sources/view/dg/data/VDGValvesStatesData.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/td/data/treatment/VTDTreatmentStatesData.cpp =================================================================== diff -u -r5da5607e1e0cff6b984ce40c4f328d47b386ba28 -r3d13050e0319cf30a1686b58c8f2328f6860910a --- sources/view/td/data/treatment/VTDTreatmentStatesData.cpp (.../VTDTreatmentStatesData.cpp) (revision 5da5607e1e0cff6b984ce40c4f328d47b386ba28) +++ sources/view/td/data/treatment/VTDTreatmentStatesData.cpp (.../VTDTreatmentStatesData.cpp) (revision 3d13050e0319cf30a1686b58c8f2328f6860910a) @@ -69,12 +69,10 @@ ENUM_CHECK ( GuiSalineStates, SALINE_BOLUS_STATE_IDLE ) ENUM_CHECK ( GuiSalineStates, SALINE_BOLUS_STATE_WAIT_FOR_PUMPS_STOP ) ENUM_CHECK ( GuiSalineStates, SALINE_BOLUS_STATE_IN_PROGRESS ) - ENUM_CHECK ( GuiSalineStates, SALINE_BOLUS_STATE_MAX_DELIVERED ) ENUM_CHECK_C( GuiSalineStates, NUM_OF_SALINE_BOLUS_STATES ) } ENUM_READ ( GuiSalineStates, SALINE_BOLUS_STATE_IDLE , sbIdle ); ENUM_READ ( GuiSalineStates, SALINE_BOLUS_STATE_WAIT_FOR_PUMPS_STOP , sbWaitPump ); ENUM_READ ( GuiSalineStates, SALINE_BOLUS_STATE_IN_PROGRESS , sbRunning ); - ENUM_READ ( GuiSalineStates, SALINE_BOLUS_STATE_MAX_DELIVERED , sbMaxReached ); // Heparin States _heparin = false;