Index: sources/drydemo/StateControllerTreatment.cpp =================================================================== diff -u -r7094c1e2387d63fc7fb9d6d9a09ea0aee3c71420 -rb13dd2b30889640ebf03f54414f536ca5c8d2dc7 --- sources/drydemo/StateControllerTreatment.cpp (.../StateControllerTreatment.cpp) (revision 7094c1e2387d63fc7fb9d6d9a09ea0aee3c71420) +++ sources/drydemo/StateControllerTreatment.cpp (.../StateControllerTreatment.cpp) (revision b13dd2b30889640ebf03f54414f536ca5c8d2dc7) @@ -83,15 +83,16 @@ void StateController::setTreatmentParametersToDefault() { // TODO complete the list as we go - _treatmentParams.finalConfirmation = true; - _treatmentParams.treatmentModality = 0; // TODO set the actual enum value - _treatmentParams.bloodFlowRateMLPM = DEF_TX_PARAM_BLOOD_FLOW_RATE_MLPM; - _treatmentParams.dialysateFlowRateMLPM = DEF_TX_PARAM_DIAL_FLOW_RATE_MLPM; - _treatmentParams.treatmentDurationMin = DEF_TX_PARAM_PRESCRIBED_DUR_MIN; - _treatmentParams.dialysateTemperatureC = DEF_TX_PARAM_DIA_TEMPERATURE_C; - _treatmentParams.fluidBlousVolumeML = DEF_TX_PARAM_SALINE_BOLUS_VOL_ML; - _treatmentParams.ufVolumeL = DEF_TX_PARAM_UF_VOLUME_L; - _treatmentParams.rinsebackVolumeML = DEF_TX_PARAM_RINSEBACK_VOLUME_ML; + _treatmentParams.finalConfirmation = true; + _treatmentParams.treatmentModality = static_cast(TREATMENT_MODALITY_HD_SALINE_FLUID); + _treatmentParams.bloodFlowRateMLPM = DEF_TX_PARAM_BLOOD_FLOW_RATE_MLPM; + _treatmentParams.dialysateFlowRateMLPM = DEF_TX_PARAM_DIAL_FLOW_RATE_MLPM; + _treatmentParams.treatmentDurationMin = DEF_TX_PARAM_PRESCRIBED_DUR_MIN; + _treatmentParams.dialysateTemperatureC = DEF_TX_PARAM_DIA_TEMPERATURE_C; + _treatmentParams.fluidBlousVolumeML = DEF_TX_PARAM_SALINE_BOLUS_VOL_ML; + _treatmentParams.ufVolumeL = DEF_TX_PARAM_UF_VOLUME_L; + _treatmentParams.rinsebackVolumeML = DEF_TX_PARAM_RINSEBACK_VOLUME_ML; + _treatmentParams.bloodPressureIntervalMin = DEF_TX_PARAM_BLOOD_PRES_INTERVAL_MIN; } void StateController::initializeTreatmentTimeAndUltrafiltration() @@ -269,7 +270,6 @@ _treatmentSubStates.dialysisSubState = DIALYSIS_UF_STATE; _treatmentSubStates.dialysisSubState = (cmd == 0 ? DIALYSIS_UF_PAUSED_STATE : _treatmentSubStates.dialysisSubState); acceptReject = ACCEPT_VALUE; - qDebug() << "UF Pa" << _treatmentSubStates.dialysisSubState; } else if (_treatmentSubStates.txState != TREAT_DIALYSIS_STATE) { reason.append(REQUEST_REJECT_REASON_INVALID_TREATMENT_STATE); } else { @@ -466,7 +466,7 @@ if (!_treatmentStatus.isBloodPumpRunning) { _pressureVars.presLimitState = PRESSURE_LIMITS_STATE_IDLE; } else if ((_treatmentSubStates.txState == TREAT_DIALYSIS_STATE) || (_treatmentSubStates.txState == TREAT_PAUSED_STATE)) { _pressureVars.presStabilizationTimerCtr = 0; - _pressureVars.presStabilizeTimePeriod = USE_NORMAL_STABILIZATION_PERIOD; + _pressureVars.presStabilizeTimePeriod = USE_NORMAL_STABILIZATION_PERIOD; _pressureVars.presLimitState = PRESSURE_LIMITS_STATE_STABILIZATION; } else if (_treatmentSubStates.txState == TREAT_RECIRC_STATE) { _pressureVars.presLimitState = PRESSURE_LIMITS_STATE_OFF; } @@ -476,7 +476,7 @@ // Assume the stabilization timeout is normal timeout _pressureVars.presStabilizeTimeoutMS = PRES_LIMIT_STABE_TIME_MS; _pressureVars.presStabilizationTimerCtr++; - if (_pressureVars.presLimitState == PRESSURE_LIMITS_STATE_STABILIZATION) { + if (_pressureVars.presStabilizeTimePeriod == USE_SHORT_STABILIZATION_PERIOD) { _pressureVars.presStabilizeTimeoutMS = PRES_LIMIT_SHORT_STABE_TIME_MS; } @@ -487,7 +487,7 @@ else if ((_pressureVars.presStabilizationTimerCtr * QOBJECT_TIMER_TIMEOUT_MS) >= _pressureVars.presStabilizeTimeoutMS) { handleUpdatePressureLimitWindows(); _pressureVars.presStabilizationTimerCtr = 0; - _pressureVars.presStabilizeTimePeriod = USE_NORMAL_STABILIZATION_PERIOD; + _pressureVars.presStabilizeTimePeriod = USE_NORMAL_STABILIZATION_PERIOD; _pressureVars.presLimitState = PRESSURE_LIMITS_STATE_STABLE; } break; @@ -501,7 +501,7 @@ else if ((_pressureVars.presStabilizationTimerCtr * QOBJECT_TIMER_TIMEOUT_MS) >= PRES_LIMIT_RESTABILIZE_TIME_MS) { handleUpdatePressureLimitWindows(); _pressureVars.presStabilizationTimerCtr = 0; - _pressureVars.presStabilizeTimePeriod = STABILIZATION_PERIOD_OFF; + _pressureVars.presStabilizeTimePeriod = STABILIZATION_PERIOD_OFF; _pressureVars.presLimitState = PRESSURE_LIMITS_STATE_STABILIZATION; } break; @@ -603,8 +603,39 @@ handleUIResponseMessage(ID_TD_PRESSURE_LIMIT_WIDEN_RESP, ACCEPT_VALUE); } +void StateController::handleVitalsAdjustmentMessage() +{ + if (_treatmentRcvdMessages[ID_UI_VITALS_ADJUSTMENT_RQST].isNull()) { return; } + quint32 vitalIntMIN = extractU32DataFromReceivedMessage(ID_UI_VITALS_ADJUSTMENT_RQST, 16); + quint32 acceptReject = ACCEPT_VALUE; + QVariantList reason; + // TODO implement the reject reasons + reason.append(REQUEST_REJECT_REASON_NONE); + reason.append(REQUEST_REJECT_REASON_NONE); + reason.append(REQUEST_REJECT_REASON_NONE); + reason.append(REQUEST_REJECT_REASON_NONE); + reason.append(REQUEST_REJECT_REASON_NONE); + _treatmentParams.bloodPressureIntervalMin = vitalIntMIN * SECONDS_PER_MINUTE * MILLISECONDS_PER_SECOND; + _treatmentRcvdMessages[ID_UI_VITALS_ADJUSTMENT_RQST].clear(); + handleUIResponseMessage(ID_TD_VITALS_ADJUSTMENT_RESP, acceptReject, reason); +} +void StateController::handleVitalsDataRquest() +{ + if (_treatmentRcvdMessages[ID_UI_BLOOD_PRESSURE_RQST].isNull()) { return; } + _treatmentRcvdMessages[ID_UI_BLOOD_PRESSURE_RQST].clear(); + // TODo check the reject reasons + handleUIResponseMessage(ID_TD_VITALS_ADJUSTMENT_RESP, ACCEPT_VALUE); + handleVitalsBroadcastData(); +} + + + + + + +