Index: firmware/App/Services/TxParams.c =================================================================== diff -u -ra1f14a4e422f94b6bc25d1b91839761e7e1196d7 -rc34ad5cb83749cca78001409699a1fecf1436b7f --- firmware/App/Services/TxParams.c (.../TxParams.c) (revision a1f14a4e422f94b6bc25d1b91839761e7e1196d7) +++ firmware/App/Services/TxParams.c (.../TxParams.c) (revision c34ad5cb83749cca78001409699a1fecf1436b7f) @@ -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 ) ); }