Index: firmware/App/Modes/TreatmentStop.c =================================================================== diff -u -re4cc37257141c5227186ac6d8ca3d6c87d009042 -rec348bf3bbbe48b5a5e25d563a0aa5686bfcd237 --- firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision e4cc37257141c5227186ac6d8ca3d6c87d009042) +++ firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision ec348bf3bbbe48b5a5e25d563a0aa5686bfcd237) @@ -67,7 +67,7 @@ void initTreatmentStop( void ) { currentTxStopState = TREATMENT_STOP_RECIRC_STATE; - bloodSittingTimerCtr = 0; + bloodSittingTimerCtr = TREATMENT_STOP_DATA_PUBLISH_INTERVAL; stopPublishTimerCtr = 0; } @@ -242,8 +242,14 @@ TREATMENT_STOP_PAYLOAD_T data; data.timeout = MAX_TIME_BLOOD_SITTING / ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ); - data.countdown = ( bloodSittingTimerCtr >= MAX_TIME_BLOOD_SITTING ? 0 : ( MAX_TIME_BLOOD_SITTING - bloodSittingTimerCtr ) / ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ); - + if ( getRinsebackCompleted() != TRUE ) + { + data.countdown = ( bloodSittingTimerCtr >= MAX_TIME_BLOOD_SITTING ? 0 : ( MAX_TIME_BLOOD_SITTING - bloodSittingTimerCtr ) / ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ); + } + else + { + data.countdown = 0; + } stopPublishTimerCtr = 0; broadcastData( MSG_ID_HD_TREATMENT_STOP_TIMER_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( TREATMENT_STOP_PAYLOAD_T ) ); }