Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -rce64b7e15824641a6a6465c28eec5d8ec593f110 -r35a326b0f9f2fd83bac4be54e67ebde2d3f2c7e1 --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision ce64b7e15824641a6a6465c28eec5d8ec593f110) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 35a326b0f9f2fd83bac4be54e67ebde2d3f2c7e1) @@ -137,7 +137,7 @@ treatmentCancelled = FALSE; setTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME, 0.0 ); - + setCurrentSubState( NO_SUB_STATE ); // Set user alarm recovery actions allowed in this mode setAlarmUserActionEnabled( ALARM_USER_ACTION_RESUME, FALSE ); setAlarmUserActionEnabled( ALARM_USER_ACTION_RINSEBACK, FALSE ); @@ -282,8 +282,6 @@ HD_TREATMENT_PARAMS_MODE_STATE_T priorSubState = currentTreatmentParamsState; BOOL stop = isStopButtonPressed(); - setCurrentSubState( NO_SUB_STATE ); - if ( TRUE == stop ) { // Ignore stop button in this mode. @@ -306,6 +304,11 @@ } + if ( priorSubState != currentTreatmentParamsState ) + { + SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_SUB_MODE_CHANGE, priorSubState, currentTreatmentParamsState ); + } + return (U32)currentTreatmentParamsState; }