Improve launch sequence, add some control buttons to rocket program.
This commit is contained in:
@ -30,14 +30,12 @@ function pitchProgram {
|
||||
function Launch {
|
||||
parameter apoapsisTarget is 80000.
|
||||
parameter atmoTWR is 2.0.
|
||||
// parameter leadAngle is 2.
|
||||
parameter minPitch is 5.
|
||||
parameter initialPitch is 20.
|
||||
parameter pitchTime is 30.
|
||||
parameter kickAngle is 20.
|
||||
parameter kickTime is 30.
|
||||
parameter kickStart is 100.
|
||||
parameter autoStage is true.
|
||||
|
||||
NoFuelResources(true).
|
||||
|
||||
// Configure subsystems.
|
||||
RCS off.
|
||||
SAS off.
|
||||
@ -72,17 +70,18 @@ function Launch {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
print "Phase 1: Vertical Ascent.".
|
||||
lock THROTTLE to 1.0.
|
||||
lock STEERING to Heading(90,90,270).
|
||||
NoFuelResources(true).
|
||||
PreLaunchCrossfeed(false).
|
||||
stage.
|
||||
wait until SHIP:VERTICALSPEED > 100.
|
||||
wait until SHIP:VERTICALSPEED > kickStart.
|
||||
|
||||
print "Phase 2: Initial Pitch.".
|
||||
local startTime is TIME:SECONDS.
|
||||
lock STEERING to pitchProgram(initialPitch, pitchTime, startTime).
|
||||
wait pitchTime.
|
||||
lock STEERING to pitchProgram(kickAngle, kickTime, startTime).
|
||||
wait kickTime.
|
||||
|
||||
print "Phase 3: Stable Prograde Boost.".
|
||||
lock STEERING to getClampedDir(minPitch).
|
||||
|
@ -33,3 +33,20 @@ function NoFuelResources {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function PreLaunchCrossfeed {
|
||||
parameter enable is true.
|
||||
|
||||
local eventName is "Disable Crossfeed".
|
||||
if enable {
|
||||
set eventName to "Enable Crossfeed".
|
||||
}
|
||||
|
||||
for part in SHIP:PartsTagged("prelaunch") {
|
||||
if part:MODULES:Find("ModuleToggleCrossfeed") = -1 {
|
||||
print "Prelaunch part does not have crossfeed module. skipping.".
|
||||
} else if part:GetModule("ModuleToggleCrossfeed"):ALLEVENTNAMES:Find(eventName) > -1 {
|
||||
part:GetModule("ModuleToggleCrossfeed"):DoEvent(eventName).
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user