public IStep OnNext() { if (State.Mount.Slewing) { State.ShowMessage("Wait until all mount movement is complete before pressing next."); return(null); } if (!State.Mount.Tracking) { State.ShowMessage("The mount must be tracking to perform the cone error adjustment."); return(null); } if (State.Mount.TrackingRate != DriveRates.driveSidereal) { State.ShowMessage("The mount must be tracking at sidereal rate to perform the cone error adjustment."); return(null); } if (!IsOKPosition()) { return(null); } State.AddPosition(GetPositionId(), State.Mount.RightAscension, State.Mount.Declination); return(CreateNextStep()); }