Index: firmware/App/Controllers/Bubble.c =================================================================== diff -u -r152e924cfb7f4504d4df7ec44736f27b9257f36c -r5e650bc96230e209560abfe290f1ec93e1667d82 --- firmware/App/Controllers/Bubble.c (.../Bubble.c) (revision 152e924cfb7f4504d4df7ec44736f27b9257f36c) +++ firmware/App/Controllers/Bubble.c (.../Bubble.c) (revision 5e650bc96230e209560abfe290f1ec93e1667d82) @@ -181,6 +181,7 @@ static BUBBLE_STATES_T handleBubbleNormalState( BUBBLES_T bubble ) { BUBBLE_STATES_T state = BUBBLE_NORMAL_STATE; + TREATMENT_STATE_T treatmentState = getTreatmentState(); if ( ( bubble == ADA ) || ( bubble == ADV) ) { @@ -196,30 +197,39 @@ // Check status reading and act upon if ( BUBBLE_DETECTED == getBubbleStatus( bubble ) ) { - if ( ( getCurrentOperationMode() == MODE_TREA ) && ( getTreatmentState() != TREATMENT_RINSEBACK_STATE ) ) + if ( getCurrentOperationMode() == MODE_TREA ) { - // TODO: Enable if ADA is ever used to detect air bubble on arterial line during treatment - //if ( bubble == ADA ) - //{ - // activateAlarmNoData( ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED ); - //} - - if ( bubble == ADV ) + switch ( treatmentState ) { - activateAlarmNoData( ALARM_ID_HD_VENOUS_BUBBLE_DETECTED ); - } - } - else if ( ( getCurrentOperationMode() == MODE_TREA ) && ( getTreatmentState() == TREATMENT_RINSEBACK_STATE ) ) - { - // TODO: Enable if ADA is ever used to detect air bubble on arterial line during rinseback - //if ( bubble == ADA ) - //{ - // activateAlarmNoData( ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED_RINSEBACK ); - //} + case TREATMENT_BLOOD_PRIME_STATE: + case TREATMENT_DIALYSIS_STATE: + case TREATMENT_END_STATE: + // TODO: Enable if ADA is ever used to detect air bubble on arterial line during treatment + //if ( bubble == ADA ) + //{ + // activateAlarmNoData( ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED ); + //} + if ( bubble == ADV ) + { + activateAlarmNoData( ALARM_ID_HD_VENOUS_BUBBLE_DETECTED ); + } + break; - if ( bubble == ADV ) - { - activateAlarmNoData( ALARM_ID_HD_VENOUS_BUBBLE_DETECTED_RINSEBACK ); + case TREATMENT_RINSEBACK_STATE: + // TODO: Enable if ADA is ever used to detect air bubble on arterial line during rinseback + //if ( bubble == ADA ) + //{ + // activateAlarmNoData( ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED_RINSEBACK ); + //} + if ( bubble == ADV ) + { + activateAlarmNoData( ALARM_ID_HD_VENOUS_BUBBLE_DETECTED_RINSEBACK ); + } + break; + + default: + // Ignore other treatment states + break; } } }