Index: firmware/App/Services/TxParams.c =================================================================== diff -u -rc9e30d4b11056ff1fe0080d0278cbd457f17d58e -rbec2091316934aae16f00c637139c5d7b29cb26d --- firmware/App/Services/TxParams.c (.../TxParams.c) (revision c9e30d4b11056ff1fe0080d0278cbd457f17d58e) +++ firmware/App/Services/TxParams.c (.../TxParams.c) (revision bec2091316934aae16f00c637139c5d7b29cb26d) @@ -487,6 +487,7 @@ BOOL paramsAreInRange, paramsAreConsistent, isUFValid; BOOL result = FALSE; BOOL paramsConfirmed = FALSE; + BOOL rxQdOrTempUpdated = FALSE; TREATMENT_PARAMS_DATA_RESPONSE_PAYLOAD_T params; U32 rejReasons[ NUM_OF_TREATMENT_PARAMS ]; @@ -524,6 +525,14 @@ TREATMENT_PARAM_T param; paramsAreInvalid = FALSE; + if ( ( FALSE == validTreatParamsReceived ) || + ( stagedParams[ TREATMENT_PARAM_DIALYSATE_FLOW ].uInt != + getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ) ) || + ( fabs( stagedParams[ TREATMENT_PARAM_DIALYSATE_TEMPERATURE ].sFlt - + getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ) ) >= NEARLY_ZERO ) ) + { + rxQdOrTempUpdated = TRUE; + } validTreatParamsReceived = TRUE; // direct confirmation, no validation state exists now if ( TRUE == paramsConfirmed ) { @@ -535,6 +544,10 @@ { setCriticalData( &treatmentParameters[ param ], stagedParams[ param ] ); } + if ( ( MODE_PRET == getCurrentOperationMode() ) && ( TRUE == rxQdOrTempUpdated ) ) + { + signalPreTreatmentRxUpdated(); + } // Send latest and final treatment parameters to UI sendMessage( MSG_ID_TD_VALIDATED_TREATMENT_PARAMS, COMM_BUFFER_OUT_CAN_TD_2_UI, (U08*)(&stagedParams), sizeof( TREATMENT_PARAMS_DATA_RESPONSE_PAYLOAD_T ) ); }