Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -rdd6ff808dfa6271e84f09940bcfade6aa18fb121 -r673214e41efc9047a43a1326d49d50355d589a7b --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision dd6ff808dfa6271e84f09940bcfade6aa18fb121) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 673214e41efc9047a43a1326d49d50355d589a7b) @@ -841,7 +841,8 @@ break; } - if ( priorSubState != currentSalineBolusState ) + // MAX DELIVERED transitions different and sends the event on its own. + if ( priorSubState != currentSalineBolusState && currentSalineBolusState != SALINE_BOLUS_STATE_MAX_DELIVERED ) { setCurrent4thLevelState( (U32)currentSalineBolusState ); SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_SUB_STATE_CHANGE, priorSubState, currentSalineBolusState ); @@ -1083,6 +1084,8 @@ if ( ( totalSalineVolumeDelivered_mL >= (F32)MAX_SALINE_VOLUME_DELIVERED ) ) { result = SALINE_BOLUS_STATE_MAX_DELIVERED; + setCurrent4thLevelState( (U32)result ); + sendOperationStatusEvent(); } else { @@ -1120,6 +1123,11 @@ { autoResumeUF = FALSE; currentUFState = UF_RUNNING_STATE; + //Set substate for event + setCurrentSubState( (U32)DIALYSIS_UF_STATE ); + setCurrent4thLevelState( (U32)currentUFState ); + sendOperationStatusEvent(); + } signalUserRateChange(); // so pressure limits re-stabilize // Resume dialysis