Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r4a5a809459e76f558dce420dedf20f3de5b4a7a1 -rf3404e7ea0bd86fcea261ce5f95e352ee493a49a --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 4a5a809459e76f558dce420dedf20f3de5b4a7a1) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision f3404e7ea0bd86fcea261ce5f95e352ee493a49a) @@ -164,50 +164,78 @@ *************************************************************************/ static TD_STANDBY_STATE_T handleStandbyModeStartState( void ) { - TD_STANDBY_STATE_T state = STANDBY_WAIT_FOR_TREATMENT_STATE; + TD_STANDBY_STATE_T state = STANDBY_START_STATE; - // If we haven't already initiated homing of actuators, initiate now - if ( homingInitiated != TRUE ) + if ( FALSE == homingInitiated ) { VALVE_T valve; - - // Home pumps and valves + // Initiate homing for both pinch valves. for ( valve = FIRST_VALVE; valve < NUM_OF_VALVES; ++valve ) { homeValve( valve, FALSE, TRUE ); } -// homeBloodPump(); -// homeDialInPump(); -// homeDialOutPump(); -// retractSyringePump(); - homingInitiated = TRUE; } -// else -// { -// // If homing has been initiated, wait for syringe pump to home and the verify force sensor calibration -//#ifndef _RELEASE_ -// if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_SYRINGE_PUMP ) ) -// { -// state = STANDBY_WAIT_FOR_TREATMENT_STATE; // Go to wait for treatment state after above check -// } -// else -//#endif -// { -// if ( ( TRUE == isSyringePumpHome() ) && ( TRUE == isSyringePumpStopped() ) ) -// { -// syringePumpVerifyForceSensorDACCalibration(); -// homingInitiated = FALSE; // reset for next time -// doorClosedRequired( FALSE ); // door no longer required to be closed in standby mode -// state = STANDBY_WAIT_FOR_TREATMENT_STATE; // Go to wait for treatment state after above check -// } -// } -// } -// } + else if ( ( VALVE_STATE_IDLE == getValveState( H1_VALV ) ) && + ( VALVE_STATE_IDLE == getValveState( H19_VALV ) ) ) + { + // After homing completes, move both pinch valves to Position A. + setValvePosition( H1_VALV, VALVE_POSITION_A_INSERT_EJECT ); + setValvePosition( H19_VALV, VALVE_POSITION_A_INSERT_EJECT ); + homingInitiated = FALSE; + state = STANDBY_WAIT_FOR_TREATMENT_STATE; + } return state; } + +//static TD_STANDBY_STATE_T handleStandbyModeStartState( void ) +//{ +// TD_STANDBY_STATE_T state = STANDBY_WAIT_FOR_TREATMENT_STATE; +// +// // If we haven't already initiated homing of actuators, initiate now +// if ( homingInitiated != TRUE ) +// { +// VALVE_T valve; +// +// // Home pumps and valves +// for ( valve = FIRST_VALVE; valve < NUM_OF_VALVES; ++valve ) +// { +// homeValve( valve, FALSE, TRUE ); +// } +//// homeBloodPump(); +//// homeDialInPump(); +//// homeDialOutPump(); +//// retractSyringePump(); +// +// homingInitiated = TRUE; +// } +//// else +//// { +//// // If homing has been initiated, wait for syringe pump to home and the verify force sensor calibration +////#ifndef _RELEASE_ +//// if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_SYRINGE_PUMP ) ) +//// { +//// state = STANDBY_WAIT_FOR_TREATMENT_STATE; // Go to wait for treatment state after above check +//// } +//// else +////#endif +//// { +//// if ( ( TRUE == isSyringePumpHome() ) && ( TRUE == isSyringePumpStopped() ) ) +//// { +//// syringePumpVerifyForceSensorDACCalibration(); +//// homingInitiated = FALSE; // reset for next time +//// doorClosedRequired( FALSE ); // door no longer required to be closed in standby mode +//// state = STANDBY_WAIT_FOR_TREATMENT_STATE; // Go to wait for treatment state after above check +//// } +//// } +//// } +//// } +// +// return state; +//} + /*********************************************************************//** * @brief * The handleStandbyModeWaitForTreatmentState function handles wait for