2021-07-21 09:24:46 +00:00
|
|
|
runoncepath("/lib/navigation").
|
|
|
|
|
2021-07-18 23:32:45 +00:00
|
|
|
function launchButtonPressed {
|
2021-07-21 09:24:46 +00:00
|
|
|
// adjust torque settings here...
|
|
|
|
local oldEpsilon is STEERINGMANAGER:TORQUEEPSILONMAX.
|
|
|
|
set STEERINGMANAGER:TORQUEEPSILONMAX to maxEpsilon:TEXT:ToNumber().
|
|
|
|
|
|
|
|
local oldStopTime is STEERINGMANAGER:MAXSTOPPINGTIME.
|
|
|
|
set STEERINGMANAGER:MAXSTOPPINGTIME to maxStopTime:TEXT:ToNumber().
|
|
|
|
|
2021-07-19 07:43:07 +00:00
|
|
|
run "launch"(
|
|
|
|
targetApo:TEXT:ToNumber(),
|
|
|
|
gravTurnStart:TEXT:ToNumber(),
|
2021-07-19 08:46:05 +00:00
|
|
|
gravPitch:TEXT:ToNumber(),
|
|
|
|
initialPitch:TEXT:ToNumber(),
|
|
|
|
minimumPitch:TEXT:ToNumber()
|
2021-07-19 04:54:32 +00:00
|
|
|
).
|
2021-07-21 09:24:46 +00:00
|
|
|
|
|
|
|
set STEERINGMANAGER:TORQUEEPSILONMAX to oldEpsilon.
|
|
|
|
set STEERINGMANAGER:MAXSTOPPINGTIME to oldStopTime..
|
2021-07-18 23:32:45 +00:00
|
|
|
}
|
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
function executeNode {
|
2021-07-19 08:46:05 +00:00
|
|
|
run "execnode".
|
2021-07-19 07:43:07 +00:00
|
|
|
}
|
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
function showLaunchMenu {
|
|
|
|
stk:ShowOnly(launchMenu).
|
2021-07-20 01:36:04 +00:00
|
|
|
}
|
|
|
|
|
2021-07-19 08:46:05 +00:00
|
|
|
// Main UI.
|
2021-07-21 09:24:46 +00:00
|
|
|
local interface is gui(250, 300).
|
2021-07-19 07:43:07 +00:00
|
|
|
set interface:X to 200.
|
2021-07-21 09:24:46 +00:00
|
|
|
set interface:Y to 700.
|
2021-07-18 23:32:45 +00:00
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
// Main menu elements in here.
|
|
|
|
local box is interface:AddVBox().
|
2021-07-19 04:54:32 +00:00
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
local btn is box:AddButton("TERM").
|
|
|
|
set btn:TOGGLE to true.
|
|
|
|
set btn:ONTOGGLE to {
|
|
|
|
parameter activate.
|
2021-07-19 08:46:05 +00:00
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
if activate {
|
|
|
|
CORE:PART:GETMODULE("kOSProcessor"):DOEVENT("Open Terminal").
|
|
|
|
} else {
|
|
|
|
CORE:PART:GETMODULE("kOSProcessor"):DOEVENT("Close Terminal").
|
|
|
|
}
|
|
|
|
}.
|
2021-07-19 04:54:32 +00:00
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
set btn to box:AddButton("LAUNCH").
|
|
|
|
set btn:onClick to showLaunchMenu@.
|
2021-07-19 04:54:32 +00:00
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
set btn to box:AddButton("CIRC").
|
|
|
|
set btn:onClick to { add CreateCircularizationNode(). }.
|
2021-07-19 04:54:32 +00:00
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
set btn to box:AddButton("EXECNODE").
|
|
|
|
set btn:onClick to executeNode@.
|
2021-07-19 04:54:32 +00:00
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
local stk is interface:AddStack().
|
2021-07-19 07:43:07 +00:00
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
// Launch menu
|
|
|
|
local launchMenu is stk:AddVLayout().
|
2021-07-20 01:36:04 +00:00
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
set btn to launchMenu:AddButton("Execute").
|
|
|
|
set btn:onClick to launchButtonPressed@.
|
|
|
|
|
|
|
|
local launchConfig is box:AddScrollBox().
|
|
|
|
// set launchConfig:STYLE:WIDTH to 300.
|
|
|
|
// set launchConfig:STYLE:HEIGHT to 800.
|
|
|
|
|
|
|
|
set sbox to launchConfig:AddHBox().
|
|
|
|
sbox:AddLabel("Target Apoapsis").
|
|
|
|
local targetApo is sbox:AddTextField("80000").
|
|
|
|
|
|
|
|
set sbox to launchConfig:AddHBox().
|
|
|
|
sbox:AddLabel("Atmo TWR").
|
|
|
|
local targetTWR is sbox:AddTextField("1.6").
|
|
|
|
|
|
|
|
set sbox to launchConfig:AddHBox().
|
|
|
|
sbox:AddLabel("Initial Pitch").
|
|
|
|
local initialPitch is sBox:AddTextField("85").
|
|
|
|
|
|
|
|
set sbox to launchConfig:AddHBox().
|
|
|
|
sbox:AddLabel("Minimum Pitch").
|
|
|
|
local minimumPitch is sbox:AddTextField("5").
|
|
|
|
|
|
|
|
set sbox to launchConfig:AddHBox().
|
|
|
|
sbox:AddLabel("Gravity Turn Alt").
|
|
|
|
local gravTurnStart is sbox:AddTextField("8000").
|
|
|
|
|
|
|
|
set sbox to launchConfig:AddHBox().
|
|
|
|
sbox:AddLabel("Gravity Turn Pitch").
|
|
|
|
local gravPitch is sbox:AddTextField("75").
|
|
|
|
|
|
|
|
launchConfig:AddSpacing(5).
|
|
|
|
|
|
|
|
set sbox to launchConfig:AddHBox().
|
|
|
|
sbox:AddLabel("Torque Epsilon Max").
|
|
|
|
local maxEpsilon is sbox:AddTextField("0.001").
|
|
|
|
|
|
|
|
set sbox to launchConfig:AddHBox().
|
|
|
|
sbox:AddLabel("Max Stopping Time").
|
|
|
|
local maxStopTime is sbox:AddTextField("2.0").
|
|
|
|
|
|
|
|
// End Launch Menu
|
2021-07-20 06:38:29 +00:00
|
|
|
|
2021-07-18 23:32:45 +00:00
|
|
|
interface:show().
|
|
|
|
|
2021-07-21 09:24:46 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2021-07-18 23:32:45 +00:00
|
|
|
wait until false.
|