tomte55

kOS TK

May 8th, 2017
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. //TK.ks
  2. //Hauling/Testing mission pilot
  3.  
  4. //Phase 1: Liftoff
  5. CLEARSCREEN.
  6. SET SHIP:CONTROL:PILOTMAINTHROTTLE TO 0.
  7.  
  8. RUN lib_pid.
  9.  
  10. SET myTh TO 0.
  11.  
  12. LOCK THROTTLE TO myTh.
  13.  
  14. SET TKPID TO PID_init( 0.05, 0.01, 0.1, 0, 1 ).
  15.  
  16. PARAMETER haul, minAlt, maxAlt, minSpd, maxSpd.
  17.  
  18. LOCAL haulboolean is FALSE.
  19.  
  20. IF haul = 1 {
  21. SET haulboolean TO TRUE.
  22. } ELSE {
  23. SET haulboolean TO FALSE.
  24. }
  25.  
  26. LOCAL tgtSpd is minSpd + maxSpd.
  27. SET tgtSpd to tgtSpd/2.
  28. PRINT "TARGET SPEED: " + tgtSpd.
  29. PRINT "TARGET ALTITUDE: " + minAlt.
  30. IF haulboolean = TRUE {
  31. PRINT "MISSION: HAUL".
  32. } ELSE {
  33. PRINT "MISSION: TEST".
  34. }
  35.  
  36.  
  37. LOCAL xPos IS 17.
  38. LOCAL zPos1 IS 15.
  39. LOCAL zPos2 IS zPos1 + 1.
  40. LOCAL zPos3 IS zPos1 + 2.
  41.  
  42. WHEN SHIP:ALTITUDE < minAlt THEN {
  43. PRINT "|---------------|" AT(xPos,zPos1).
  44. PRINT "|ALTITUDE: |" AT(xPos,zPos2).
  45. PRINT "|---------------|" AT(xPos,zPos3).
  46. PRINT ROUND(SHIP:ALTITUDE) AT(xPos+11,zPos2).
  47. PRESERVE.
  48. }
  49.  
  50. IF SAS {
  51. SAS OFF.
  52. }
  53.  
  54.  
  55. FUNCTION STG {
  56. STAGE.
  57. SET CSTG TO CSTG + 1.
  58. }
  59.  
  60. GLOBAL CSTG IS 0.
  61.  
  62.  
  63. PRINT "LAUNCHING".
  64.  
  65.  
  66.  
  67. LOCK STEERING TO UP.
  68.  
  69. IF CSTG = 0 AND ALT:RADAR < 500 {
  70. STG().
  71. }
  72.  
  73. WHEN ALT:RADAR > 50 THEN {
  74. GEAR OFF.
  75. }
  76.  
  77.  
  78. UNTIL ALT:RADAR > minAlt {
  79. SET myTh TO PID_seek( TKPID, tgtSpd, SHIP:VELOCITY:SURFACE:MAG ).
  80. }
  81.  
  82.  
  83. WHEN SHIP:ALTITUDE > minAlt AND SHIP:ALTITUDE < maxAlt AND SHIP:VELOCITY:SURFACE:MAG > minSpd AND SHIP:VELOCITY:SURFACE:MAG < maxSpd THEN {
  84. PRINT "MISSION REQUIRMENTS MET".
  85. LOCK THROTTLE TO 0.
  86. IF haul = 0 {
  87. STG().
  88. }
  89. LOCK THROTTLE TO 0.
  90. WAIT 0.
  91. REBOOT.
  92. }
  93.  
  94.  
  95.  
  96. WAIT UNTIL FALSE.
Add Comment
Please, Sign In to add comment