Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r2112e3143003eaf9584d4be068f7ca89b33c941a -r2df21d2472a8d79d78af7e359518acf3614accc5 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 2112e3143003eaf9584d4be068f7ca89b33c941a) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 2df21d2472a8d79d78af7e359518acf3614accc5) @@ -33,7 +33,7 @@ #endif /** - * @addtogroup TreatmentMode + * @addtogroup HDTreatmentMode * @{ */ @@ -163,9 +163,9 @@ * Inputs : none * Outputs : * @param none - * @return none + * @return current state (sub-mode) *************************************************************************/ -void execTreatmentMode( void ) +U32 execTreatmentMode( void ) { #ifndef UF_TEST_ENABLED BOOL stop = isStopButtonPressed(); @@ -241,6 +241,8 @@ requestNewOperationMode( MODE_POST ); } #endif + + return currentTreatmentState; } /*********************************************************************//** @@ -368,7 +370,7 @@ { BOOL result = FALSE; REQUEST_REJECT_REASON_CODE_T rejectReason = REQUEST_REJECT_REASON_NONE; - OP_MODE currMode = getCurrentOperationMode(); + HD_OP_MODE_T currMode = getCurrentOperationMode(); // check if we are in an appropriate treatment state for settings adjustment if ( ( MODE_TREA == currMode ) && @@ -447,7 +449,7 @@ REQUEST_REJECT_REASON_CODE_T rejectReason = REQUEST_REJECT_REASON_NONE; S32 timeDiff = 0; F32 rateDiff = 0.0; - OP_MODE currMode = getCurrentOperationMode(); + HD_OP_MODE_T currMode = getCurrentOperationMode(); // reset pending UF/time settings changes to current values in case request is rejected pendingUFVolumeChange = presMaxUFVolumeML; @@ -519,7 +521,7 @@ } } // respond to UF settings change request - sendChangeUFSettingsResponse( result, rejectReason, pendingUFVolumeChange, pendingTreatmentTimeChange, pendingUFRateChange, timeDiff, rateDiff ); + sendChangeUFSettingsResponse( result, rejectReason, pendingUFVolumeChange, pendingTreatmentTimeChange, pendingUFRateChange, timeDiff, rateDiff, presUFRate ); return result; } @@ -539,7 +541,8 @@ { BOOL result = FALSE; REQUEST_REJECT_REASON_CODE_T rejectReason = REQUEST_REJECT_REASON_NONE; - OP_MODE currMode = getCurrentOperationMode(); + HD_OP_MODE_T currMode = getCurrentOperationMode(); + F32 oldUFRate = presUFRate; // user confirmed UF settings change(s)? if ( ( MODE_TREA == currMode ) && ( FALSE == didTimeout( pendingParamChangesTimer, USER_CONFIRM_CHANGE_TIMEOUT_MS ) ) ) @@ -581,7 +584,7 @@ } } // respond to UF settings change confirmation - sendChangeUFSettingsResponse( result, rejectReason, presMaxUFVolumeML, presTreatmentTimeSecs / SEC_PER_MIN, presUFRate, 0, 0 ); + sendChangeUFSettingsResponse( result, rejectReason, presMaxUFVolumeML, presTreatmentTimeSecs / SEC_PER_MIN, presUFRate, 0, 0, oldUFRate ); return result; } @@ -601,7 +604,7 @@ { BOOL result = FALSE; REQUEST_REJECT_REASON_CODE_T rejectReason = REQUEST_REJECT_REASON_NONE; - OP_MODE currMode = getCurrentOperationMode(); + HD_OP_MODE_T currMode = getCurrentOperationMode(); // check if we are in treatment mode for settings change if ( MODE_TREA == currMode )