def transfer(self): # -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # H O H M A N N # # T R A N S F E R # # -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# self.control.rcs = False self.control.throttle = 0 time.sleep(1) self.ap.reference_frame = self.vessel.orbital_reference_frame self.ap.target_direction = (0, 1, 0) self.ap.engage() print(self.mode) ui = UI() while self.mode != "Xfered": if self.mode == "LEO": _hoh_xfer_dv = self.transfer_injection_dv(self.mu, self.semi_major_axis(), self.target_orbit_radius) _time_to_burn = self.time_to_burn(self.ETA_pe(), self.maneuver_burn_time(_hoh_xfer_dv)) if _time_to_burn > 120: self.KSC.warp_to(self.ut() + _time_to_burn - 90) elif _time_to_burn > 34: self.fix_aoa(_time_to_burn, self.maneuver_burn_time(_hoh_xfer_dv)) elif _time_to_burn < 5: self.ullage_rcs(); self.mode = "Xfer Burn" if self.mode == "Xfer Burn": self.control.rcs = False if self.apoapsis_radius() > self.target_orbit_radius: self.control.throttle = 0 time.sleep(1) self.mode = "Xfer Cruise" if self.mode == "Xfer Cruise": _time_to_burn = self.time_to_burn(self.ETA_ap(), self.maneuver_burn_time(self.circ_dv())) if _time_to_burn > 120: self.KSC.warp_to(self.ut() + _time_to_burn - 90) elif _time_to_burn > 34: self.fix_aoa(_time_to_burn, self.maneuver_burn_time(self.circ_dv())) elif _time_to_burn < 5: self.ullage_rcs() self.mode = "Final Burn" if self.mode == "Final Burn": self.control.rcs = False if (self.circ_dv() < 10) or (self.orbital_period(self.target_orbit_radius, self.mu) < self.period()): self.control.throttle = 0 time.sleep(1) self.mode = "Xfered" time.sleep(.05) ui.transfer(self.mode) print("Done")
def transfer(self): # -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # L U N A R # # T R A N S F E R # # -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# self.xfer_setup() self.KSC.warp_to(self.ut() + self.injection_ETA() - 240) ui = UI() while self.injection_ETA() > 140: ui.transfer(self.mode) time.sleep(1) self.ullage_rcs() self.control.throttle = 1 while self.apoapsis_radius() < 400000000: if self.eng_status(self.get_active_engine(), "Status") == "Flame-Out!": self.stage() time.sleep(.1) ui.transfer(self.mode) self.control.throttle = 0