Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -rf1adb311cbf9bcf5863864d165f68e4a497ae627 -rb5c4c9bcd88e95b0a3a3dae42b80da2484964924 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision f1adb311cbf9bcf5863864d165f68e4a497ae627) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision b5c4c9bcd88e95b0a3a3dae42b80da2484964924) @@ -192,31 +192,30 @@ // If we haven't already initiated homing of actuators, initiate now if ( FALSE == homingInitiated ) { - // Home Standby pinch valves. - homeValve( H1_VALV, FALSE, TRUE ); - homeValve( H19_VALV, FALSE, TRUE ); + VALVE_T valve; + // Initiate homing for both pinch valves. + for ( valve = FIRST_VALVE; valve < NUM_OF_VALVES; ++valve ) + { + homeValve( valve, FALSE, TRUE ); + } + // Retract syringe pump if not already home. + if ( FALSE == isSyringePumpHome() ) + { + retractSyringePump(); + } - if ( FALSE == isSyringePumpHome() ) - { - retractSyringePump(); - } - - homingInitiated = TRUE; + homingInitiated = TRUE; } - else - { - // If homing has been initiated, wait for syringe pump to home and the verify force sensor calibration - if ( ( TRUE == isSyringePumpHome() ) && ( TRUE == isSyringePumpStopped() ) - && ( VALVE_POSITION_A_INSERT_EJECT == getValvePosition( H1_VALV ) ) - && ( VALVE_POSITION_A_INSERT_EJECT == getValvePosition( H19_VALV ) ) ) - { - syringePumpVerifyForceSensorDACCalibration(); - homingInitiated = FALSE; // reset for next time + 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; + } - state = STANDBY_WAIT_FOR_TREATMENT_STATE; // Go to wait for treatment state after above check - } - } - return state; }