public static bool Atmospheric() { Console.WriteLine("Set TargetAltitude in meter :"); TargetAltitude = Double.Parse(Console.ReadLine()); Console.WriteLine("Target Altitude set to " + TargetAltitude + "m"); Thread Events = new Thread(FlightEvent); Events.Start(); //Thread.Sleep(999999999); if (Startup.Igntion(3) == true) { Thread Enginess = new Thread(ThrottleGuidance); Enginess.Start(); AscentGuidance(); Starship.starship.AutoPilot.Engage(); Starship.starship.AutoPilot.TargetRoll = 0; Enginess.Abort(); Thread WingsControl = new Thread(Starship.PIDcontrolNewStarship); WingsControl.Start(); Console.WriteLine("Landing control started"); Thread.Sleep(40000); Confirmed = true; while (Starship.starship.Flight(Starship.starship.SurfaceReferenceFrame).SurfaceAltitude > 1200) { } Thread LBC = new Thread(Starship.Tamere); LBC.Start(); Console.WriteLine("Landing Burn control Started"); Landing.LandingBurn(Starship.starship); return(true); } else { return(false); } }
public static bool Small() { Console.WriteLine("Set TargetAltitude in meter :"); TargetAltitude = Double.Parse(Console.ReadLine()); Console.WriteLine("Target Altitude set to " + TargetAltitude + "m"); Wings.WingUpR[0].Deployed(); Wings.WingUpR[0].Orientation(80); Wings.WingUpL[0].Deployed(); Wings.WingUpL[0].Orientation(80); Wings.WingDownR[0].Deployed(); Wings.WingDownR[0].Orientation(80); Wings.WingDownL[0].Deployed(); Wings.WingDownL[0].Orientation(80); if (Startup.Igntion(1) == true) { Starship.starship.Control.Throttle = Throttle.ThrottleToTWR(Starship.starship, 1.25f, 1); Thread.Sleep(2500); Starship.starship.AutoPilot.Engage(); Engines.RaptorSL[0].Trim(4, 0); Starship.starship.AutoPilot.TargetPitch = 86; Starship.starship.AutoPilot.TargetHeading = (float)Landing.ZoneHeading(Starship.starship); Starship.starship.AutoPilot.TargetRoll = 0; Starship.starship.AutoPilot.AttenuationAngle = new Tuple <double, double, double>(1, 1, 1); Starship.starship.AutoPilot.StoppingTime = new Tuple <double, double, double>(3, 3, 3); Starship.starship.AutoPilot.DecelerationTime = new Tuple <double, double, double>(10, 10, 10); Starship.starship.AutoPilot.RollThreshold = 1; Starship.starship.AutoPilot.PitchPIDGains = new Tuple <double, double, double>(50, 50, 0); Starship.starship.AutoPilot.YawPIDGains = new Tuple <double, double, double>(30, 30, 0); Starship.starship.AutoPilot.RollPIDGains = new Tuple <double, double, double>(30, 30, 0); while (Starship.starship.Orbit.ApoapsisAltitude - 97.6 < TargetAltitude - (Starship.starship.Flight(Starship.starship.Orbit.Body.ReferenceFrame).VerticalSpeed * 1.6f)) { Starship.starship.Control.Throttle = Throttle.ThrottleToTWR(Starship.starship, 1.15f, 1); } Console.WriteLine("Apogee"); Thread LBC = new Thread(Starship.Tamere); LBC.Start(); while (Starship.starship.Flight(Starship.starship.Orbit.Body.ReferenceFrame).VerticalSpeed > -5) { if (Starship.starship.Flight(Starship.starship.SurfaceReferenceFrame).SurfaceAltitude - 20 < TargetAltitude - 5) { Starship.starship.Control.Throttle = Throttle.ThrottleToTWR(Starship.starship, 0.6f, 1); } else { Starship.starship.Control.Throttle = 0.001f; } } Console.WriteLine("Max altitude : " + Starship.starship.Flight(Starship.starship.SurfaceReferenceFrame).SurfaceAltitude + "m"); while (Starship.starship.Flight(Starship.starship.Orbit.Body.ReferenceFrame).VerticalSpeed > -6) { } Console.WriteLine("Landing Burn control Started"); Landing.LandingBurn(Starship.starship); return(true); } else { return(false); } }