Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -rcc4f8440e8ad7fa8f2ced2467d922be7422c344c -rf849c9bb850ba7c2cd27c7256639c965f38611fb --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision cc4f8440e8ad7fa8f2ced2467d922be7422c344c) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision f849c9bb850ba7c2cd27c7256639c965f38611fb) @@ -805,6 +805,7 @@ static TREATMENT_STATE_T handleTreatmentStopState( void ) { TREATMENT_STATE_T result = TREATMENT_STOP_STATE; + BOOL leavingTreatmentStopState = TRUE; // If user requests resumption of treatment, resume treatment if ( TRUE == resumeTreatmentAlarmResponseRequest ) @@ -840,8 +841,19 @@ { execReservoirs(); execTreatmentStop(); + leavingTreatmentStopState = FALSE; } + // If leaving treatment stop state, zero alarm countdown timer for UI + if ( TRUE == leavingTreatmentStopState ) + { + TREATMENT_STOP_PAYLOAD_T data; + + data.timeout = 0; + data.countdown = 0; + broadcastData( MSG_ID_HD_TREATMENT_STOP_TIMER_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( TREATMENT_STOP_PAYLOAD_T ) ); + } + return result; }