Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -rcc17b25a926126e4f5a6fa3b2a14e431bb3ae84a -r7927873fa83b873c58c0ffe8e56a594d24afcabc --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision cc17b25a926126e4f5a6fa3b2a14e431bb3ae84a) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 7927873fa83b873c58c0ffe8e56a594d24afcabc) @@ -60,6 +60,7 @@ void transitionToPreTreatmentMode( void ) { treatStartReqReceived = FALSE; + currentPreTreatmentState = PRE_TREATMENT_START_STATE; } /*********************************************************************//** Index: firmware/App/Modes/Prime.c =================================================================== diff -u -rcc17b25a926126e4f5a6fa3b2a14e431bb3ae84a -r7927873fa83b873c58c0ffe8e56a594d24afcabc --- firmware/App/Modes/Prime.c (.../Prime.c) (revision cc17b25a926126e4f5a6fa3b2a14e431bb3ae84a) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision 7927873fa83b873c58c0ffe8e56a594d24afcabc) @@ -69,6 +69,7 @@ static PRE_TREATMENT_PRIME_STATE_T handlePrimeSalineSetupState( void ); static PRE_TREATMENT_PRIME_STATE_T handlePrimePurgeAirState( void ); static PRE_TREATMENT_PRIME_STATE_T handlePrimeCircBloodCircuitState( void ); +static PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirOneFillCompleteState( void ); static PRE_TREATMENT_PRIME_STATE_T handlePrimeDialysateDialyzerState( void ); /*********************************************************************//** @@ -132,6 +133,10 @@ currentPrimeState = handlePrimeCircBloodCircuitState(); break; + case PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE: + currentPrimeState = handlePrimeReservoirOneFillCompleteState(); + break; + case PRIME_DIALYSATE_DIALYZER_STATE: currentPrimeState = handlePrimeDialysateDialyzerState(); break; @@ -342,11 +347,27 @@ if ( ++noAirDetectedTimerCounter > NO_AIR_DETECTED_COUNT ) { signalBloodPumpHardStop(); + state = PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; + } - if ( TRUE == reservoirFilledStatus[ DG_RESERVOIR_1 ] ) - { - state = PRIME_DIALYSATE_DIALYZER_STATE; - } + return state; +} + +/*********************************************************************//** + * @brief + * The handlePrimeReservoirOneFillCompleteState function waits for DG to finish + * filling reservoir 1 before moving to priming dialyzer. + * @details Inputs: reservoirFilledStatus[] + * @details Outputs: none + * @return current state + *************************************************************************/ +static PRE_TREATMENT_PRIME_STATE_T handlePrimeReservoirOneFillCompleteState( void ) +{ + PRE_TREATMENT_PRIME_STATE_T state = PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; + + if ( TRUE == reservoirFilledStatus[ DG_RESERVOIR_1 ] ) + { + state = PRIME_DIALYSATE_DIALYZER_STATE; } return state; Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r34767560b0e6574c26f5b86628e12f6bdddbd760 -r7927873fa83b873c58c0ffe8e56a594d24afcabc --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 34767560b0e6574c26f5b86628e12f6bdddbd760) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 7927873fa83b873c58c0ffe8e56a594d24afcabc) @@ -1253,10 +1253,6 @@ handleTestBloodFlowBroadcastIntervalOverrideRequest( message ); break; -// case MSG_ID_ALARM_STATUS_SEND_INTERVAL_OVERRIDE: -// handleTestAlarmStatusBroadcastIntervalOverrideRequest( message ); -// break; - case MSG_ID_BLOOD_PUMP_MEAS_SPEED_OVERRIDE: handleTestBloodPumpMeasuredSpeedOverrideRequest( message ); break;