Index: firmware/App/Modes/ModeGenIdle.c =================================================================== diff -u -r256d5cb05f1ef09e19e2f2733a111f600c73a7ee -r5c0c125cf0096613af3475388c970b5e16cc6b0e --- firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision 256d5cb05f1ef09e19e2f2733a111f600c73a7ee) +++ firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision 5c0c125cf0096613af3475388c970b5e16cc6b0e) @@ -77,7 +77,7 @@ static DG_GEN_IDLE_MODE_BAD_FILL_STATE_T handleSecondDrainState( void ); static DG_GEN_IDLE_MODE_BAD_FILL_STATE_T handleRefillState( void ); -static void publishBadFillSubstates( U32 badFill ); +static void publishGenIdleSubstates(); /*********************************************************************//** * @brief @@ -226,6 +226,8 @@ break; } + publishGenIdleSubstates(); + return (U32)genIdleState; } @@ -325,9 +327,6 @@ { DG_GEN_IDLE_MODE_BAD_FILL_STATE_T state = DG_HANDLE_BAD_FILL_STATE_FIRST_DRAIN; - // Publish the state prior to requesting a drain and transitioning to drain mode - publishBadFillSubstates( state ); - // Drain the bad filled reservoir first requestNewOperationMode( DG_MODE_DRAI ); @@ -354,16 +353,9 @@ state = DG_HANDLE_BAD_FILL_STATE_FLUSH_FILL; - // Publish the state prior to transitioning to fill mode - publishBadFillSubstates( state ); - // Start the flush fill startFillCmd( BAD_FLUSH_FILL_TARGET_VOLUME_ML, getTargetFillFlowRateLPM() ); } - else - { - publishBadFillSubstates( state ); - } return state; } @@ -380,9 +372,6 @@ { DG_GEN_IDLE_MODE_BAD_FILL_STATE_T state = DG_HANDLE_BAD_FILL_STATE_SECOND_DRAIN; - // Publish the state prior to transitioning to drain mode - publishBadFillSubstates( state ); - requestNewOperationMode( DG_MODE_DRAI ); return state; @@ -400,9 +389,6 @@ { DG_GEN_IDLE_MODE_BAD_FILL_STATE_T state = DG_HANDLE_BAD_FILL_STATE_REFILL; - // Publish the state prior to transitioning to fill mode - publishBadFillSubstates( state ); - // Refill to the saved target fill volume (~1500 mL) startFillCmd( targetFillVolumeML, getTargetFillFlowRateLPM() ); @@ -421,8 +407,6 @@ { DG_GEN_IDLE_MODE_BAD_FILL_STATE_T state = DG_HANDLE_BAD_FILL_STATE_START; - publishBadFillSubstates( state ); - // Clear wait for dialysate alarm condition to allow resume clearAlarmCondition( ALARM_ID_CREATING_DIALYSATE_PLEASE_WAIT ); // resume option will appear // Set flag to FALSE here so next call to idle exec will move to normal flush water state @@ -431,25 +415,30 @@ return state; } + /*********************************************************************//** * @brief - * The publishBadFillSubstates function publishes idle mode bad fill + * The publishGenIdleSubstates function publishes gen idle * sub-states at the set interval. * @details Inputs: none * @details Outputs: none - * @param badFill the bad fill state that has to be published + * @param none * @return none *************************************************************************/ -static void publishBadFillSubstates( U32 badFill ) +static void publishGenIdleSubstates() { - GEN_IDLE_BAD_FILL_STATE data; + DG_GEN_IDLE_DATA_T data; - data.badFillState = badFill; + data.badFillSignal = (U32)handleBadFillFlag; + data.badFillState = (U32)badFillState; + data.genIdleState = (U32)getCurrentGenIdleState(); + data.targetFillVolumemL = targetFillVolumeML; - broadcastData( MSG_ID_DG_BAD_FILL_SUB_STATE, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&data, sizeof( GEN_IDLE_BAD_FILL_STATE ) ); + broadcastData( MSG_ID_DG_GEN_IDLE_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&data, sizeof( DG_GEN_IDLE_DATA_T ) ); } + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/