Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r3b050a5a783d5ccb445827c08e4338eb3a3a3a1e -rcc17b25a926126e4f5a6fa3b2a14e431bb3ae84a --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 3b050a5a783d5ccb445827c08e4338eb3a3a3a1e) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision cc17b25a926126e4f5a6fa3b2a14e431bb3ae84a) @@ -32,6 +32,8 @@ static PRE_TREATMENT_MODE_STATE_T currentPreTreatmentState; ///< Current state of pre-treatment mode state machine. // ********** private function prototypes ********** + +static PRE_TREATMENT_MODE_STATE_T handleSelfTestNoCartState( void ); static PRE_TREATMENT_MODE_STATE_T handlePrimeState( void ); static PRE_TREATMENT_MODE_STATE_T handlePatientConnectionState( void ); @@ -81,7 +83,7 @@ break; case PRE_TREATMENT_SELF_TEST_NO_CART_STATE: - currentPreTreatmentState = PRE_TREATMENT_CART_INSTALL_STATE; + currentPreTreatmentState = handleSelfTestNoCartState(); break; case PRE_TREATMENT_CART_INSTALL_STATE: @@ -146,6 +148,29 @@ * @details Outputs: transition to self test wet state after priming passed * @return current state (sub-mode) *************************************************************************/ +static PRE_TREATMENT_MODE_STATE_T handleSelfTestNoCartState( void ) +{ + cmdStartDG(); + cmdSetDGDialysateTargetTemps( 39.0, 37.0 ); + + // TODO: Prompt user to close door + + homeBloodPump(); + homeDialInPump(); + homeDialOutPump(); + + // TODO: Prompt user to open door + + return PRE_TREATMENT_CART_INSTALL_STATE; +} + +/*********************************************************************//** + * @brief + * The handlePrimeState function handles priming the blood and dialysate circuits. + * @details Inputs: none + * @details Outputs: transition to self test wet state after priming passed + * @return current state (sub-mode) + *************************************************************************/ static PRE_TREATMENT_MODE_STATE_T handlePrimeState( void ) { PRE_TREATMENT_MODE_STATE_T state = PRE_TREATMENT_PRIME_STATE; Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r5c521c4e9f0840c337133dc041f5e61bc89353ea -rcc17b25a926126e4f5a6fa3b2a14e431bb3ae84a --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 5c521c4e9f0840c337133dc041f5e61bc89353ea) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision cc17b25a926126e4f5a6fa3b2a14e431bb3ae84a) @@ -101,8 +101,6 @@ static BOOL button_state = FALSE; #endif BOOL stop = isStopButtonPressed(); - DG_OP_MODE_T dgOpMode = getDGOpMode(); // TODO - the DG mode & sub-mode come as a pair at interval - they MUST be kept together. - U32 dgSubMode = getDGSubMode(); #ifndef RUN_WITHOUT_DG // state machine to get DG to prep a reservoir so we can start a treatment @@ -112,12 +110,6 @@ // temporary test code - TODO - remove later if ( TRUE == isDGCommunicating() ) { - homeBloodPump(); - homeDialInPump(); - homeDialOutPump(); - cmdSetDGDialysateTargetTemps( 39.0, 37.0 ); - cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); - cmdStartDG(); currentStandbyState = STANDBY_WAIT_FOR_TREATMENT_STATE; } break; @@ -126,27 +118,13 @@ // TODO - test code #ifdef DISABLE_UI_TREATMENT_WORKFLOW if ( TRUE == stop ) -#endif - { - if ( DG_MODE_CIRC == dgOpMode ) - { - if ( DG_RECIRCULATE_MODE_STATE_RECIRC_WATER == dgSubMode ) - { -#ifndef DISABLE_UI_TREATMENT_WORKFLOW - if ( TRUE == treatStartReqReceived ) - { - setStartReservoirVolume(); - cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); - requestNewOperationMode( MODE_TPAR ); - treatStartReqReceived = FALSE; - } #else - setStartReservoirVolume(); - cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); - requestNewOperationMode( MODE_TPAR ); + if ( TRUE == treatStartReqReceived ) #endif - } - } + { + setStartReservoirVolume(); + requestNewOperationMode( MODE_TPAR ); + treatStartReqReceived = FALSE; } break; Index: firmware/App/Modes/Prime.c =================================================================== diff -u -r113bc6f91fadb481b906575de596735ecc98c543 -rcc17b25a926126e4f5a6fa3b2a14e431bb3ae84a --- firmware/App/Modes/Prime.c (.../Prime.c) (revision 113bc6f91fadb481b906575de596735ecc98c543) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision cc17b25a926126e4f5a6fa3b2a14e431bb3ae84a) @@ -230,8 +230,7 @@ cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); currentReservoirMgmtState = PRIME_RESERVOIR_MGMT_FLUSH_DG_LINES_STATE; } - - if ( ( TRUE == reservoirFilledStatus[ DG_RESERVOIR_1 ] ) && ( FALSE == reservoirFilledStatus[ DG_RESERVOIR_2 ] ) ) + else if ( ( TRUE == reservoirFilledStatus[ DG_RESERVOIR_1 ] ) && ( FALSE == reservoirFilledStatus[ DG_RESERVOIR_2 ] ) ) { reservoirFilledStatus[ DG_RESERVOIR_2 ] = TRUE; }