Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. String KSFSVersion = "KSFS.1";
  2. bool commandComplete = false;
  3. String command = "";
  4. String commandID = "";
  5. String commandData = "";
  6.  
  7. void setup()
  8. {
  9. Serial.begin(115200);
  10.  
  11. // Navigation
  12. pinMode(53,INPUT_PULLUP); // Maneuver
  13. pinMode(52,INPUT_PULLUP); // Kill Rotation
  14. pinMode(51,INPUT_PULLUP); // Retrograde
  15. pinMode(50,INPUT_PULLUP); // Prograde
  16. pinMode(49,INPUT_PULLUP); // Anti-normal
  17. pinMode(48,INPUT_PULLUP); // Normal
  18. pinMode(47,INPUT_PULLUP); // Radial Out
  19. pinMode(46,INPUT_PULLUP); // Radial In
  20. pinMode(45,INPUT_PULLUP); // Anti-target
  21. pinMode(44,INPUT_PULLUP); // Target
  22.  
  23. // Action Groups
  24. pinMode(31,INPUT_PULLUP); // AG01
  25. pinMode(29,INPUT_PULLUP); // AG02
  26. pinMode(28,INPUT_PULLUP); // AG03
  27. pinMode(27,INPUT_PULLUP); // AG04
  28.  
  29. // Utilities
  30. pinMode(43,INPUT_PULLUP); // Brakes
  31. pinMode(42,INPUT_PULLUP); // Gear
  32. pinMode(41,INPUT_PULLUP); // Lights
  33.  
  34. // SAS/RCS
  35. pinMode(40,INPUT_PULLUP); // SAS
  36. pinMode(39,INPUT_PULLUP); // RCS
  37. pinMode(38,OUTPUT); // SAS LED
  38. pinMode(37,OUTPUT); // SAS LED
  39.  
  40. // Stage
  41. pinMode(36,INPUT_PULLUP); // Stage
  42. pinMode(35,OUTPUT); // Stage LED
  43. pinMode(34,INPUT_PULLUP); // Stage Lock
  44.  
  45. // Abort
  46. pinMode(33,INPUT_PULLUP); // Abort
  47. pinMode(32,OUTPUT); // Abort LED
  48. pinMode(30,INPUT_PULLUP); // Abort Lock
  49.  
  50. // Translation
  51. pinMode(26,INPUT_PULLUP); // Translation Down
  52. pinMode(25,INPUT_PULLUP); // Translation Up
  53. pinMode(24,INPUT_PULLUP); // Translation Back
  54. pinMode(23,INPUT_PULLUP); // Translation Forward
  55. pinMode(22,INPUT_PULLUP); // Translation Right
  56. pinMode(21,INPUT_PULLUP); // Translation Left
  57.  
  58. // Throttle
  59. pinMode(20,INPUT_PULLUP); // Throttle Full/Max
  60. pinMode(19,INPUT_PULLUP); // Throttle Cut
  61.  
  62. //Data
  63. pinMode(18,INPUT_PULLUP); // Connect
  64. pinMode(17,INPUT_PULLUP); // Connect LED
  65. }
  66.  
  67. bool CONN = false;
  68.  
  69. void internals()
  70. {
  71. if(CONN){
  72. digitalWrite(38,HIGH);
  73. }else{
  74. digitalWrite(38,LOW);
  75. }
  76. //if(digitalRead(40) == 0){digitalWrite(38,HIGH);}else{digitalWrite(38,LOW);} // SAS LED
  77. if(digitalRead(39) == 0){digitalWrite(37,HIGH);}else{digitalWrite(37,LOW);} // RCS LED
  78. if(digitalRead(34) == 0){digitalWrite(35,HIGH);}else{digitalWrite(35,LOW);} // Stage Lock LED
  79. if(digitalRead(30) == 0){digitalWrite(32,HIGH);}else{digitalWrite(32,LOW);} // Abort Lock LED
  80. }
  81.  
  82. void serialOut()
  83. {
  84. Serial.print("MANU"+String(digitalRead(53))+";");
  85. Serial.print("KLRT"+String(digitalRead(52))+";");
  86. Serial.print("RGRD"+String(digitalRead(51))+";");
  87. Serial.print("PGRD"+String(digitalRead(50))+";");
  88. Serial.print("ANRM"+String(digitalRead(49))+";");
  89. Serial.print("NORM"+String(digitalRead(48))+";");
  90. Serial.print("ROUT"+String(digitalRead(47))+";");
  91. Serial.print("RAIN"+String(digitalRead(46))+";");
  92. Serial.print("ATRG"+String(digitalRead(45))+";");
  93. Serial.print("TRGT"+String(digitalRead(44))+";");
  94.  
  95. Serial.print("AG01"+String(digitalRead(31))+";");
  96. Serial.print("AG02"+String(digitalRead(29))+";");
  97. Serial.print("AG03"+String(digitalRead(28))+";");
  98. Serial.print("AG04"+String(digitalRead(27))+";");
  99.  
  100. Serial.print("BRKS"+String(!digitalRead(43))+";");
  101. Serial.print("GEAR"+String(!digitalRead(42))+";");
  102. Serial.print("LITE"+String(!digitalRead(41))+";");
  103.  
  104. Serial.print("SASS"+String(!digitalRead(40))+";");
  105. Serial.print("RCSS"+String(!digitalRead(39))+";");
  106.  
  107. if(digitalRead(34) == 0){Serial.print("STAG"+String(digitalRead(36))+";");}else{Serial.print("STAG0;");}
  108. if(digitalRead(30) == 0){Serial.print("ABRT"+String(digitalRead(33))+";");}else{Serial.print("ABRT0;");}
  109.  
  110. Serial.print("TDWN"+String(digitalRead(26))+";");
  111. Serial.print("TUPP"+String(digitalRead(25))+";");
  112. Serial.print("TBCK"+String(digitalRead(24))+";");
  113. Serial.print("TFWD"+String(digitalRead(23))+";");
  114. Serial.print("TRIT"+String(digitalRead(22))+";");
  115. Serial.print("TLFT"+String(digitalRead(21))+";");
  116.  
  117. Serial.print("THFU"+String(digitalRead(20))+";");
  118. Serial.print("THCT"+String(digitalRead(19))+";");
  119.  
  120. Serial.print("CONN"+String(digitalRead(18))+";");
  121.  
  122. internals();
  123. }
  124.  
  125. void loop()
  126. {
  127.  
  128. if(commandComplete){
  129.  
  130. commandComplete = false;
  131.  
  132. if(command.length() > 0)
  133. {
  134. if(command.equals("C1NN"))
  135. {
  136. CONN = true;
  137. }
  138. else if(command.equals("C0NN"))
  139. {
  140. CONN = false;
  141. }
  142. }
  143.  
  144. command = "";
  145.  
  146. }
  147.  
  148. Serial.print(KSFSVersion + ";");
  149. serialOut();
  150.  
  151. }
  152.  
  153. void serialEvent()
  154. {
  155. while(Serial.available())
  156. {
  157. char data = (char)Serial.read();
  158. if(data == ';')
  159. {
  160. commandComplete = true;
  161. }
  162. else if(data != '?')
  163. {
  164. command += data;
  165. }
  166. }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement