public void enterOrbitOps() { if (internalState == cevStatesEarthOrbit) { if (internalEarthOrbitState == earthOrbitStatesSafeHold) { if (failures.noEARTH_SENSORfailure()) { internalEarthOrbitState = earthOrbitStatesOrbitOps; } return; } } assert false; }
public void completion() { if (internalState == cevStatesAscent) { if (internalAscentState == ascentStatesHoldLaunch) { internalState = cevStatesEndState; return; } if (internalAscentState == ascentStatesPadAbort) { internalState = cevStatesEndState; return; } if (internalAscentState == ascentStatesAbortPassiveLAS) { spacecraft.doLowPassiveAbort(); internalState = cevStatesEntry; internalEntryState = entryStatesChuteSequence; return; } if (internalAscentState == ascentStatesAbortLowActiveLAS) { assert failures.noLAS_CNTRLfailure() : errors.log("active LAS with failed control motor"); spacecraft.doLowActiveAbort(); internalState = cevStatesEntry; internalEntryState = entryStatesChuteSequence; return; } if (internalAscentState == ascentStatesAbortHighActiveLAS) { assert failures.noLAS_CNTRLfailure() : errors.log("active LAS with failed control motor"); internalState = cevStatesEntry; internalEntryState = entryStatesChuteSequence; return; } } if (internalState == cevStatesEarthOrbit) { if (internalEarthOrbitState == earthOrbitStatesInsertion) { if (failures.noEARTH_SENSORfailure()) { internalEarthOrbitState = earthOrbitStatesOrbitOps; } else { internalEarthOrbitState = earthOrbitStatesSafeHold; // <ERR> never reached } return; } } if (internalState == cevStatesLunarOps) { if (internalLunarOpsState == lunarOpsStatesInsertion) { internalLunarOpsState = lunarOpsStatesLunarOrbit; return; } if (internalLunarOpsState == lunarOpsStatesLunarLanding) { internalLunarOpsState = lunarOpsStatesLunarOrbit; } } if (internalState == cevStatesEntry) { if (internalEntryState == entryStatesEntryInterface) { internalEntryState = entryStatesNominalEntry; return; } if (internalEntryState == entryStatesNominalEntry) { internalEntryState = entryStatesChuteSequence; return; } if (internalEntryState == entryStatesChuteSequence) { assert spacecraft.readyForChuteSequence() : errors.last(); internalEntryState = entryStatesLanding; return; } if (internalEntryState == entryStatesLanding) { internalState = cevStatesEndState; return; } if (internalEntryState == entryStatesAbortEntryBallistic) { internalEntryState = entryStatesChuteSequence; return; } if (internalEntryState == entryStatesAbortEntryFixedBank) { internalEntryState = entryStatesChuteSequence; return; } if (internalState == cevStatesLunarOps) { if (internalLunarOpsState == lunarOpsStatesLunarLanding) { if (internalLunarLandingLSAMState == lunarLandingLSAMStatesLunarDescent) { internalLunarLandingLSAMState = lunarLandingLSAMStatesSurfaceOps; return; } } } } assert false; }