Index: sources/StateController.cpp =================================================================== diff -u -r424c81d03f7d915d39ab962f652c0b565f465bf7 -r7936e751fe1cd3517d0d548b53fef41f41b4db4a --- sources/StateController.cpp (.../StateController.cpp) (revision 424c81d03f7d915d39ab962f652c0b565f465bf7) +++ sources/StateController.cpp (.../StateController.cpp) (revision 7936e751fe1cd3517d0d548b53fef41f41b4db4a) @@ -1,6 +1,7 @@ #include #include +#include #include "StateController.h" #include "ApplicationController.h" @@ -153,6 +154,10 @@ resp.append(u32Var.value); GetValue(payload.toByteArray(), index, u32Var); + _treatmentParams.heparinPreStopMin = u32Var.value; + resp.append(u32Var.value); + + GetValue(payload.toByteArray(), index, u32Var); _treatmentParams.salineBolusVolML = u32Var.value; resp.append(u32Var.value); @@ -209,14 +214,16 @@ _sendMessages.append(resp); _isSendListReady = true; - qDebug() << "Treatment params from TPAR" << _treatmentParams.bloodFlowRateMLPM << - _treatmentParams.dialysateFlowRateMLPM << _treatmentParams.txDurationMins << - _treatmentParams.dialysateTemperatureC; + qDebug() << "Treatment params from TPAR" << _treatmentParams.bloodFlowRateMLPM + << _treatmentParams.dialysateFlowRateMLPM << _treatmentParams.txDurationMins + << _treatmentParams.dialysateTemperatureC << _treatmentParams.rinsebackFlowRateMLPM + << _treatmentParams.venousPresLimitWindowMMHG; } else if (!_treatmentParams.hasTxParamsBeenInitialized) { _treatmentParams.bloodFlowRateMLPM = DEF_TX_PARAM_BLOOD_FLOW_RATE_MLPM; _treatmentParams.dialysateFlowRateMLPM = DEF_TX_PARAM_DIAL_FLOW_RATE_MLPM; _treatmentParams.txDurationMins = DEF_TX_PARAM_PRESCRIBED_DUR_MIN; + _treatmentParams.heparinPreStopMin = 0; _treatmentParams.salineBolusVolML = DEF_TX_PARAM_SALINE_BOLUS_VOL_ML; _treatmentParams.acidConc = 0; _treatmentParams.bicarbConc = 0; @@ -239,11 +246,19 @@ void StateController::prepareOcclusionBroadcastData() { - // TODO a random variation here + float artUpperFloatWindowMMHG = static_cast(200); + float artLowerFloatWindowMMHG = static_cast(_treatmentParams.areterialPresLimitWindowMMHG); + + float venUpperFloatWindowMMHG = static_cast(200); + float venLowerFloatWindowMMHG = static_cast(_treatmentParams.venousPresLimitWindowMMHG); + + float artRandomMMHG = _randNumGenerator.generateDouble() * (artUpperFloatWindowMMHG - artLowerFloatWindowMMHG) + artLowerFloatWindowMMHG; + float venRandomMMHG = _randNumGenerator.generateDouble() * (venUpperFloatWindowMMHG - venLowerFloatWindowMMHG) + venLowerFloatWindowMMHG; + QVariantList msg; msg.append(static_cast(ID_PRESSURE_OCCLUSION_DATA_BC)); msg.append(Can_Id::eChlid_HD_Sync); - msg.append(10.2); msg.append(12.3); msg.append(0); msg.append(0); msg.append(0); + msg.append(artRandomMMHG); msg.append(venRandomMMHG); msg.append(0); msg.append(0); msg.append(0); msg.append(0); msg.append(0); msg.append(0); msg.append(0); msg.append(0); msg.append(0); msg.append(0); _isBroadcastListReady = false; @@ -465,18 +480,6 @@ prepareTreatmentTimeChangeResponse(accept, _treatmentVars.prescribedTreatmentTimeS, _treatmentVars.prescribedMaxUFVolML); - /* - QVariantList resp; - resp.append(static_cast(ID_USER_TX_TIME_CHANGES_RESP)); - resp.append(Can_Id::eChlid_HD_UI); - resp.append(accept); - resp.append(0); - resp.append(_treatmentVars.prescribedTreatmentTimeS /SECONDS_PER_MINUTE); - resp.append(_treatmentVars.prescribedMaxUFVolML); - _isSendListReady = false; - _sendMessages.append(resp); - _isSendListReady = true; -*/ } qint32 StateController::handleMsgBBPayload(const QVariant &payload) @@ -1458,7 +1461,7 @@ txStates[4] = rbSubState; prepareStatesBroadcastData(ID_HD_TX_STATES_BC, txStates); - qDebug() << "End treatment on entry"; + qDebug() << "End treatment on entry" << rbTargetVolML; _treatmentVars.broadcastIntervalCount = 0; _hasUserConfirmedToProceed = false; @@ -1523,7 +1526,7 @@ rbCountDownS--; rinsebackBC[2] = rbCountDownS; } - + prepareOcclusionBroadcastData(); prepareStatesBroadcastData(ID_HD_TX_STATES_BC, txStates); prepareRinsebackBroadcastData(rinsebackVolsML, rinsebackBC); prepareTreatmentTimeBroadcastData();