Index: drydemo.pro.user =================================================================== diff -u -r2a3dd98b9aeffdcac34d74e9eba9f0b4089ce339 -r5fe7e8bab66c3bed059ba84dd5092ea94ed736bc --- drydemo.pro.user (.../drydemo.pro.user) (revision 2a3dd98b9aeffdcac34d74e9eba9f0b4089ce339) +++ drydemo.pro.user (.../drydemo.pro.user) (revision 5fe7e8bab66c3bed059ba84dd5092ea94ed736bc) @@ -1,14 +1,14 @@ - + EnvironmentId {d3e165e0-350b-4c5e-a5f5-6e3e06ca0990} ProjectExplorer.Project.ActiveTarget - 1 + 0 ProjectExplorer.Project.EditorSettings @@ -92,20 +92,21 @@ ProjectExplorer.Project.Target.0 - GenericLinuxOsType - Qt 5.15.10 (iMX8) - Qt 5.15.10 (iMX8) - {ada4083c-13b6-4ac8-a486-71ff00b060da} + Desktop + Desktop Qt 5.15.10 GCC 64bit + Desktop Qt 5.15.10 GCC 64bit + qt.qt5.51510.gcc_64_kit 1 0 0 0 - /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Debug - /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Debug + /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Debug + /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Debug true + 0 0 /home/denali/Projects/application/imake.sh %{sourceDir} ProjectExplorer.ProcessStep @@ -122,7 +123,8 @@ true - -b --tag denali >> denali + -b --tag denali >> denali + sha256sum %{buildDir} ProjectExplorer.ProcessStep @@ -154,12 +156,12 @@ 0 - /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_iMX8-Release - /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_iMX8-Release + /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Release + /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Release true - 0 0 + "" 0 /home/denali/Projects/application/imake.sh %{sourceDir} ProjectExplorer.ProcessStep @@ -176,7 +178,8 @@ true - -b --tag denali >> denali + -b --tag denali >> denali + sha256sum %{buildDir} ProjectExplorer.ProcessStep @@ -201,7 +204,6 @@ false false - -A can1 Release Qt4ProjectManager.Qt4BuildConfiguration @@ -210,8 +212,8 @@ 0 - /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Profile - /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Profile + /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Profile + /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Profile true @@ -253,201 +255,54 @@ 3 - - true - RemoteLinux.KillAppStep - - - - - - - - - true - RemoteLinux.DirectUploadStep - - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali - - - 192.168.137.210 - 192.168.10.159 - 192.168.10.228 - 192.168.10.228 - 192.168.10.138 - 192.168.137.25 - 192.168.137.30 - 192.168.10.186 - 192.168.10.167 - 192.168.137.170 - 192.168.137.3 - 192.168.40.23 - 192.168.137.24 - 192.168.137.170 - 192.168.137.26 - 192.168.10.186 - 192.168.137.36 - 192.168.137.125 - 192.168.137.202 - 192.168.137.247 - - - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - /home/root - - - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux - /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - /opt/b2qt/3.1.18/sysroots - - - 2023-02-02T01:52:20.307 - 2023-01-24T18:19:13.179 - 2023-01-17T18:06:25.579 - 2023-01-17T18:18:03.749 - 2023-02-02T09:06:00.862 - 2023-02-02T02:13:54.596 - 2023-02-02T02:30:48.337 - 2023-01-18T17:47:08.797 - 2023-02-02T19:40:15.813 - 2023-01-27T10:15:15.423 - 2023-02-02T02:40:56.627 - 2023-01-24T17:29:54.849 - 2023-02-02T02:05:29.947 - 2023-01-27T09:45:11.898 - 2023-02-01T05:00:56.449 - 2023-01-18T20:13:36.296 - 2023-02-01T03:23:15.710 - 2023-02-02T02:07:25.922 - 2023-02-02T01:46:50.167 - 2023-02-02T02:26:33.738 - - - 2023-02-02T01:52:16.000 - 2023-01-24T18:18:58.000 - 2023-01-17T18:05:42.000 - 2023-01-17T18:17:25.000 - 2023-02-02T09:05:22.000 - 2023-02-02T02:14:08.000 - 2023-02-02T02:31:01.000 - 2023-01-18T17:47:04.000 - 2023-02-02T19:39:36.000 - 2023-01-27T10:15:08.000 - 2023-02-02T02:41:10.000 - 2023-01-24T17:30:03.000 - 2023-02-02T02:05:42.000 - 2023-01-27T09:44:58.000 - 2023-02-01T05:00:51.000 - 2023-01-18T20:13:33.000 - 2023-02-01T03:23:28.000 - 2023-02-02T02:07:21.000 - 2023-02-02T01:47:02.000 - 2023-02-02T02:26:46.000 - - - 2 + 0 Deploy Deploy ProjectExplorer.BuildSteps.Deploy 1 false - DeployToGenericLinux + ProjectExplorer.DefaultDeployConfiguration 1 true true true - 1 + 2 - drydemo (on %{Device:Name}) - RemoteLinuxRunConfiguration:/home/denali/Projects/drydemo/drydemo.pro + Qt4ProjectManager.Qt4RunConfiguration:/home/denali/Projects/drydemo/drydemo.pro /home/denali/Projects/drydemo/drydemo.pro - 1 + -L -A can0 false true + true false true - :0 + /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Release 1 ProjectExplorer.Project.Target.1 - Desktop - Desktop Qt 5.15.10 GCC 64bit - Desktop Qt 5.15.10 GCC 64bit - qt.qt5.51510.gcc_64_kit + GenericLinuxOsType + Qt 5.15.10 (iMX8) + Qt 5.15.10 (iMX8) + {ada4083c-13b6-4ac8-a486-71ff00b060da} 1 0 0 0 - /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Debug - /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Debug + /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Debug + /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Debug true - 0 0 /home/denali/Projects/application/imake.sh %{sourceDir} ProjectExplorer.ProcessStep @@ -464,8 +319,7 @@ true - -b --tag denali >> denali - + -b --tag denali >> denali sha256sum %{buildDir} ProjectExplorer.ProcessStep @@ -497,12 +351,12 @@ 0 - /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Release - /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Release + /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_iMX8-Release + /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_iMX8-Release true - "" 0 + 0 0 /home/denali/Projects/application/imake.sh %{sourceDir} ProjectExplorer.ProcessStep @@ -519,8 +373,7 @@ true - -b --tag denali >> denali - + -b --tag denali >> denali sha256sum %{buildDir} ProjectExplorer.ProcessStep @@ -545,6 +398,7 @@ false false + -A can1 Release Qt4ProjectManager.Qt4BuildConfiguration @@ -553,8 +407,8 @@ 0 - /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Profile - /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Profile + /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Profile + /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Profile true @@ -596,33 +450,179 @@ 3 - 0 + + true + RemoteLinux.KillAppStep + + + + + + + + + true + RemoteLinux.DirectUploadStep + + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + + + 192.168.10.138 + 192.168.10.228 + 192.168.10.228 + 192.168.10.159 + 192.168.137.210 + 192.168.137.170 + 192.168.10.186 + 192.168.10.167 + 192.168.137.30 + 192.168.137.25 + 192.168.10.186 + 192.168.137.170 + 192.168.137.26 + 192.168.40.23 + 192.168.137.24 + 192.168.137.3 + 192.168.137.247 + 192.168.137.202 + 192.168.137.125 + 192.168.137.36 + + + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + + + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + + + 2023-02-02T09:06:00.862 + 2023-01-17T18:18:03.749 + 2023-01-17T18:06:25.579 + 2023-01-24T18:19:13.179 + 2023-02-02T01:52:20.307 + 2023-01-27T10:15:15.423 + 2023-01-18T17:47:08.797 + 2023-02-02T19:40:15.813 + 2023-02-02T02:30:48.337 + 2023-02-02T02:13:54.596 + 2023-01-18T20:13:36.296 + 2023-01-27T09:45:11.898 + 2023-02-01T05:00:56.449 + 2023-01-24T17:29:54.849 + 2023-02-02T02:05:29.947 + 2023-02-02T02:40:56.627 + 2023-02-02T02:26:33.738 + 2023-02-02T01:46:50.167 + 2023-02-02T02:07:25.922 + 2023-02-01T03:23:15.710 + + + 2023-02-02T09:05:22.000 + 2023-01-17T18:17:25.000 + 2023-01-17T18:05:42.000 + 2023-01-24T18:18:58.000 + 2023-02-02T01:52:16.000 + 2023-01-27T10:15:08.000 + 2023-01-18T17:47:04.000 + 2023-02-02T19:39:36.000 + 2023-02-02T02:31:01.000 + 2023-02-02T02:14:08.000 + 2023-01-18T20:13:33.000 + 2023-01-27T09:44:58.000 + 2023-02-01T05:00:51.000 + 2023-01-24T17:30:03.000 + 2023-02-02T02:05:42.000 + 2023-02-02T02:41:10.000 + 2023-02-02T02:26:46.000 + 2023-02-02T01:47:02.000 + 2023-02-02T02:07:21.000 + 2023-02-01T03:23:28.000 + + + 2 Deploy Deploy ProjectExplorer.BuildSteps.Deploy 1 false - ProjectExplorer.DefaultDeployConfiguration + DeployToGenericLinux 1 true true true - 2 + 1 - Qt4ProjectManager.Qt4RunConfiguration:/home/denali/Projects/drydemo/drydemo.pro + drydemo (on %{Device:Name}) + RemoteLinuxRunConfiguration:/home/denali/Projects/drydemo/drydemo.pro /home/denali/Projects/drydemo/drydemo.pro - -L -A can0 + 1 false true - true false true - /home/denali/Projects/tmp/build/drydemo-Qt_5_15_10_GCC-Release + :0 1 Index: sources/MessageGlobals.h =================================================================== diff -u -r2a3dd98b9aeffdcac34d74e9eba9f0b4089ce339 -r5fe7e8bab66c3bed059ba84dd5092ea94ed736bc --- sources/MessageGlobals.h (.../MessageGlobals.h) (revision 2a3dd98b9aeffdcac34d74e9eba9f0b4089ce339) +++ sources/MessageGlobals.h (.../MessageGlobals.h) (revision 5fe7e8bab66c3bed059ba84dd5092ea94ed736bc) @@ -130,6 +130,8 @@ ID_HD_TX_STATES_BC = 0x0F00, ID_UI_SALINE_BOLUS_RQST = 0x1200, ID_USER_TX_TIME_CHANGES_RQST = 0x1600, + ID_USER_BLOOD_DIAL_RATE_CHANGE_RQST = 0x1700, + ID_USER_BLOOD_DIAL_RATE_CHANGE_RESP = 0x1800, ID_HD_TX_PARAMS_RANGES_DATA = 0x1A00, ID_USER_TX_TIME_CHANGES_RESP = 0x1B00, ID_HD_OP_MODE = 0x2500, Index: sources/StateController.cpp =================================================================== diff -u -r2a3dd98b9aeffdcac34d74e9eba9f0b4089ce339 -r5fe7e8bab66c3bed059ba84dd5092ea94ed736bc --- sources/StateController.cpp (.../StateController.cpp) (revision 2a3dd98b9aeffdcac34d74e9eba9f0b4089ce339) +++ sources/StateController.cpp (.../StateController.cpp) (revision 5fe7e8bab66c3bed059ba84dd5092ea94ed736bc) @@ -55,6 +55,7 @@ case ID_UI_SALINE_BOLUS_RQST: case ID_UI_PRESSURE_LIMITS_CHANGE_RQST: case ID_UI_ALARM_USER_ACTION_RQST: + case ID_USER_BLOOD_DIAL_RATE_CHANGE_RQST: _treatmentRcvdMessages[receivedMsgID] = msg[1]; break; @@ -93,6 +94,7 @@ case ID_HD_RINSEBACK_DATA_BC: case ID_HD_SALINE_BOLUS_BC: case ID_HD_PRESSURE_LIMITS_CHANGE_RESP: + case ID_USER_BLOOD_DIAL_RATE_CHANGE_RESP: // Do nothing break; } @@ -884,6 +886,43 @@ _isSendListReady = true; } +void StateController::handleBloodDialRateChangeRequest(const QVariant &payload) +{ + quint32 accept = REJECT_VALUE; + qint32 presIndex = 0; + Types::U32 bloodFlowMLPM; + Types::U32 dialFlowMLPM; + GetValue(payload.toByteArray(), presIndex, bloodFlowMLPM); + GetValue(payload.toByteArray(), presIndex, dialFlowMLPM); + + float diaVolSoFarML = _treatmentParams.dialysateFlowRateMLPM * ((_treatmentVars.treatmentElapsedTimeS / QOBJECT_TIMER_TIMEOUT_MS ) / SECONDS_PER_MINUTE); + float dialVolNowToEndML = dialFlowMLPM.value* (_treatmentVars.remainingTreatmentTimeS / SECONDS_PER_MINUTE); + float dialVolML = diaVolSoFarML + dialVolNowToEndML; + + if ((bloodFlowMLPM.value >= MIN_BLOOD_RATE_MLPM) && (bloodFlowMLPM.value <= MAX_BLOOD_RATE_MLPM) && + (dialFlowMLPM.value >= MIN_DIAL_RATE_MLPM) && (dialFlowMLPM.value <= MAX_DIAL_RATE_MLPM) && + (dialVolML <= MAX_DIALYSATE_VOLUME_ML )) { + + _treatmentParams.bloodFlowRateMLPM = bloodFlowMLPM.value; + _treatmentParams.dialysateFlowRateMLPM = dialFlowMLPM.value; + accept = ACCEPT_VALUE; + } + + qDebug() << "Blood Dial values" << diaVolSoFarML << dialVolNowToEndML << dialVolML << accept; + + QVariantList msg; + msg.append(static_cast(ID_USER_BLOOD_DIAL_RATE_CHANGE_RESP)); + msg.append(Can_Id::eChlid_HD_UI); + msg.append(accept); + msg.append(0); + msg.append(_treatmentParams.bloodFlowRateMLPM); + msg.append(_treatmentParams.dialysateFlowRateMLPM); + + _isSendListReady = false; + _sendMessages.append(msg); + _isSendListReady = true; +} + // ----------- State transition methods ---------------- // void StateController::onIdleStateChange(bool active) { @@ -1714,6 +1753,11 @@ _treatmentRcvdMessages[ID_UI_PRESSURE_LIMITS_CHANGE_RQST].clear(); } + if (!_treatmentRcvdMessages[ID_USER_BLOOD_DIAL_RATE_CHANGE_RQST].isNull()) { + handleBloodDialRateChangeRequest(_treatmentRcvdMessages[ID_USER_BLOOD_DIAL_RATE_CHANGE_RQST]); + _treatmentRcvdMessages[ID_USER_BLOOD_DIAL_RATE_CHANGE_RQST].clear(); + } + generateOcclusionPresureValues(false, _treatmentVars.broadcastIntervalCount); if (_treatmentVars.broadcastIntervalCount % NUM_OF_COUNTS_TIMER_BC_EMIT == 0) { @@ -1828,7 +1872,6 @@ } if (rbAcuumVolML >= rbTargetVolML) { - qDebug() << "RB Vols" << rbAcuumVolML << rbTargetVolML; rbSubState = RINSEBACK_STOP_STATE; txStates[0] = txSubState; txStates[4] = rbSubState; Index: sources/StateController.h =================================================================== diff -u -r2a3dd98b9aeffdcac34d74e9eba9f0b4089ce339 -r5fe7e8bab66c3bed059ba84dd5092ea94ed736bc --- sources/StateController.h (.../StateController.h) (revision 2a3dd98b9aeffdcac34d74e9eba9f0b4089ce339) +++ sources/StateController.h (.../StateController.h) (revision 5fe7e8bab66c3bed059ba84dd5092ea94ed736bc) @@ -51,6 +51,8 @@ // Treatment params #define MIN_DIAL_RATE_MLPM 100 #define MAX_DIAL_RATE_MLPM 600 + #define MIN_BLOOD_RATE_MLPM 100 + #define MAX_BLOOD_RATE_MLPM 500 #define MIN_TX_TIME_MINS (1 * MINUTES_PER_HOUR) #define MAX_TX_TIME_MINS (8 * MINUTES_PER_HOUR) #define MIN_UF_VOL_L 0.0 @@ -236,6 +238,7 @@ void handleAlarmStatus(bool trigger, User_Command_ID cmd); void generateOcclusionPresureValues(bool initArray, quint32 stableCount); void handlePressureChangeReqeust(const QVariant &payload); + void handleBloodDialRateChangeRequest(const QVariant &payload); // State handlers void onIdleStateChange(bool active);