Index: firmware/App/Modes/TreatmentEnd.c =================================================================== diff -u -r98cc51d12256e9e9d63632d0206e9cd6e5b92429 -rd30cbd6a87d41e58709ae6ad8466f5e193a32397 --- firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 98cc51d12256e9e9d63632d0206e9cd6e5b92429) +++ firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision d30cbd6a87d41e58709ae6ad8466f5e193a32397) @@ -305,16 +305,19 @@ } else { - // Ensure we do not sit in stopped state for too long - if ( bloodSittingTimerCtr > WARN_TIME_BLOOD_SITTING ) + if ( FALSE == doesAlarmStatusIndicateEndTxOnly() ) // Alarms appropriate only if we are not already at an alarm stop, end Tx only { - activateAlarmNoData( ALARM_ID_HD_END_OF_TREATMENT_ALARM ); + // Ensure we do not sit in stopped state for too long + if ( bloodSittingTimerCtr > WARN_TIME_BLOOD_SITTING ) + { + activateAlarmNoData( ALARM_ID_HD_END_OF_TREATMENT_ALARM ); + } + if ( bloodSittingTimerCtr > MAX_TIME_BLOOD_SITTING ) + { + // Raise the alarm + activateAlarmNoData( ALARM_ID_HD_END_OF_TREATMENT_HIGH ); + } } - if ( bloodSittingTimerCtr > MAX_TIME_BLOOD_SITTING ) - { - // Raise the alarm - activateAlarmNoData( ALARM_ID_HD_END_OF_TREATMENT_HIGH ); - } } return result;