Index: firmware/App/Modes/TreatmentRecirc.c =================================================================== diff -u -r685e17a553a4fdf7dd8b3715e95d151eeff3c866 -r3969e8aaa110f89c8fa67553517498627be84c66 --- firmware/App/Modes/TreatmentRecirc.c (.../TreatmentRecirc.c) (revision 685e17a553a4fdf7dd8b3715e95d151eeff3c866) +++ firmware/App/Modes/TreatmentRecirc.c (.../TreatmentRecirc.c) (revision 3969e8aaa110f89c8fa67553517498627be84c66) @@ -37,7 +37,7 @@ /// Maximum time allowed to be in recirculation sub-mode. static const U32 RECIRC_TIMEOUT = ( ( 15 * SEC_PER_MIN * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ); /// Warn user they need to reconnect to system and resume their treatment soon. -static const U32 RECIRC_WARNING_TIMEOUT = ( ( 10 * SEC_PER_MIN * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ); +static const U32 RECIRC_WARNING_TIMEOUT = ( ( 13 * SEC_PER_MIN * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ); /// Re-circulation status broadcast interval. static const U32 RECIRC_DATA_PUBLISH_INTERVAL = ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ); /// Target flow rate for re-circulation of saline on blood-side circuit. @@ -240,9 +240,10 @@ else if ( recircTimerCtr > RECIRC_TIMEOUT ) { signalGoToTreatmentStopped(); + clearAlarm( ALARM_ID_HD_TREATMENT_RECIRC_TIMEOUT_WARNING ); activateAlarmNoData( ALARM_ID_TREATMENT_RECIRC_TIMEOUT_ALARM ); } - else if ( ( recircTimeoutWarningGiven != TRUE ) && ( recircTimerCtr > RECIRC_WARNING_TIMEOUT ) ) + else if ( ( recircTimeoutWarningGiven != TRUE ) && ( RECIRC_WARNING_TIMEOUT == recircTimerCtr ) ) { recircTimeoutWarningGiven = TRUE; activateAlarmNoData( ALARM_ID_HD_TREATMENT_RECIRC_TIMEOUT_WARNING );