Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r8b7c7ff2bdb82aca355e3eed90cbdc6eb9507719 -rfee71ca73745dad573b28acd13b66624cceeabc0 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 8b7c7ff2bdb82aca355e3eed90cbdc6eb9507719) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision fee71ca73745dad573b28acd13b66624cceeabc0) @@ -34,6 +34,7 @@ // ********** private data ********** static BOOL treatStartReqReceived = FALSE; ///< Flag indicates user requests treatment begin. +static BOOL patientConnectionStartReqReceived = FALSE; ///< Flag indicates user requests patient connection. static HD_PRE_TREATMENT_MODE_STATE_T currentPreTreatmentState; ///< Current state of pre-treatment mode state machine. @@ -42,7 +43,6 @@ static HD_PRE_TREATMENT_MODE_STATE_T handleSelfTestNoCartState( void ); static HD_PRE_TREATMENT_MODE_STATE_T handleSelfTestDryState( void ); static HD_PRE_TREATMENT_MODE_STATE_T handlePrimeState( void ); -static HD_PRE_TREATMENT_MODE_STATE_T handleSelfTestWetState( void ); static HD_PRE_TREATMENT_MODE_STATE_T handleRecirculateState( void ); static HD_PRE_TREATMENT_MODE_STATE_T handlePatientConnectionState( void ); @@ -56,6 +56,7 @@ void initPreTreatmentMode( void ) { treatStartReqReceived = FALSE; + patientConnectionStartReqReceived = FALSE; currentPreTreatmentState = HD_PRE_TREATMENT_START_STATE; } @@ -115,10 +116,6 @@ currentPreTreatmentState = handlePrimeState(); break; - case HD_PRE_TREATMENT_SELF_TEST_WET_STATE: - currentPreTreatmentState = handleSelfTestWetState(); - break; - case HD_PRE_TREATMENT_RECIRCULATE_STATE: currentPreTreatmentState = handleRecirculateState(); break; @@ -148,8 +145,7 @@ { BOOL result = FALSE; - // TODO Change to appropriate constraint when UI action is available - if ( ( MODE_PRET == getCurrentOperationMode() ) && ( HD_PRE_TREATMENT_RECIRCULATE_STATE == currentPreTreatmentState ) ) + if ( ( MODE_PRET == getCurrentOperationMode() ) && ( HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE == currentPreTreatmentState ) ) { treatStartReqReceived = TRUE; result = TRUE; @@ -252,33 +248,10 @@ execPrime(); - if ( TRUE == isPrimingCompleted() ) + if ( TRUE == isWetSelfTestsPassed() ) { - state = HD_PRE_TREATMENT_SELF_TEST_WET_STATE; - } - - return state; -} - -/*********************************************************************//** - * @brief - * The handleSelfTestWetState function performs wet self-tests. - * @details Inputs: none - * @details Outputs: performed wet self-tests and transition to recirculate - * when everything passes - * @return current state (sub-mode) - *************************************************************************/ -static HD_PRE_TREATMENT_MODE_STATE_T handleSelfTestWetState( void ) -{ - HD_PRE_TREATMENT_MODE_STATE_T state = HD_PRE_TREATMENT_SELF_TEST_WET_STATE; - - // TODO: Perform wet self-tests and collect result - BOOL isPassed = TRUE; - - if ( TRUE == isPassed ) - { - activateAlarmNoData( ALARM_ID_PRIME_COMPLETED_LOW_PRIORITY ); state = HD_PRE_TREATMENT_RECIRCULATE_STATE; + activateAlarmNoData( ALARM_ID_PRIME_COMPLETED_LOW_PRIORITY ); setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); @@ -308,8 +281,10 @@ { HD_PRE_TREATMENT_MODE_STATE_T state = HD_PRE_TREATMENT_RECIRCULATE_STATE; - // TODO Change to appropriate user action when UI action is available - if ( TRUE == treatStartReqReceived ) + // TODO Add handler to UI interaction + patientConnectionStartReqReceived = TRUE; + + if ( TRUE == patientConnectionStartReqReceived ) { state = HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE; }