예제 #1
0
 public override void Init()
 {
     base.Init();
     Dtol = LTRJ.Dtol;
     CorrectionTimer.Period = LTRJ.CorrectionTimer;
     StageTimer.action      = () =>
     {
         VSL.ActivateNextStage();
         Message("Have to drop ballast to decelerate...");
     };
     dP_up_timer.action = () =>
     {
         dP_threshold = Utils.ClampL(dP_threshold * 0.9, LTRJ.MinDPressure);
         last_dP      = VSL.vessel.dynamicPressurekPa;
     };
     dP_down_timer.action = () =>
     {
         dP_threshold = Utils.ClampH(dP_threshold * 1.1, LTRJ.MaxDPressure);
         last_dP      = VSL.vessel.dynamicPressurekPa;
     };
     NoEnginesTimer.action = () =>
     {
         landing_stage = LandingStage.HardLanding;
     };
     sim                  = new AtmoSim(VSL);
     Executor             = new ManeuverExecutor(TCA);
     scanner              = new PQS_Scanner(VSL);
     scanner.MaxUnevennes = GLB.LND.MaxUnevenness / 3;
     dP_threshold         = LTRJ.MaxDPressure;
     last_Err             = 0;
     last_dP              = 0;
     Working              = false;
 }
예제 #2
0
 public override void Init()
 {
     base.Init();
     MinDeltaV = GLB.THR.MinDeltaV;
     CFG.AP1.AddHandler(this, Autopilot1.Maneuver);
     Executor = new ManeuverExecutor(TCA);
 }
 public ToOrbitExecutor(ModuleTCA tca) : base(tca)
 {
     InitModuleFields();
     Executor             = new ManeuverExecutor(tca);
     GearAction.action    = () => VSL.GearOn(false);
     ErrorThreshold.Lower = 2 * GLB.ORB.Dtol;
     ErrorThreshold.Upper = 4 * GLB.ORB.Dtol;
     GravityTurnStart     = 0;
 }
예제 #4
0
 public override void Init()
 {
     base.Init();
     CFG.AP1.AddCallback(MatchVelCallback, Autopilot1.MatchVel, Autopilot1.MatchVelNear);
     Executor = new ManeuverExecutor(TCA);
     Executor.ThrustWhenAligned = true;
     Executor.StopAtMinimum     = true;
     MinDeltaV = ThrottleControl.C.MinDeltaV;
 }
예제 #5
0
 public override void Init()
 {
     base.Init();
     MinDeltaV = ThrottleControl.C.MinDeltaV;
     CFG.AP1.AddHandler(this, Autopilot1.Maneuver);
     Executor = new ManeuverExecutor(TCA);
     Executor.ThrustWhenAligned = ThrustWhenAligned;
     Executor.StopAtMinimum     = true;
 }
 public ToOrbitExecutor(ModuleTCA tca)
     : base(tca)
 {
     InitModuleFields();
     Executor = new ManeuverExecutor(tca);
     GearAction.action = () =>VSL.GearOn(false);
     ErrorThreshold.Lower = 2*GLB.ORB.Dtol;
     ErrorThreshold.Upper = 4*GLB.ORB.Dtol;
     GravityTurnStart = 0;
 }
예제 #7
0
 public override void Init()
 {
     base.Init();
     Dtol = LTRJ.Dtol;
     CorrectionTimer.Period = LTRJ.CorrectionTimer;
     StageTimer.action      = () =>
     {
         VSL.ActivateNextStage();
         Message("Have to drop ballast to decelerate...");
     };
     dP_up_timer.action = () =>
     {
         dP_threshold = Utils.ClampL(dP_threshold * 0.9, LTRJ.MinDPressure);
         last_dP      = VSL.vessel.dynamicPressurekPa;
     };
     dP_down_timer.action = () =>
     {
         dP_threshold = Utils.ClampH(dP_threshold * 1.1, LTRJ.MaxDPressure);
         last_dP      = VSL.vessel.dynamicPressurekPa;
     };
     sim      = new AtmoSim(Body, VSL);
     Executor = new ManeuverExecutor(TCA);
 }
 public override void Init()
 {
     base.Init();
     Executor = new ManeuverExecutor(TCA);
     CFG.AP1.AddCallback(MatchVelCallback, Autopilot1.MatchVel, Autopilot1.MatchVelNear);
 }
 public override void Init()
 {
     base.Init();
     Executor = new ManeuverExecutor(TCA);
     CFG.AP1.AddCallback(MatchVelCallback, Autopilot1.MatchVel, Autopilot1.MatchVelNear);
 }
 public override void Init()
 {
     base.Init();
     MinDeltaV = GLB.THR.MinDeltaV;
     CFG.AP1.AddHandler(this, Autopilot1.Maneuver);
     Executor = new ManeuverExecutor(TCA);
 }