Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -rdc251113529e8b4f067fefd6f5496da6b6199b1c -r42bb206087c2e941c9f3079f3321d70d6dfb59f9 --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision dc251113529e8b4f067fefd6f5496da6b6199b1c) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 42bb206087c2e941c9f3079f3321d70d6dfb59f9) @@ -1183,8 +1183,8 @@ BOOL isTDiTempAboveDialysateTarget = ( dgDialysateTemp >= TDiHigh ? TRUE : FALSE ); F32 TDiLow = dgTrimmerTempSet - DIALYSATE_TEMP_OUT_OF_TARGET_TOL_C; BOOL isTDiTempBelowDialysateTarget = ( dgDialysateTemp <= TDiLow ? TRUE : FALSE ); - BOOL isTempBelowTrigger = TRUE; - BOOL isTempAboveTrigger = TRUE; + BOOL isTempBelowTrigger = isTDITempBelowLowSafety | isTDiTempBelowDialysateTarget; + BOOL isTempAboveTrigger = isTDiTempAboveLowSafety | isTDiTempAboveDialysateTarget; #ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_DIALYSATE_TEMP_CHECK ) != SW_CONFIG_ENABLE_VALUE ) @@ -1202,48 +1202,15 @@ if ( TRUE == isAlarmActive( ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP ) ) { isTempBelowTrigger = ( dgDialysateTemp <= ( dgTrimmerTempSet + DIALYSATE_TEMP_OUT_OF_TARGET_CLEAR_TOL_C ) ? FALSE : TRUE ); - checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP, isTempBelowTrigger, dgDialysateTemp, dgTrimmerTempSet ); } + checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP, isTempBelowTrigger, dgDialysateTemp, dgTrimmerTempSet ); - // We have to check the condition before calling the persistence check for - // both triggers so they don't to cancel each other out. - // Low safety does not to check false conditions since - // max target temp will not be higher than low safety - if ( TRUE == isTDiTempAboveLowSafety ) - { - checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP, isTDiTempAboveLowSafety, dgDialysateTemp, dgTrimmerTempSet ); - } - - if ( TRUE == isTDiTempAboveDialysateTarget ) - { - checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP, isTDiTempAboveDialysateTarget, dgDialysateTemp, TDiHigh ); - } - else - { - checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP, isTDiTempAboveDialysateTarget, dgDialysateTemp, TDiHigh ); - } - // check clear condition first if ( TRUE == isAlarmActive( ALARM_ID_HD_DIALYSATE_TEMP_BELOW_TARGET_TEMP ) ) { isTempAboveTrigger = ( dgDialysateTemp <= ( dgTrimmerTempSet - DIALYSATE_TEMP_OUT_OF_TARGET_CLEAR_TOL_C ) ? FALSE : TRUE ); - checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP, isTempAboveTrigger, dgDialysateTemp, dgTrimmerTempSet ); } - - // Below temp checks are reverse since min target temp can be lower than safety - if ( TRUE == isTDiTempBelowDialysateTarget ) - { - checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_BELOW_TARGET_TEMP, isTDiTempBelowDialysateTarget, dgDialysateTemp, TDiLow ); - } - - if ( TRUE == isTDITempBelowLowSafety ) - { - checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_BELOW_TARGET_TEMP, isTDITempBelowLowSafety, dgDialysateTemp, dgTrimmerTempSet ); - } - else - { - checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_BELOW_TARGET_TEMP, isTDITempBelowLowSafety, dgDialysateTemp, dgTrimmerTempSet ); - } + checkPersistentAlarm(ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP, isTempAboveTrigger, dgDialysateTemp, dgTrimmerTempSet ); } }