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; } } } Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r44a100f8e5210a02c23b8fcc4527d8e96d577381 -r5e650bc96230e209560abfe290f1ec93e1667d82 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 44a100f8e5210a02c23b8fcc4527d8e96d577381) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 5e650bc96230e209560abfe290f1ec93e1667d82) @@ -323,9 +323,6 @@ // MSG_ID_ALARM_TRIGGERED BOOL broadcastAlarmTriggered( U32 alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ); -// MSG_ID_ALARM_CONDITION_CLEARED -BOOL broadcastAlarmConditionCleared( U32 alarm ); - // MSG_ID_ALARM_CLEARED BOOL broadcastAlarmCleared( U32 alarm );