Index: firmware/App/Modes/ModeChemicalDisinfect.c =================================================================== diff -u -r7d4711edd7b40cd3e29f43e766f79a8a09586fe9 -rfafeb76a9e02672f4a03bc8c35a2b09950ff736f --- firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 7d4711edd7b40cd3e29f43e766f79a8a09586fe9) +++ firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision fafeb76a9e02672f4a03bc8c35a2b09950ff736f) @@ -1784,17 +1784,20 @@ if ( ( ( STATE_CLOSED == getSwitchStatus( CONCENTRATE_CAP ) || ( STATE_OPEN == getSwitchStatus( DIALYSATE_CAP ) ) ) ) && ( chemDisinfectState != DG_CHEM_DISINFECT_STATE_START ) ) { - prevChemDisinfectState = chemDisinfectState; - chemDisinfectState = DG_CHEM_DISINFECT_STATE_CANCEL_WATER_PATH; - - if ( STATE_CLOSED == getSwitchStatus( CONCENTRATE_CAP ) ) + if ( ( chemDisinfectState != DG_CHEM_DISINFECT_STATE_CANCEL_WATER_PATH ) && ( chemDisinfectState != DG_CHEM_DISINFECT_STATE_CANCEL_BASIC_PATH ) ) { - alarmDetectedPendingTrigger = ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION; + prevChemDisinfectState = chemDisinfectState; + chemDisinfectState = DG_CHEM_DISINFECT_STATE_CANCEL_WATER_PATH; + + if ( STATE_CLOSED == getSwitchStatus( CONCENTRATE_CAP ) ) + { + alarmDetectedPendingTrigger = ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION; + } + if ( STATE_OPEN == getSwitchStatus( DIALYSATE_CAP ) ) + { + alarmDetectedPendingTrigger = ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION; + } } - if ( STATE_OPEN == getSwitchStatus( DIALYSATE_CAP ) ) - { - alarmDetectedPendingTrigger = ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION; - } } } Index: firmware/App/Modes/ModeChemicalDisinfectFlush.c =================================================================== diff -u -r7d4711edd7b40cd3e29f43e766f79a8a09586fe9 -rfafeb76a9e02672f4a03bc8c35a2b09950ff736f --- firmware/App/Modes/ModeChemicalDisinfectFlush.c (.../ModeChemicalDisinfectFlush.c) (revision 7d4711edd7b40cd3e29f43e766f79a8a09586fe9) +++ firmware/App/Modes/ModeChemicalDisinfectFlush.c (.../ModeChemicalDisinfectFlush.c) (revision fafeb76a9e02672f4a03bc8c35a2b09950ff736f) @@ -1045,7 +1045,9 @@ // If either the dialysate cap or the concentrate cap is open during any state, alarm if ( ( STATE_OPEN == concCap ) || ( STATE_OPEN == dialysateCap ) ) { - if ( chemDisinfectFlushState != DG_CHEM_DISINFECT_FLUSH_STATE_START ) + if ( ( chemDisinfectFlushState != DG_CHEM_DISINFECT_FLUSH_STATE_START ) && + ( chemDisinfectFlushState != DG_CHEM_DISINFECT_FLUSH_STATE_CANCEL_WATER_PATH ) && + ( chemDisinfectFlushState != DG_CHEM_DISINFECT_FLUSH_STATE_CANCEL_BASIC_PATH ) ) { prevChemDisinfectFlushState = chemDisinfectFlushState; chemDisinfectFlushState = DG_CHEM_DISINFECT_FLUSH_STATE_CANCEL_WATER_PATH; Index: firmware/App/Modes/ModeFlush.c =================================================================== diff -u -r7d4711edd7b40cd3e29f43e766f79a8a09586fe9 -rfafeb76a9e02672f4a03bc8c35a2b09950ff736f --- firmware/App/Modes/ModeFlush.c (.../ModeFlush.c) (revision 7d4711edd7b40cd3e29f43e766f79a8a09586fe9) +++ firmware/App/Modes/ModeFlush.c (.../ModeFlush.c) (revision fafeb76a9e02672f4a03bc8c35a2b09950ff736f) @@ -1129,15 +1129,18 @@ { if ( ( STATE_OPEN == getSwitchStatus( CONCENTRATE_CAP ) ) || ( STATE_OPEN == getSwitchStatus( DIALYSATE_CAP ) ) ) { - // Set the variables to fail and go to cancel water path. Set the pending alarm to no alarm so the cancel water path - // will not be raising the alarm at end of the cancel water path. The recoverable alarm is raised here in this function - prevFlushState = flushState; - flushState = DG_FLUSH_STATE_CANCEL_WATER_PATH; - alarmDetectedPendingTrigger = ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION; - - if ( STATE_OPEN == getSwitchStatus( CONCENTRATE_CAP ) ) + if ( ( flushState != DG_FLUSH_STATE_CANCEL_WATER_PATH ) && ( flushState != DG_FLUSH_STATE_CANCEL_BASIC_PATH ) ) { - alarmDetectedPendingTrigger = ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION; + // Set the variables to fail and go to cancel water path. Set the pending alarm to no alarm so the cancel water path + // will not be raising the alarm at end of the cancel water path. The recoverable alarm is raised here in this function + prevFlushState = flushState; + flushState = DG_FLUSH_STATE_CANCEL_WATER_PATH; + alarmDetectedPendingTrigger = ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION; + + if ( STATE_OPEN == getSwitchStatus( CONCENTRATE_CAP ) ) + { + alarmDetectedPendingTrigger = ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION; + } } } } Index: firmware/App/Modes/ModeHeatDisinfect.c =================================================================== diff -u -re6c60e07b450ec8d58e87bf13d45f96efab54d8b -rfafeb76a9e02672f4a03bc8c35a2b09950ff736f --- firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision e6c60e07b450ec8d58e87bf13d45f96efab54d8b) +++ firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision fafeb76a9e02672f4a03bc8c35a2b09950ff736f) @@ -2102,15 +2102,18 @@ { if ( ( STATE_OPEN == getSwitchStatus( CONCENTRATE_CAP ) ) || ( STATE_OPEN == getSwitchStatus( DIALYSATE_CAP ) ) ) { - // Set the variables to fail and go to cancel water path. Set the pending alarm to no alarm so the cancel water path - // will not be raising the alarm at end of the cancel water path. The recoverable alarm is raised here in this function - prevHeatDisinfectState = heatDisinfectState; - heatDisinfectState = DG_HEAT_DISINFECT_STATE_CANCEL_WATER_PATH; - alarmDetectedPendingTrigger = ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION; - - if ( STATE_OPEN == getSwitchStatus( CONCENTRATE_CAP ) ) + if ( ( heatDisinfectState != DG_HEAT_DISINFECT_STATE_CANCEL_WATER_PATH ) && ( heatDisinfectState != DG_HEAT_DISINFECT_STATE_CANCEL_BASIC_PATH ) ) { - alarmDetectedPendingTrigger = ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION; + // Set the variables to fail and go to cancel water path. Set the pending alarm to no alarm so the cancel water path + // will not be raising the alarm at end of the cancel water path. The recoverable alarm is raised here in this function + prevHeatDisinfectState = heatDisinfectState; + heatDisinfectState = DG_HEAT_DISINFECT_STATE_CANCEL_WATER_PATH; + alarmDetectedPendingTrigger = ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION; + + if ( STATE_OPEN == getSwitchStatus( CONCENTRATE_CAP ) ) + { + alarmDetectedPendingTrigger = ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION; + } } } } Index: firmware/App/Modes/ModeHeatDisinfectActiveCool.c =================================================================== diff -u -r7d4711edd7b40cd3e29f43e766f79a8a09586fe9 -rfafeb76a9e02672f4a03bc8c35a2b09950ff736f --- firmware/App/Modes/ModeHeatDisinfectActiveCool.c (.../ModeHeatDisinfectActiveCool.c) (revision 7d4711edd7b40cd3e29f43e766f79a8a09586fe9) +++ firmware/App/Modes/ModeHeatDisinfectActiveCool.c (.../ModeHeatDisinfectActiveCool.c) (revision fafeb76a9e02672f4a03bc8c35a2b09950ff736f) @@ -771,15 +771,19 @@ { if ( ( STATE_OPEN == getSwitchStatus( CONCENTRATE_CAP ) ) || ( STATE_OPEN == getSwitchStatus( DIALYSATE_CAP ) ) ) { - // Set the variables to fail and go to cancel water path. Set the pending alarm to no alarm so the cancel water path - // will not be raising the alarm at end of the cancel water path. The recoverable alarm is raised here in this function - heatDisinfectActiceCoolPrevState = heatDisinfectActiveCoolState; - heatDisinfectActiveCoolState = DG_HEAT_DISINFECT_ACTIVE_COOL_CANCEL_WATER_PATH_STATE; - alarmDetectedPendingTrigger = ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION; - - if ( STATE_OPEN == getSwitchStatus( CONCENTRATE_CAP ) ) + if ( ( heatDisinfectActiveCoolState != DG_HEAT_DISINFECT_ACTIVE_COOL_CANCEL_WATER_PATH_STATE ) && + ( heatDisinfectActiveCoolState != DG_HEAT_DISINFECT_ACTIVE_COOL_CANCEL_BASIC_PATH_STATE ) ) { - alarmDetectedPendingTrigger = ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION; + // Set the variables to fail and go to cancel water path. Set the pending alarm to no alarm so the cancel water path + // will not be raising the alarm at end of the cancel water path. The recoverable alarm is raised here in this function + heatDisinfectActiceCoolPrevState = heatDisinfectActiveCoolState; + heatDisinfectActiveCoolState = DG_HEAT_DISINFECT_ACTIVE_COOL_CANCEL_WATER_PATH_STATE; + alarmDetectedPendingTrigger = ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION; + + if ( STATE_OPEN == getSwitchStatus( CONCENTRATE_CAP ) ) + { + alarmDetectedPendingTrigger = ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION; + } } } } Index: firmware/App/Modes/ModeROPermeateSample.c =================================================================== diff -u -r7d4711edd7b40cd3e29f43e766f79a8a09586fe9 -rfafeb76a9e02672f4a03bc8c35a2b09950ff736f --- firmware/App/Modes/ModeROPermeateSample.c (.../ModeROPermeateSample.c) (revision 7d4711edd7b40cd3e29f43e766f79a8a09586fe9) +++ firmware/App/Modes/ModeROPermeateSample.c (.../ModeROPermeateSample.c) (revision fafeb76a9e02672f4a03bc8c35a2b09950ff736f) @@ -686,11 +686,15 @@ case DG_RO_PERM_SAMPLE_STATE_FLUSH_R2_TO_R1_AND_DRAIN_R1: if ( ( TRUE == isDialysateCapOpen ) || ( TRUE == isConcentrateCapOpen ) ) { - roPermeateSamplePrevState = roPermeateSampleState; - roPermeateSampleState = DG_RO_PERM_SAMPLE_STATE_CANCEL_WATER_PATH; - alarmDetectedPendingTrigger = ( TRUE == isDialysateCapOpen ? ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION : - ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION ); - setROPermeateSampleStateTransition( roPermeateSampleState ); + if ( ( roPermeateSampleState != DG_RO_PERM_SAMPLE_STATE_CANCEL_WATER_PATH ) && + ( roPermeateSampleState != DG_RO_PERM_SAMPLE_STATE_CANCEL_BASIC_PATH ) ) + { + roPermeateSamplePrevState = roPermeateSampleState; + roPermeateSampleState = DG_RO_PERM_SAMPLE_STATE_CANCEL_WATER_PATH; + alarmDetectedPendingTrigger = ( TRUE == isDialysateCapOpen ? ALARM_ID_DG_DIALYSATE_CAP_NOT_IN_PROPER_POSITION : + ALARM_ID_DG_CONCENTRATE_CAP_NOT_IN_PROPER_POSITION ); + setROPermeateSampleStateTransition( roPermeateSampleState ); + } } break; }