Advertisement
HvrdlS

IFT-3 COAST(PEZ DOOR, PROP TRANSFER)

Jul 8th, 2024
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.16 KB | None | 0 0
  1. clearscreen.
  2. lock testtime to time:seconds - now.
  3. set teststatus to "SECO-1, dumping fuel, starting experiments, T+: " + round(testtime,1) + " Seconds".
  4. coast().
  5.  
  6. function coast {
  7. rcs off.
  8. set fte to ship:partstagged("fte")[0].
  9. set door to ship:partstagged("door")[0].
  10. fte:getmodule("ModuleResourceDrain"):doaction("слить",true).
  11. ag6 off.
  12. set hts to ship:partsnamed("externalTankRound").
  13. set mts to ship:partsdubbed("mts")[0].
  14. set mts1 to mts:resources[0].
  15. set mts2 to mts:resources[1].
  16. set rs1 to hts[0].
  17. set rs2 to hts[1].
  18. set rs3 to rs1:resources.
  19. set rs4 to rs2:resources.
  20. set rs5 to rs3[0].
  21. set rs6 to rs3[1].
  22. set rs7 to rs4[0].
  23. set rs8 to rs4[1].
  24. set ship:control:pilotmainthrottle to 0.
  25. unlock throttle.
  26. unlock steering.
  27. when mts1:amount <= 30 and mts2:amount <= 30 then {
  28. fte:getmodule("ModuleResourceDrain"):doaction("остановить слив",true).
  29. ag6 on.
  30. }
  31.  
  32. set n to time:seconds.
  33. lock ti1 to time:seconds - n.
  34. until ti1 > 1 {
  35. printing().
  36. }
  37.  
  38. set teststatus to "Awaiting for fuel to dump and PEZ door to open, T+: " + round(testtime,1) + " Seconds".
  39. set n to time:seconds + 80.
  40. lock ti1 to n - time:seconds.
  41. until ti1 <= 0 {
  42. printing().
  43. printingtransfer().
  44. print "TIme to PEZ door open: " + ti1 + " Seconds".
  45. }
  46.  
  47. set teststatus to "PEZ door opening, T+: " + round(testtime,1) + " Seconds".
  48. door:getmodule("ModuleAnimateGeneric"):doevent("открыть").
  49. until mts1:amount <= 30 and mts2:amount <= 30 {
  50. printing().
  51. wait 0.1.
  52. printingtransfer().
  53. }
  54.  
  55. set teststatus to "Fuel dumping has been completed, trying fuel transfer between header tanks to main tank, T+: " + round(testtime,1) + " Seconds".
  56. fueltransfer().
  57. until altit < 112000 {
  58. printing().
  59. }
  60.  
  61. door:getmodule("ModuleAnimateGeneric"):doevent("закрыть").
  62. set teststatus to "PEZ door has been closed, awaiting for reentry, T+: " + round(testtime,1) + " Seconds".
  63. }
  64.  
  65.  
  66. function fueltransfer {
  67. set rs5:enabled to true.
  68. set rs6:enabled to true.
  69. set rs7:enabled to true.
  70. set rs8:enabled to true.
  71. set transferox1 to transferall("oxidizer", rs1, mts).
  72. set transferox2 to transferall("oxidizer", rs2, mts).
  73. set transferfuel1 to transferall("liquidfuel", rs1, mts).
  74. set transferfuel2 to transferall("liquidfuel", rs2, mts).
  75. set transferox1:active to true.
  76. set transferox2:active to true.
  77. set transferfuel1:active to true.
  78. set transferox2:active to true.
  79. until rs5:amount = 0 and rs6:amount = 0 and rs7:amount = 0 and rs8:amount = 0 {
  80. printing().
  81. wait 0.1.
  82. printingtransfer().
  83. }
  84.  
  85. set teststatus to "Transfer compelte, transfering back, T+: " + round(testtime,1) + " Seconds".
  86. set transferox1 to transferall("oxidizer", mts, rs1).
  87. set transferox2 to transferall("oxidizer", mts, rs2).
  88. set transferfuel1 to transferall("liquidfuel", mts, rs1).
  89. set transferfuel2 to transferall("liquidfuel", mts, rs2).
  90. set transferox1:active to true.
  91. set transferox2:active to true.
  92. set transferfuel1:active to true.
  93. set transferox2:active to true.
  94. until rs5:amount = rs5:capacity and rs6:amount = rs6:capacity and rs7:amount = rs7:capacity and rs8:amount = rs8:capacity {
  95. printing().
  96. wait 0.1.
  97. printingtransfer().
  98. }
  99.  
  100. set teststatus to "Transfer back complete, awaiting for PEZ door to close, T+: " + round(testtime,1) + " Seconds".
  101. }
  102.  
  103.  
  104. function printingtransfer {
  105. print "Header tank 1 fuel: " + rs5:amount.
  106. print "Header tank 1 oxidizer: " + rs6:amount.
  107. print "Header tank 2 fuel: " + rs7:amount.
  108. print "Header tank 2 oxidizer: " + rs8:amount.
  109. print "Main tank fuel: " + mts1:amount.
  110. print "Main tank oxidizer: " + mts2:amount.
  111. }
  112.  
  113.  
  114. function printing {
  115. clearscreen.
  116. set altit to alt:radar-h.
  117. print "Status: " + teststatus.
  118. print "T+: " + round(testtime,1) + " Seconds".
  119. print "Time(KSC): " + time:clock.
  120. print "Press 10 to abort program".
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement