cosmos 4.5.2 → 5.0.2.pre.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1891) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +14 -7
  3. data/Guardfile +14 -6
  4. data/LICENSE.txt +79 -265
  5. data/README.md +37 -120
  6. data/Rakefile +29 -242
  7. data/bin/cosmos +309 -229
  8. data/bin/cstol_converter +202 -190
  9. data/bin/rubysloc +19 -10
  10. data/bin/xtce_converter +12 -3
  11. data/data/config/_params.yaml +6 -4
  12. data/data/config/cmd_tlm_server.yaml +4 -4
  13. data/data/config/command.yaml +11 -7
  14. data/data/config/command_modifiers.yaml +4 -4
  15. data/data/config/interface_modifiers.yaml +23 -16
  16. data/data/config/item_modifiers.yaml +3 -3
  17. data/data/config/microservice.yaml +66 -0
  18. data/data/config/parameter_modifiers.yaml +3 -3
  19. data/data/config/plugins.yaml +217 -0
  20. data/data/config/screen.yaml +4 -10
  21. data/data/config/table_manager.yaml +15 -9
  22. data/data/config/target.yaml +68 -88
  23. data/data/config/target_config.yaml +94 -0
  24. data/data/config/telemetry.yaml +16 -9
  25. data/data/config/tool.yaml +57 -0
  26. data/data/config/widgets.yaml +478 -475
  27. data/ext/cosmos/ext/array/array.c +16 -7
  28. data/ext/cosmos/ext/array/extconf.rb +1 -1
  29. data/ext/cosmos/ext/buffered_file/buffered_file.c +63 -34
  30. data/ext/cosmos/ext/buffered_file/extconf.rb +1 -1
  31. data/ext/cosmos/ext/config_parser/config_parser.c +77 -35
  32. data/ext/cosmos/ext/config_parser/extconf.rb +1 -1
  33. data/ext/cosmos/ext/cosmos_io/cosmos_io.c +75 -64
  34. data/ext/cosmos/ext/cosmos_io/extconf.rb +1 -1
  35. data/ext/cosmos/ext/crc/crc.c +117 -109
  36. data/ext/cosmos/ext/crc/extconf.rb +2 -2
  37. data/ext/cosmos/ext/packet/extconf.rb +1 -1
  38. data/ext/cosmos/ext/packet/packet.c +113 -70
  39. data/ext/cosmos/ext/platform/extconf.rb +1 -1
  40. data/ext/cosmos/ext/platform/platform.c +85 -88
  41. data/ext/cosmos/ext/polynomial_conversion/extconf.rb +1 -1
  42. data/ext/cosmos/ext/polynomial_conversion/polynomial_conversion.c +13 -5
  43. data/ext/cosmos/ext/string/extconf.rb +1 -1
  44. data/ext/cosmos/ext/string/string.c +20 -8
  45. data/ext/cosmos/ext/structure/structure.c +612 -388
  46. data/ext/cosmos/ext/tabbed_plots_config/extconf.rb +1 -1
  47. data/ext/cosmos/ext/tabbed_plots_config/tabbed_plots_config.c +13 -4
  48. data/ext/cosmos/ext/telemetry/extconf.rb +1 -1
  49. data/ext/cosmos/ext/telemetry/telemetry.c +75 -48
  50. data/ext/mkrf_conf.rb +13 -4
  51. data/lib/cosmos/api/api.rb +63 -0
  52. data/lib/cosmos/api/authorized_api.rb +30 -0
  53. data/lib/cosmos/api/cmd_api.rb +444 -0
  54. data/lib/cosmos/api/config_api.rb +52 -0
  55. data/lib/cosmos/api/interface_api.rb +117 -0
  56. data/lib/cosmos/api/limits_api.rb +375 -0
  57. data/lib/cosmos/api/router_api.rb +117 -0
  58. data/lib/cosmos/api/settings_api.rb +58 -0
  59. data/lib/cosmos/api/target_api.rb +78 -0
  60. data/lib/cosmos/api/tlm_api.rb +435 -0
  61. data/lib/cosmos/bridge/bridge.rb +54 -0
  62. data/lib/cosmos/bridge/bridge_config.rb +167 -0
  63. data/lib/cosmos/bridge/bridge_interface_thread.rb +42 -0
  64. data/lib/cosmos/bridge/bridge_router_thread.rb +42 -0
  65. data/lib/cosmos/ccsds/ccsds_packet.rb +11 -6
  66. data/lib/cosmos/ccsds/ccsds_parser.rb +11 -6
  67. data/lib/cosmos/config/config_parser.rb +63 -17
  68. data/lib/cosmos/config/meta_config_parser.rb +25 -8
  69. data/lib/cosmos/conversions/conversion.rb +15 -2
  70. data/lib/cosmos/conversions/generic_conversion.rb +15 -5
  71. data/lib/cosmos/conversions/packet_time_formatted_conversion.rb +11 -6
  72. data/lib/cosmos/conversions/packet_time_seconds_conversion.rb +11 -6
  73. data/lib/cosmos/conversions/polynomial_conversion.rb +14 -5
  74. data/lib/cosmos/conversions/processor_conversion.rb +14 -5
  75. data/lib/cosmos/conversions/received_count_conversion.rb +11 -6
  76. data/lib/cosmos/conversions/received_time_formatted_conversion.rb +11 -6
  77. data/lib/cosmos/conversions/received_time_seconds_conversion.rb +11 -6
  78. data/lib/cosmos/conversions/segmented_polynomial_conversion.rb +19 -6
  79. data/lib/cosmos/conversions/unix_time_conversion.rb +14 -5
  80. data/lib/cosmos/conversions/unix_time_formatted_conversion.rb +11 -6
  81. data/lib/cosmos/conversions/unix_time_seconds_conversion.rb +11 -6
  82. data/lib/cosmos/conversions.rb +32 -13
  83. data/lib/cosmos/core_ext/array.rb +33 -14
  84. data/lib/cosmos/core_ext/binding.rb +29 -0
  85. data/lib/cosmos/core_ext/class.rb +11 -2
  86. data/lib/cosmos/core_ext/cosmos_io.rb +14 -3
  87. data/lib/cosmos/core_ext/exception.rb +11 -2
  88. data/lib/cosmos/core_ext/file.rb +18 -11
  89. data/lib/cosmos/core_ext/hash.rb +11 -2
  90. data/lib/cosmos/core_ext/io.rb +26 -14
  91. data/lib/cosmos/core_ext/kernel.rb +12 -3
  92. data/lib/cosmos/core_ext/math.rb +11 -2
  93. data/lib/cosmos/core_ext/matrix.rb +29 -22
  94. data/lib/cosmos/core_ext/objectspace.rb +11 -2
  95. data/lib/cosmos/core_ext/range.rb +12 -3
  96. data/lib/cosmos/core_ext/socket.rb +14 -8
  97. data/lib/cosmos/core_ext/string.rb +49 -11
  98. data/lib/cosmos/core_ext/stringio.rb +11 -2
  99. data/lib/cosmos/core_ext/time.rb +34 -9
  100. data/lib/cosmos/core_ext.rb +18 -0
  101. data/lib/cosmos/interfaces/interface.rb +70 -28
  102. data/lib/cosmos/interfaces/linc_interface.rb +25 -9
  103. data/lib/cosmos/interfaces/protocols/burst_protocol.rb +17 -8
  104. data/lib/cosmos/interfaces/protocols/crc_protocol.rb +13 -3
  105. data/lib/cosmos/interfaces/protocols/fixed_protocol.rb +19 -8
  106. data/lib/cosmos/interfaces/protocols/ignore_packet_protocol.rb +12 -2
  107. data/lib/cosmos/interfaces/protocols/length_protocol.rb +14 -3
  108. data/lib/cosmos/interfaces/protocols/override_protocol.rb +11 -3
  109. data/lib/cosmos/interfaces/protocols/preidentified_protocol.rb +26 -7
  110. data/lib/cosmos/interfaces/protocols/protocol.rb +12 -3
  111. data/lib/cosmos/interfaces/protocols/template_protocol.rb +17 -9
  112. data/lib/cosmos/interfaces/protocols/terminated_protocol.rb +12 -2
  113. data/lib/cosmos/interfaces/serial_interface.rb +12 -9
  114. data/lib/cosmos/interfaces/simulated_target_interface.rb +20 -5
  115. data/lib/cosmos/interfaces/stream_interface.rb +21 -5
  116. data/lib/cosmos/interfaces/tcpip_client_interface.rb +13 -4
  117. data/lib/cosmos/interfaces/tcpip_server_interface.rb +108 -103
  118. data/lib/cosmos/interfaces/udp_interface.rb +21 -6
  119. data/lib/cosmos/interfaces.rb +40 -20
  120. data/lib/cosmos/io/buffered_file.rb +12 -3
  121. data/lib/cosmos/io/cosmos_snmp.rb +17 -9
  122. data/lib/cosmos/io/io_multiplexer.rb +11 -6
  123. data/lib/cosmos/io/json_api_object.rb +210 -0
  124. data/lib/cosmos/io/json_drb.rb +93 -69
  125. data/lib/cosmos/io/json_drb_object.rb +62 -119
  126. data/lib/cosmos/io/json_drb_rack.rb +31 -46
  127. data/lib/cosmos/io/json_rpc.rb +53 -27
  128. data/lib/cosmos/io/posix_serial_driver.rb +34 -65
  129. data/lib/cosmos/io/raw_logger.rb +23 -26
  130. data/lib/cosmos/io/raw_logger_pair.rb +20 -14
  131. data/lib/cosmos/io/serial_driver.rb +19 -15
  132. data/lib/cosmos/io/stderr.rb +11 -4
  133. data/lib/cosmos/io/stdout.rb +11 -4
  134. data/lib/cosmos/io/udp_sockets.rb +28 -30
  135. data/lib/cosmos/io/win32_serial_driver.rb +23 -14
  136. data/lib/cosmos/logs/log_writer.rb +253 -0
  137. data/lib/cosmos/logs/packet_log_constants.rb +62 -0
  138. data/lib/cosmos/logs/packet_log_reader.rb +345 -0
  139. data/lib/cosmos/logs/packet_log_writer.rb +299 -0
  140. data/lib/cosmos/logs/text_log_writer.rb +68 -0
  141. data/lib/cosmos/logs.rb +25 -0
  142. data/lib/cosmos/microservices/cleanup_microservice.rb +69 -0
  143. data/lib/cosmos/microservices/decom_microservice.rb +135 -0
  144. data/lib/cosmos/microservices/interface_microservice.rb +547 -0
  145. data/lib/cosmos/microservices/log_microservice.rb +108 -0
  146. data/lib/cosmos/microservices/microservice.rb +204 -0
  147. data/lib/cosmos/microservices/plugin_microservice.rb +43 -0
  148. data/lib/cosmos/microservices/reaction_microservice.rb +541 -0
  149. data/lib/cosmos/microservices/reducer_microservice.rb +311 -0
  150. data/lib/cosmos/microservices/router_microservice.rb +44 -0
  151. data/lib/cosmos/microservices/text_log_microservice.rb +84 -0
  152. data/lib/cosmos/microservices/timeline_microservice.rb +363 -0
  153. data/lib/cosmos/microservices/trigger_group_microservice.rb +638 -0
  154. data/lib/cosmos/models/activity_model.rb +319 -0
  155. data/lib/cosmos/models/auth_model.rb +65 -0
  156. data/lib/cosmos/models/cvt_model.rb +185 -0
  157. data/lib/cosmos/models/environment_model.rb +58 -0
  158. data/lib/cosmos/models/gem_model.rb +131 -0
  159. data/lib/cosmos/models/info_model.rb +31 -0
  160. data/lib/cosmos/models/interface_model.rb +272 -0
  161. data/lib/cosmos/models/interface_status_model.rb +117 -0
  162. data/lib/cosmos/models/metadata_model.rb +289 -0
  163. data/lib/cosmos/models/metric_model.rb +59 -0
  164. data/lib/cosmos/models/microservice_model.rb +203 -0
  165. data/lib/cosmos/models/microservice_status_model.rb +74 -0
  166. data/lib/cosmos/models/model.rb +189 -0
  167. data/lib/cosmos/models/narrative_model.rb +280 -0
  168. data/lib/cosmos/models/notification_model.rb +40 -0
  169. data/lib/cosmos/models/ping_model.rb +34 -0
  170. data/lib/cosmos/models/plugin_model.rb +224 -0
  171. data/lib/cosmos/models/process_status_model.rb +76 -0
  172. data/lib/cosmos/models/reaction_model.rb +322 -0
  173. data/lib/cosmos/models/reducer_model.rb +65 -0
  174. data/lib/cosmos/models/router_model.rb +35 -0
  175. data/lib/cosmos/models/router_status_model.rb +27 -0
  176. data/lib/cosmos/models/scope_model.rb +168 -0
  177. data/lib/cosmos/models/target_model.rb +632 -0
  178. data/lib/cosmos/models/timeline_model.rb +154 -0
  179. data/lib/cosmos/models/tool_model.rb +262 -0
  180. data/lib/cosmos/models/trigger_group_model.rb +186 -0
  181. data/lib/cosmos/models/trigger_model.rb +330 -0
  182. data/lib/cosmos/models/widget_model.rb +138 -0
  183. data/lib/cosmos/operators/microservice_operator.rb +127 -0
  184. data/lib/cosmos/operators/operator.rb +278 -0
  185. data/lib/cosmos/packets/binary_accessor.rb +36 -30
  186. data/lib/cosmos/packets/commands.rb +24 -12
  187. data/lib/cosmos/packets/json_packet.rb +134 -0
  188. data/lib/cosmos/packets/limits.rb +22 -15
  189. data/lib/cosmos/packets/limits_response.rb +15 -4
  190. data/lib/cosmos/packets/packet.rb +103 -33
  191. data/lib/cosmos/packets/packet_config.rb +40 -29
  192. data/lib/cosmos/packets/packet_item.rb +93 -6
  193. data/lib/cosmos/packets/packet_item_limits.rb +28 -6
  194. data/lib/cosmos/packets/parsers/format_string_parser.rb +11 -4
  195. data/lib/cosmos/packets/parsers/limits_parser.rb +18 -6
  196. data/lib/cosmos/packets/parsers/limits_response_parser.rb +13 -4
  197. data/lib/cosmos/packets/parsers/packet_item_parser.rb +36 -16
  198. data/lib/cosmos/packets/parsers/packet_parser.rb +15 -5
  199. data/lib/cosmos/packets/parsers/processor_parser.rb +14 -4
  200. data/lib/cosmos/packets/parsers/state_parser.rb +13 -4
  201. data/lib/cosmos/packets/parsers/xtce_converter.rb +20 -6
  202. data/lib/cosmos/packets/parsers/xtce_parser.rb +41 -13
  203. data/lib/cosmos/packets/structure.rb +33 -25
  204. data/lib/cosmos/packets/structure_item.rb +38 -8
  205. data/lib/cosmos/packets/telemetry.rb +27 -10
  206. data/lib/cosmos/processors/processor.rb +15 -5
  207. data/lib/cosmos/processors/statistics_processor.rb +15 -5
  208. data/lib/cosmos/processors/watermark_processor.rb +14 -5
  209. data/lib/cosmos/processors.rb +22 -4
  210. data/lib/cosmos/script/api_shared.rb +315 -516
  211. data/lib/cosmos/script/calendar.rb +62 -0
  212. data/lib/cosmos/script/commands.rb +95 -55
  213. data/lib/cosmos/script/exceptions.rb +29 -0
  214. data/lib/cosmos/script/extract.rb +37 -17
  215. data/lib/cosmos/script/limits.rb +21 -82
  216. data/lib/cosmos/script/script.rb +212 -103
  217. data/lib/cosmos/script/storage.rb +159 -0
  218. data/lib/cosmos/script/suite.rb +542 -0
  219. data/lib/cosmos/script/suite_results.rb +196 -0
  220. data/lib/cosmos/script/suite_runner.rb +217 -0
  221. data/lib/cosmos/script.rb +16 -4
  222. data/lib/cosmos/streams/serial_stream.rb +20 -13
  223. data/lib/cosmos/streams/stream.rb +11 -2
  224. data/lib/cosmos/streams/tcpip_client_stream.rb +28 -25
  225. data/lib/cosmos/streams/tcpip_socket_stream.rb +14 -5
  226. data/lib/cosmos/system/system.rb +80 -983
  227. data/lib/cosmos/system/system_config.rb +411 -0
  228. data/lib/cosmos/system/target.rb +73 -66
  229. data/lib/cosmos/system.rb +22 -2
  230. data/lib/cosmos/tools/cmd_tlm_server/api.rb +12 -1686
  231. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +240 -214
  232. data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +43 -41
  233. data/lib/cosmos/tools/table_manager/table.rb +30 -14
  234. data/lib/cosmos/tools/table_manager/table_config.rb +110 -43
  235. data/lib/cosmos/tools/table_manager/table_item.rb +39 -7
  236. data/lib/cosmos/tools/table_manager/table_item_parser.rb +27 -9
  237. data/lib/cosmos/tools/table_manager/table_manager_core.rb +159 -50
  238. data/lib/cosmos/tools/table_manager/table_parser.rb +28 -10
  239. data/lib/cosmos/tools/test_runner/test.rb +57 -530
  240. data/lib/cosmos/top_level.rb +212 -474
  241. data/lib/cosmos/topics/autonomic_topic.rb +52 -0
  242. data/lib/cosmos/topics/calendar_topic.rb +44 -0
  243. data/lib/cosmos/topics/command_decom_topic.rb +42 -0
  244. data/lib/cosmos/topics/command_topic.rb +81 -0
  245. data/lib/cosmos/topics/interface_topic.rb +73 -0
  246. data/lib/cosmos/topics/limits_event_topic.rb +105 -0
  247. data/lib/cosmos/topics/notifications_topic.rb +28 -0
  248. data/lib/cosmos/topics/router_topic.rb +85 -0
  249. data/lib/cosmos/topics/telemetry_decom_topic.rb +47 -0
  250. data/lib/cosmos/topics/telemetry_topic.rb +36 -0
  251. data/lib/cosmos/topics/timeline_topic.rb +45 -0
  252. data/lib/cosmos/topics/topic.rb +38 -0
  253. data/lib/cosmos/utilities/authentication.rb +141 -0
  254. data/lib/cosmos/utilities/authorization.rb +51 -0
  255. data/lib/cosmos/utilities/crc.rb +24 -17
  256. data/lib/cosmos/utilities/csv.rb +22 -59
  257. data/lib/cosmos/utilities/logger.rb +101 -52
  258. data/lib/cosmos/utilities/message_log.rb +31 -20
  259. data/lib/cosmos/utilities/metric.rb +135 -0
  260. data/lib/cosmos/utilities/process_manager.rb +139 -0
  261. data/lib/cosmos/utilities/quaternion.rb +34 -35
  262. data/lib/cosmos/utilities/ruby_lex_utils.rb +493 -237
  263. data/lib/cosmos/utilities/s3.rb +141 -0
  264. data/lib/cosmos/utilities/s3_autoload.rb +9 -0
  265. data/lib/cosmos/utilities/s3_file_cache.rb +268 -0
  266. data/lib/cosmos/utilities/simulated_target.rb +12 -3
  267. data/lib/cosmos/utilities/sleeper.rb +11 -4
  268. data/lib/cosmos/utilities/store.rb +22 -0
  269. data/lib/cosmos/utilities/store_autoload.rb +346 -0
  270. data/lib/cosmos/utilities/zip.rb +21 -0
  271. data/lib/cosmos/utilities.rb +33 -9
  272. data/lib/cosmos/version.rb +6 -5
  273. data/lib/cosmos/win32/excel.rb +11 -2
  274. data/lib/cosmos/win32/win32.rb +47 -26
  275. data/lib/cosmos/win32/win32_main.rb +26 -18
  276. data/lib/cosmos.rb +19 -33
  277. data/lib/cosmosc2.rb +20 -0
  278. data/tasks/gemfile_stats.rake +19 -9
  279. data/tasks/spec.rake +12 -5
  280. data/templates/plugin-template/README.md +15 -0
  281. data/templates/plugin-template/Rakefile +12 -0
  282. data/templates/plugin-template/plugin.gemspec +25 -0
  283. data/templates/plugin-template/plugin.txt +9 -0
  284. data/templates/plugin-template/targets/TARGET/cmd_tlm/cmd.txt +8 -0
  285. data/templates/plugin-template/targets/TARGET/cmd_tlm/tlm.txt +8 -0
  286. data/templates/plugin-template/targets/TARGET/lib/target.rb +10 -0
  287. data/templates/plugin-template/targets/TARGET/procedures/procedure.rb +3 -0
  288. data/templates/plugin-template/targets/TARGET/screens/status.txt +9 -0
  289. data/templates/plugin-template/targets/TARGET/target.txt +5 -0
  290. metadata +264 -1741
  291. data/.dockerignore +0 -2
  292. data/.gitattributes +0 -3
  293. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  294. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
  295. data/.github/ISSUE_TEMPLATE/help---usage---general-question.md +0 -12
  296. data/.github/workflows/build_v4.yml +0 -33
  297. data/.gitignore +0 -50
  298. data/.rubocop.yml +0 -23
  299. data/.yardopts +0 -4
  300. data/CONTRIBUTING.txt +0 -50
  301. data/Dockerfile +0 -71
  302. data/Manifest.txt +0 -1790
  303. data/appveyor.yml +0 -32
  304. data/autohotkey/config/data/attitude.bin +0 -0
  305. data/autohotkey/config/data/diamond.STL +0 -58
  306. data/autohotkey/config/data/groundoff.gif +0 -0
  307. data/autohotkey/config/data/groundon.gif +0 -0
  308. data/autohotkey/config/data/position.bin +0 -0
  309. data/autohotkey/config/data/satellite.gif +0 -0
  310. data/autohotkey/config/data/tada.wav +0 -0
  311. data/autohotkey/config/system/system.txt +0 -29
  312. data/autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt +0 -126
  313. data/autohotkey/config/targets/INST/cmd_tlm/inst_tlm.txt +0 -270
  314. data/autohotkey/config/targets/INST/cmd_tlm_server.txt +0 -5
  315. data/autohotkey/config/targets/INST/doc/README.txt +0 -1
  316. data/autohotkey/config/targets/INST/lib/example_limits_response.rb +0 -30
  317. data/autohotkey/config/targets/INST/lib/sim_inst.rb +0 -307
  318. data/autohotkey/config/targets/INST/screens/_footer.txt +0 -4
  319. data/autohotkey/config/targets/INST/screens/adcs.txt +0 -46
  320. data/autohotkey/config/targets/INST/screens/array.txt +0 -7
  321. data/autohotkey/config/targets/INST/screens/block.txt +0 -8
  322. data/autohotkey/config/targets/INST/screens/commanding.txt +0 -30
  323. data/autohotkey/config/targets/INST/screens/extra.txt +0 -19
  324. data/autohotkey/config/targets/INST/screens/graphs.txt +0 -14
  325. data/autohotkey/config/targets/INST/screens/ground.txt +0 -25
  326. data/autohotkey/config/targets/INST/screens/health_status.txt +0 -33
  327. data/autohotkey/config/targets/INST/screens/hs.txt +0 -46
  328. data/autohotkey/config/targets/INST/screens/image.txt +0 -21
  329. data/autohotkey/config/targets/INST/screens/latest.txt +0 -23
  330. data/autohotkey/config/targets/INST/screens/mech.txt +0 -25
  331. data/autohotkey/config/targets/INST/screens/other.txt +0 -25
  332. data/autohotkey/config/targets/INST/screens/params.txt +0 -25
  333. data/autohotkey/config/targets/INST/screens/tabs.txt +0 -68
  334. data/autohotkey/config/targets/INST/sequences/run_sequence.txt +0 -1
  335. data/autohotkey/config/targets/INST/target.txt +0 -27
  336. data/autohotkey/config/targets/META/cmd_tlm/meta_cmd.txt +0 -10
  337. data/autohotkey/config/targets/META/cmd_tlm/meta_tlm.txt +0 -9
  338. data/autohotkey/config/targets/META/screens/data.txt +0 -12
  339. data/autohotkey/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +0 -7
  340. data/autohotkey/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +0 -16
  341. data/autohotkey/config/targets/SYSTEM/cmd_tlm/system_cmds.txt +0 -41
  342. data/autohotkey/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +0 -7
  343. data/autohotkey/config/targets/SYSTEM/screens/error.txt +0 -11
  344. data/autohotkey/config/targets/SYSTEM/screens/limits_change.txt +0 -14
  345. data/autohotkey/config/targets/SYSTEM/screens/meta.txt +0 -14
  346. data/autohotkey/config/targets/SYSTEM/target.txt +0 -12
  347. data/autohotkey/config/tools/cmd_sender/cmd_sender.txt +0 -1
  348. data/autohotkey/config/tools/cmd_sequence/cmd_sequence.txt +0 -2
  349. data/autohotkey/config/tools/cmd_tlm_server/cmd_tlm_server.txt +0 -22
  350. data/autohotkey/config/tools/data_viewer/data_viewer.txt +0 -11
  351. data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap-theme.css +0 -397
  352. data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +0 -7
  353. data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap.css +0 -7118
  354. data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap.min.css +0 -7
  355. data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  356. data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +0 -229
  357. data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  358. data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  359. data/autohotkey/config/tools/handbook_creator/assets/js/bootstrap.js +0 -2006
  360. data/autohotkey/config/tools/handbook_creator/assets/js/bootstrap.min.js +0 -7
  361. data/autohotkey/config/tools/handbook_creator/default_toc.xsl +0 -59
  362. data/autohotkey/config/tools/handbook_creator/handbook_creator.txt +0 -49
  363. data/autohotkey/config/tools/handbook_creator/templates/command_packets.html.erb +0 -86
  364. data/autohotkey/config/tools/handbook_creator/templates/command_toc.html.erb +0 -38
  365. data/autohotkey/config/tools/handbook_creator/templates/footer.html.erb +0 -9
  366. data/autohotkey/config/tools/handbook_creator/templates/header.html.erb +0 -25
  367. data/autohotkey/config/tools/handbook_creator/templates/limits_groups.html.erb +0 -13
  368. data/autohotkey/config/tools/handbook_creator/templates/nav.html.erb +0 -27
  369. data/autohotkey/config/tools/handbook_creator/templates/overview.html.erb +0 -1
  370. data/autohotkey/config/tools/handbook_creator/templates/pdf_cover.html.erb +0 -23
  371. data/autohotkey/config/tools/handbook_creator/templates/pdf_footer.html.erb +0 -33
  372. data/autohotkey/config/tools/handbook_creator/templates/pdf_header.html.erb +0 -41
  373. data/autohotkey/config/tools/handbook_creator/templates/telemetry_packets.html.erb +0 -80
  374. data/autohotkey/config/tools/handbook_creator/templates/telemetry_toc.html.erb +0 -38
  375. data/autohotkey/config/tools/handbook_creator/templates/title.html.erb +0 -1
  376. data/autohotkey/config/tools/launcher/launcher.txt +0 -38
  377. data/autohotkey/config/tools/limits_monitor/README.txt +0 -1
  378. data/autohotkey/config/tools/opengl_builder/error.txt +0 -1
  379. data/autohotkey/config/tools/script_runner/script_runner.txt +0 -3
  380. data/autohotkey/config/tools/table_manager/ConfigTables_def.txt +0 -6
  381. data/autohotkey/config/tools/table_manager/OldOneDimensionalTable_def.txt +0 -19
  382. data/autohotkey/config/tools/table_manager/OldTwoDimensionalTable_def.txt +0 -248
  383. data/autohotkey/config/tools/table_manager/OneDimensionalTable_def.txt +0 -31
  384. data/autohotkey/config/tools/table_manager/SubTables/OneDimensionalSubTable_def.txt +0 -31
  385. data/autohotkey/config/tools/table_manager/SubTables/TwoDimensionalSubTable_def.txt +0 -28
  386. data/autohotkey/config/tools/table_manager/TwoDimensionalTable_def.txt +0 -28
  387. data/autohotkey/config/tools/test_runner/test_runner.txt +0 -8
  388. data/autohotkey/config/tools/test_runner/test_runner2.txt +0 -11
  389. data/autohotkey/config/tools/test_runner/test_runner3.txt +0 -7
  390. data/autohotkey/config/tools/test_runner/test_runner4.txt +0 -1
  391. data/autohotkey/config/tools/tlm_extractor/tlm_extractor.txt +0 -14
  392. data/autohotkey/config/tools/tlm_extractor/tlm_extractor2.txt +0 -9
  393. data/autohotkey/config/tools/tlm_grapher/README.txt +0 -1
  394. data/autohotkey/config/tools/tlm_grapher/bad.txt +0 -50
  395. data/autohotkey/config/tools/tlm_grapher/temp1-4.txt +0 -51
  396. data/autohotkey/config/tools/tlm_grapher/test2.txt +0 -111
  397. data/autohotkey/config/tools/tlm_viewer/tlm_viewer.txt +0 -24
  398. data/autohotkey/config/tools/tlm_viewer/tlm_viewer2.txt +0 -4
  399. data/autohotkey/config/tools/tlm_viewer/tlm_viewer3.txt +0 -3
  400. data/autohotkey/lib/cmd_sequence_exporter.rb +0 -52
  401. data/autohotkey/lib/example_background_task.rb +0 -42
  402. data/autohotkey/lib/user_version.rb +0 -3
  403. data/autohotkey/outputs/handbooks/README.txt +0 -1
  404. data/autohotkey/outputs/logs/bigtlm.bin +0 -0
  405. data/autohotkey/outputs/logs/cmd.bin +0 -0
  406. data/autohotkey/outputs/logs/tlm.bin +0 -0
  407. data/autohotkey/outputs/saved_config/README.txt +0 -1
  408. data/autohotkey/outputs/sequences/bad_sequence.txt +0 -1
  409. data/autohotkey/outputs/sequences/bad_sequence2.txt +0 -1
  410. data/autohotkey/outputs/sequences/saved_sequence.txt +0 -3
  411. data/autohotkey/outputs/tables/README.txt +0 -1
  412. data/autohotkey/outputs/tmp/README.txt +0 -1
  413. data/autohotkey/procedures/clear_util.rb +0 -7
  414. data/autohotkey/procedures/collect.rb +0 -18
  415. data/autohotkey/procedures/collect_util.rb +0 -14
  416. data/autohotkey/procedures/example_test.rb +0 -71
  417. data/autohotkey/procedures/example_test2.rb +0 -74
  418. data/autohotkey/procedures/script_test.rb +0 -21
  419. data/autohotkey/procedures/syntax_error.rb +0 -18
  420. data/autohotkey/tools/CmdExtractorAHK +0 -16
  421. data/autohotkey/tools/CmdSender +0 -14
  422. data/autohotkey/tools/CmdSenderAHK +0 -18
  423. data/autohotkey/tools/CmdSenderAHK2 +0 -18
  424. data/autohotkey/tools/CmdSequence +0 -14
  425. data/autohotkey/tools/CmdSequenceAHK +0 -23
  426. data/autohotkey/tools/CmdSequenceAHK2 +0 -16
  427. data/autohotkey/tools/CmdTlmServer +0 -14
  428. data/autohotkey/tools/CmdTlmServerAHK +0 -28
  429. data/autohotkey/tools/CmdTlmServerAHK2 +0 -17
  430. data/autohotkey/tools/ConfigEditor +0 -16
  431. data/autohotkey/tools/ConfigEditorAHK +0 -19
  432. data/autohotkey/tools/DataViewer +0 -14
  433. data/autohotkey/tools/DataViewerAHK +0 -17
  434. data/autohotkey/tools/HandbookCreatorAHK +0 -20
  435. data/autohotkey/tools/LauncherAHK +0 -17
  436. data/autohotkey/tools/LimitsMonitorAHK +0 -20
  437. data/autohotkey/tools/OpenGLBuilderAHK +0 -24
  438. data/autohotkey/tools/PacketViewer +0 -14
  439. data/autohotkey/tools/PacketViewerAHK +0 -18
  440. data/autohotkey/tools/PacketViewerAHK2 +0 -17
  441. data/autohotkey/tools/Replay +0 -14
  442. data/autohotkey/tools/ReplayAHK +0 -17
  443. data/autohotkey/tools/ScriptRunner +0 -14
  444. data/autohotkey/tools/ScriptRunnerAHK +0 -20
  445. data/autohotkey/tools/ScriptRunnerAHK2 +0 -17
  446. data/autohotkey/tools/TableManager +0 -14
  447. data/autohotkey/tools/TableManagerAHK +0 -25
  448. data/autohotkey/tools/TableManagerAHK2 +0 -18
  449. data/autohotkey/tools/TableManagerAHK3 +0 -18
  450. data/autohotkey/tools/TableManagerAHK4 +0 -24
  451. data/autohotkey/tools/TestRunner +0 -15
  452. data/autohotkey/tools/TestRunnerAHK +0 -17
  453. data/autohotkey/tools/TestRunnerAHK2 +0 -17
  454. data/autohotkey/tools/TestRunnerAHK3 +0 -17
  455. data/autohotkey/tools/TestRunnerAHK4 +0 -17
  456. data/autohotkey/tools/TestRunnerAHK5 +0 -17
  457. data/autohotkey/tools/TestRunnerAHK6 +0 -17
  458. data/autohotkey/tools/TlmExtractor +0 -15
  459. data/autohotkey/tools/TlmExtractorAHK +0 -19
  460. data/autohotkey/tools/TlmExtractorAHK2 +0 -16
  461. data/autohotkey/tools/TlmExtractorAHK3 +0 -16
  462. data/autohotkey/tools/TlmGrapher +0 -14
  463. data/autohotkey/tools/TlmGrapherAHK +0 -19
  464. data/autohotkey/tools/TlmGrapherAHK2 +0 -23
  465. data/autohotkey/tools/TlmGrapherAHK3 +0 -17
  466. data/autohotkey/tools/TlmGrapherAHK4 +0 -17
  467. data/autohotkey/tools/TlmViewer +0 -14
  468. data/autohotkey/tools/TlmViewerAHK +0 -28
  469. data/autohotkey/tools/TlmViewerAHK2 +0 -22
  470. data/autohotkey/tools/TlmViewerAHK3 +0 -23
  471. data/autohotkey/tools/TlmViewerAHK4 +0 -22
  472. data/autohotkey/tools/TlmViewerAHK5 +0 -18
  473. data/autohotkey/tools/autohotkey.rb +0 -38
  474. data/autohotkey/tools/cmd_extractor.ahk +0 -52
  475. data/autohotkey/tools/cmd_sender.ahk +0 -208
  476. data/autohotkey/tools/cmd_sender2.ahk +0 -4
  477. data/autohotkey/tools/cmd_sequence.ahk +0 -233
  478. data/autohotkey/tools/cmd_sequence2.ahk +0 -23
  479. data/autohotkey/tools/cmd_tlm_server.ahk +0 -90
  480. data/autohotkey/tools/cmd_tlm_server2.ahk +0 -45
  481. data/autohotkey/tools/config_editor.ahk +0 -197
  482. data/autohotkey/tools/data_viewer.ahk +0 -140
  483. data/autohotkey/tools/handbook_creator.ahk +0 -32
  484. data/autohotkey/tools/launcher.ahk +0 -42
  485. data/autohotkey/tools/limits_monitor.ahk +0 -121
  486. data/autohotkey/tools/open_gl_builder.ahk +0 -133
  487. data/autohotkey/tools/packet_viewer.ahk +0 -224
  488. data/autohotkey/tools/packet_viewer2.ahk +0 -9
  489. data/autohotkey/tools/replay.ahk +0 -103
  490. data/autohotkey/tools/script_runner.ahk +0 -602
  491. data/autohotkey/tools/script_runner2.ahk +0 -50
  492. data/autohotkey/tools/table_manager.ahk +0 -291
  493. data/autohotkey/tools/test_runner.ahk +0 -262
  494. data/autohotkey/tools/test_runner2.ahk +0 -49
  495. data/autohotkey/tools/test_runner3.ahk +0 -11
  496. data/autohotkey/tools/test_runner5.ahk +0 -8
  497. data/autohotkey/tools/test_runner6.ahk +0 -5
  498. data/autohotkey/tools/tlm_extractor.ahk +0 -356
  499. data/autohotkey/tools/tlm_grapher.ahk +0 -670
  500. data/autohotkey/tools/tlm_grapher2.ahk +0 -115
  501. data/autohotkey/tools/tlm_grapher3.ahk +0 -23
  502. data/autohotkey/tools/tlm_viewer.ahk +0 -140
  503. data/autohotkey/tools/tlm_viewer2.ahk +0 -49
  504. data/autohotkey/tools/tlm_viewer4.ahk +0 -4
  505. data/autohotkey/tools/tlm_viewer5.ahk +0 -19
  506. data/autohotkey/tools/tool_launch.rb +0 -38
  507. data/bin/dart_import +0 -4
  508. data/bin/dart_util +0 -4
  509. data/bin/exchndl20-x64.dll +0 -0
  510. data/bin/exchndl20.dll +0 -0
  511. data/bin/exchndl21-x64.dll +0 -0
  512. data/bin/exchndl21.dll +0 -0
  513. data/bin/exchndl22-x64.dll +0 -0
  514. data/bin/exchndl22.dll +0 -0
  515. data/bin/mgwhelp-x64.dll +0 -0
  516. data/bin/mgwhelp.dll +0 -0
  517. data/cosmos.gemspec +0 -114
  518. data/data/COSMOS_64x64.bmp +0 -0
  519. data/data/COSMOS_64x64.ico +0 -0
  520. data/data/COSMOS_64x64.png +0 -0
  521. data/data/COSMOS_Architecture.png +0 -0
  522. data/data/CheckBoxCheck.gif +0 -0
  523. data/data/CheckBoxEmpty.gif +0 -0
  524. data/data/Earthmap1024x512.gif +0 -0
  525. data/data/about.txt +0 -4
  526. data/data/add_database.png +0 -0
  527. data/data/add_plot.png +0 -0
  528. data/data/add_tab.png +0 -0
  529. data/data/blank.png +0 -0
  530. data/data/bug.png +0 -0
  531. data/data/checkmark.png +0 -0
  532. data/data/close.png +0 -0
  533. data/data/cmd_extractor.png +0 -0
  534. data/data/cmd_sender.png +0 -0
  535. data/data/cmd_sequence.png +0 -0
  536. data/data/config/cmd_sequence.yaml +0 -14
  537. data/data/config/data_viewer.yaml +0 -43
  538. data/data/config/handbook_creator.yaml +0 -23
  539. data/data/config/housekeeping_params.yaml +0 -85
  540. data/data/config/launcher.yaml +0 -127
  541. data/data/config/limits_monitor.yaml +0 -53
  542. data/data/config/linegraph_params.yaml +0 -30
  543. data/data/config/linegraph_plot.yaml +0 -106
  544. data/data/config/page_modifiers.yaml +0 -128
  545. data/data/config/script_runner.yaml +0 -24
  546. data/data/config/system.yaml +0 -371
  547. data/data/config/test_runner.yaml +0 -119
  548. data/data/config/tlm_extractor.yaml +0 -109
  549. data/data/config/tlm_grapher.yaml +0 -78
  550. data/data/config/tlm_viewer.yaml +0 -112
  551. data/data/config/xy_params.yaml +0 -50
  552. data/data/config/xy_plot.yaml +0 -12
  553. data/data/config_editor.png +0 -0
  554. data/data/copy.png +0 -0
  555. data/data/cosmos.xcf +0 -0
  556. data/data/cosmos_word.gif +0 -0
  557. data/data/crc.txt +0 -470
  558. data/data/critical.wav +0 -0
  559. data/data/cts.png +0 -0
  560. data/data/cut.png +0 -0
  561. data/data/dart.png +0 -0
  562. data/data/data_viewer.png +0 -0
  563. data/data/delete.png +0 -0
  564. data/data/delete_database.png +0 -0
  565. data/data/delete_plot.png +0 -0
  566. data/data/delete_tab.png +0 -0
  567. data/data/diamond.STL +0 -58
  568. data/data/disconnected.png +0 -0
  569. data/data/edit.png +0 -0
  570. data/data/edit_database.png +0 -0
  571. data/data/edit_plot.png +0 -0
  572. data/data/edit_tab.png +0 -0
  573. data/data/end-26.png +0 -0
  574. data/data/fast_forward-26.png +0 -0
  575. data/data/file.png +0 -0
  576. data/data/handbook_creator.png +0 -0
  577. data/data/help.png +0 -0
  578. data/data/html-32.png +0 -0
  579. data/data/information.wav +0 -0
  580. data/data/input.wav +0 -0
  581. data/data/launcher.png +0 -0
  582. data/data/legal.gif +0 -0
  583. data/data/legal.txt +0 -8
  584. data/data/limits_monitor.png +0 -0
  585. data/data/message.wav +0 -0
  586. data/data/moonmap1k.gif +0 -0
  587. data/data/multi.png +0 -0
  588. data/data/open.png +0 -0
  589. data/data/open_in_browser-32.png +0 -0
  590. data/data/opengl_builder.png +0 -0
  591. data/data/packet_viewer.png +0 -0
  592. data/data/pdf-32.png +0 -0
  593. data/data/play-26.png +0 -0
  594. data/data/question.wav +0 -0
  595. data/data/redo.png +0 -0
  596. data/data/replay.png +0 -0
  597. data/data/reverse-play-26.png +0 -0
  598. data/data/rewind-26.png +0 -0
  599. data/data/running.png +0 -0
  600. data/data/save.png +0 -0
  601. data/data/save_as.png +0 -0
  602. data/data/screenshot.png +0 -0
  603. data/data/script_runner.png +0 -0
  604. data/data/search-14.png +0 -0
  605. data/data/search.png +0 -0
  606. data/data/send_file.png +0 -0
  607. data/data/skip_to_start-26.png +0 -0
  608. data/data/spinner.gif +0 -0
  609. data/data/splash.gif +0 -0
  610. data/data/stop-26.png +0 -0
  611. data/data/table_manager.png +0 -0
  612. data/data/test_runner.png +0 -0
  613. data/data/tlm_extractor.png +0 -0
  614. data/data/tlm_grapher.png +0 -0
  615. data/data/tlm_viewer.png +0 -0
  616. data/data/undo.png +0 -0
  617. data/data/warning.wav +0 -0
  618. data/demo/Gemfile +0 -13
  619. data/demo/Launcher +0 -16
  620. data/demo/Launcher.bat +0 -1
  621. data/demo/Launcher2.bat +0 -1
  622. data/demo/LauncherMini.bat +0 -1
  623. data/demo/Rakefile +0 -83
  624. data/demo/config/dart/Gemfile +0 -49
  625. data/demo/config/data/attitude.bin +0 -0
  626. data/demo/config/data/crc.txt +0 -294
  627. data/demo/config/data/diamond.STL +0 -58
  628. data/demo/config/data/hselectoff.gif +0 -0
  629. data/demo/config/data/hselecton.gif +0 -0
  630. data/demo/config/data/hswitchoff.gif +0 -0
  631. data/demo/config/data/hswitchon.gif +0 -0
  632. data/demo/config/data/meta_init.txt +0 -1
  633. data/demo/config/data/position.bin +0 -0
  634. data/demo/config/data/poweroff.gif +0 -0
  635. data/demo/config/data/poweron.gif +0 -0
  636. data/demo/config/data/satellite.gif +0 -0
  637. data/demo/config/data/tada.wav +0 -0
  638. data/demo/config/data/vswitchoff.gif +0 -0
  639. data/demo/config/data/vswitchon.gif +0 -0
  640. data/demo/config/system/system.txt +0 -90
  641. data/demo/config/system/system2.txt +0 -75
  642. data/demo/config/system/system_alt_ports.txt +0 -80
  643. data/demo/config/targets/DART/cmd_tlm/dart_cmds.txt +0 -2
  644. data/demo/config/targets/DART/cmd_tlm/dart_tlm.txt +0 -40
  645. data/demo/config/targets/DART/cmd_tlm_server.txt +0 -6
  646. data/demo/config/targets/DART/screens/status.txt +0 -54
  647. data/demo/config/targets/DART/target.txt +0 -7
  648. data/demo/config/targets/EXAMPLE/cmd_tlm/example_cmds.txt +0 -2
  649. data/demo/config/targets/EXAMPLE/cmd_tlm/example_tlm.txt +0 -5
  650. data/demo/config/targets/EXAMPLE/cmd_tlm_server.txt +0 -7
  651. data/demo/config/targets/EXAMPLE/lib/example_interface.rb +0 -18
  652. data/demo/config/targets/EXAMPLE/target.txt +0 -9
  653. data/demo/config/targets/INST/cmd_tlm/_ccsds_cmd.txt +0 -9
  654. data/demo/config/targets/INST/cmd_tlm/_ccsds_tlm.txt +0 -19
  655. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +0 -58
  656. data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +0 -169
  657. data/demo/config/targets/INST/cmd_tlm/inst_tlm_override.txt +0 -12
  658. data/demo/config/targets/INST/cmd_tlm_server.txt +0 -8
  659. data/demo/config/targets/INST/cmd_tlm_server2.txt +0 -7
  660. data/demo/config/targets/INST/doc/README.txt +0 -1
  661. data/demo/config/targets/INST/lib/example_limits_response.rb +0 -30
  662. data/demo/config/targets/INST/lib/inst_dump_component.rb +0 -34
  663. data/demo/config/targets/INST/lib/sim_inst.rb +0 -333
  664. data/demo/config/targets/INST/procedures/checks.rb +0 -11
  665. data/demo/config/targets/INST/procedures/collect.rb +0 -18
  666. data/demo/config/targets/INST/procedures/disconnect.rb +0 -29
  667. data/demo/config/targets/INST/procedures/utilities/clear.rb +0 -7
  668. data/demo/config/targets/INST/procedures/utilities/collect.rb +0 -14
  669. data/demo/config/targets/INST/screens/_footer.txt +0 -4
  670. data/demo/config/targets/INST/screens/adcs.txt +0 -71
  671. data/demo/config/targets/INST/screens/array.txt +0 -15
  672. data/demo/config/targets/INST/screens/block.txt +0 -8
  673. data/demo/config/targets/INST/screens/commanding.txt +0 -42
  674. data/demo/config/targets/INST/screens/graphs.txt +0 -14
  675. data/demo/config/targets/INST/screens/ground.txt +0 -47
  676. data/demo/config/targets/INST/screens/ground_error.gif +0 -0
  677. data/demo/config/targets/INST/screens/ground_off.gif +0 -0
  678. data/demo/config/targets/INST/screens/ground_on.gif +0 -0
  679. data/demo/config/targets/INST/screens/hs.txt +0 -43
  680. data/demo/config/targets/INST/screens/latest.txt +0 -23
  681. data/demo/config/targets/INST/screens/limits.txt +0 -81
  682. data/demo/config/targets/INST/screens/other.txt +0 -34
  683. data/demo/config/targets/INST/screens/params.txt +0 -54
  684. data/demo/config/targets/INST/screens/satellite.gif +0 -0
  685. data/demo/config/targets/INST/screens/spacing_box.txt +0 -44
  686. data/demo/config/targets/INST/screens/spacing_grid.txt +0 -78
  687. data/demo/config/targets/INST/screens/tabs.txt +0 -68
  688. data/demo/config/targets/INST/sequences/sequence.tsv +0 -3
  689. data/demo/config/targets/INST/tables/EventAction.csv +0 -9
  690. data/demo/config/targets/INST/tables/EventAction.dat +0 -0
  691. data/demo/config/targets/INST/tables/McConfigTable.csv +0 -20
  692. data/demo/config/targets/INST/tables/McConfigTable.dat +0 -0
  693. data/demo/config/targets/INST/target.txt +0 -38
  694. data/demo/config/targets/INST/tools/data_viewer/data_viewer.txt +0 -2
  695. data/demo/config/targets/INST/tools/data_viewer/data_viewer2.txt +0 -2
  696. data/demo/config/targets/INST/tools/table_manager/EventAction_def.txt +0 -6
  697. data/demo/config/targets/INST/tools/table_manager/McConfigTable_def.txt +0 -38
  698. data/demo/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +0 -6
  699. data/demo/config/targets/SYSTEM/cmd_tlm/meta_tlm.txt +0 -10
  700. data/demo/config/targets/SYSTEM/cmd_tlm/override.txt +0 -29
  701. data/demo/config/targets/SYSTEM/cmd_tlm/system_cmds.txt +0 -41
  702. data/demo/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +0 -7
  703. data/demo/config/targets/SYSTEM/cmd_tlm_server.txt +0 -6
  704. data/demo/config/targets/SYSTEM/lib/limits_groups.rb +0 -55
  705. data/demo/config/targets/SYSTEM/screens/status.txt +0 -12
  706. data/demo/config/targets/SYSTEM/target.txt +0 -12
  707. data/demo/config/targets/TEMPLATED/cmd_tlm/templated_cmds.txt +0 -13
  708. data/demo/config/targets/TEMPLATED/cmd_tlm/templated_tlm.txt +0 -3
  709. data/demo/config/targets/TEMPLATED/cmd_tlm_server.txt +0 -6
  710. data/demo/config/targets/TEMPLATED/lib/templated_interface.rb +0 -59
  711. data/demo/config/targets/TEMPLATED/target.txt +0 -8
  712. data/demo/config/tools/cmd_sequence/cmd_sequence.txt +0 -2
  713. data/demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt +0 -45
  714. data/demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt +0 -42
  715. data/demo/config/tools/cmd_tlm_server/cmd_tlm_server_chain.txt +0 -18
  716. data/demo/config/tools/data_viewer/data_viewer.txt +0 -23
  717. data/demo/config/tools/example_application.css +0 -58
  718. data/demo/config/tools/handbook_creator/assets/css/bootstrap-theme.css +0 -397
  719. data/demo/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +0 -7
  720. data/demo/config/tools/handbook_creator/assets/css/bootstrap.css +0 -7118
  721. data/demo/config/tools/handbook_creator/assets/css/bootstrap.min.css +0 -7
  722. data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  723. data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +0 -229
  724. data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  725. data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  726. data/demo/config/tools/handbook_creator/assets/img/ball_logo.bmp +0 -0
  727. data/demo/config/tools/handbook_creator/assets/img/ball_logo.gif +0 -0
  728. data/demo/config/tools/handbook_creator/assets/img/ball_logo.jpg +0 -0
  729. data/demo/config/tools/handbook_creator/assets/js/bootstrap.js +0 -2006
  730. data/demo/config/tools/handbook_creator/assets/js/bootstrap.min.js +0 -7
  731. data/demo/config/tools/handbook_creator/assets/js/html5shiv.js +0 -8
  732. data/demo/config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js +0 -6
  733. data/demo/config/tools/handbook_creator/assets/js/respond.min.js +0 -6
  734. data/demo/config/tools/handbook_creator/default_toc.xsl +0 -59
  735. data/demo/config/tools/handbook_creator/handbook_creator.txt +0 -66
  736. data/demo/config/tools/handbook_creator/templates/command_packets.html.erb +0 -88
  737. data/demo/config/tools/handbook_creator/templates/command_toc.html.erb +0 -38
  738. data/demo/config/tools/handbook_creator/templates/footer.html.erb +0 -9
  739. data/demo/config/tools/handbook_creator/templates/header.html.erb +0 -25
  740. data/demo/config/tools/handbook_creator/templates/limits_groups.html.erb +0 -13
  741. data/demo/config/tools/handbook_creator/templates/nav.html.erb +0 -27
  742. data/demo/config/tools/handbook_creator/templates/overview.html.erb +0 -1
  743. data/demo/config/tools/handbook_creator/templates/pdf_cover.html.erb +0 -23
  744. data/demo/config/tools/handbook_creator/templates/pdf_footer.html.erb +0 -33
  745. data/demo/config/tools/handbook_creator/templates/pdf_header.html.erb +0 -41
  746. data/demo/config/tools/handbook_creator/templates/telemetry_packets.html.erb +0 -82
  747. data/demo/config/tools/handbook_creator/templates/telemetry_toc.html.erb +0 -38
  748. data/demo/config/tools/handbook_creator/templates/title.html.erb +0 -1
  749. data/demo/config/tools/launcher/launcher.css +0 -7
  750. data/demo/config/tools/launcher/launcher.txt +0 -49
  751. data/demo/config/tools/launcher/launcher2.css +0 -10
  752. data/demo/config/tools/launcher/launcher2.txt +0 -48
  753. data/demo/config/tools/launcher/launcher_mini.txt +0 -45
  754. data/demo/config/tools/limits_monitor/README.txt +0 -1
  755. data/demo/config/tools/opengl_builder/README.txt +0 -1
  756. data/demo/config/tools/script_runner/script_runner.txt +0 -2
  757. data/demo/config/tools/table_manager/ConfigTables_def.txt +0 -8
  758. data/demo/config/tools/table_manager/ExampleTableDefinition.txt +0 -24
  759. data/demo/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +0 -37
  760. data/demo/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +0 -34
  761. data/demo/config/tools/table_manager/PPSSelectionTable_def.txt +0 -9
  762. data/demo/config/tools/table_manager/TLMMonitoringTable_def.txt +0 -31
  763. data/demo/config/tools/test_runner/test_runner.css +0 -45
  764. data/demo/config/tools/test_runner/test_runner.txt +0 -19
  765. data/demo/config/tools/tlm_extractor/_adcs_time.txt +0 -2
  766. data/demo/config/tools/tlm_extractor/tlm_extractor.txt +0 -13
  767. data/demo/config/tools/tlm_extractor/tlm_extractor2.txt +0 -2
  768. data/demo/config/tools/tlm_extractor/tlm_extractor3.txt +0 -2
  769. data/demo/config/tools/tlm_extractor/tlm_extractor4.txt +0 -2
  770. data/demo/config/tools/tlm_grapher/README.txt +0 -1
  771. data/demo/config/tools/tlm_viewer/tlm_viewer.txt +0 -41
  772. data/demo/lib/cmd_sequence_exporter.rb +0 -52
  773. data/demo/lib/example_background_task.rb +0 -57
  774. data/demo/lib/example_target.rb +0 -103
  775. data/demo/lib/scpi_target.rb +0 -68
  776. data/demo/lib/user_version.rb +0 -3
  777. data/demo/outputs/dart/data/README.txt +0 -1
  778. data/demo/outputs/handbooks/README.txt +0 -1
  779. data/demo/outputs/logs/README.txt +0 -1
  780. data/demo/outputs/saved_config/README.txt +0 -1
  781. data/demo/outputs/sequences/sequence.tsv +0 -4
  782. data/demo/outputs/tables/README.txt +0 -1
  783. data/demo/outputs/tmp/README.txt +0 -1
  784. data/demo/procedures/cosmos_api_test.rb +0 -314
  785. data/demo/procedures/example_test.rb +0 -192
  786. data/demo/procedures/interactive.rb +0 -22
  787. data/demo/procedures/local_screen_example.rb +0 -51
  788. data/demo/procedures/plot_test.rb +0 -8
  789. data/demo/procedures/replay_test.rb +0 -32
  790. data/demo/procedures/run_example_test.rb +0 -3
  791. data/demo/procedures/test.rb +0 -51
  792. data/demo/tools/CmdExtractor +0 -16
  793. data/demo/tools/CmdExtractor.bat +0 -9
  794. data/demo/tools/CmdSender +0 -16
  795. data/demo/tools/CmdSender.bat +0 -9
  796. data/demo/tools/CmdSequence +0 -16
  797. data/demo/tools/CmdSequence.bat +0 -9
  798. data/demo/tools/CmdTlmServer +0 -16
  799. data/demo/tools/CmdTlmServer.bat +0 -9
  800. data/demo/tools/ConfigEditor +0 -16
  801. data/demo/tools/ConfigEditor.bat +0 -9
  802. data/demo/tools/Dart +0 -16
  803. data/demo/tools/Dart.bat +0 -9
  804. data/demo/tools/DataViewer +0 -16
  805. data/demo/tools/DataViewer.bat +0 -9
  806. data/demo/tools/ExampleTarget +0 -16
  807. data/demo/tools/ExampleTarget.bat +0 -9
  808. data/demo/tools/HandbookCreator +0 -16
  809. data/demo/tools/HandbookCreator.bat +0 -9
  810. data/demo/tools/Launcher +0 -16
  811. data/demo/tools/Launcher.bat +0 -9
  812. data/demo/tools/LimitsMonitor +0 -16
  813. data/demo/tools/LimitsMonitor.bat +0 -9
  814. data/demo/tools/OpenGLBuilder +0 -16
  815. data/demo/tools/OpenGLBuilder.bat +0 -9
  816. data/demo/tools/PacketViewer +0 -16
  817. data/demo/tools/PacketViewer.bat +0 -9
  818. data/demo/tools/Replay +0 -16
  819. data/demo/tools/Replay.bat +0 -9
  820. data/demo/tools/ScpiTarget +0 -16
  821. data/demo/tools/ScpiTarget.bat +0 -9
  822. data/demo/tools/ScriptRunner +0 -16
  823. data/demo/tools/ScriptRunner.bat +0 -9
  824. data/demo/tools/TableManager +0 -16
  825. data/demo/tools/TableManager.bat +0 -9
  826. data/demo/tools/TestRunner +0 -16
  827. data/demo/tools/TestRunner.bat +0 -9
  828. data/demo/tools/TlmExtractor +0 -16
  829. data/demo/tools/TlmExtractor.bat +0 -9
  830. data/demo/tools/TlmGrapher +0 -16
  831. data/demo/tools/TlmGrapher.bat +0 -9
  832. data/demo/tools/TlmViewer +0 -16
  833. data/demo/tools/TlmViewer.bat +0 -9
  834. data/demo/tools/ToolLaunch.bat +0 -72
  835. data/demo/tools/mac/CmdExtractor.app/Contents/Info.plist +0 -38
  836. data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +0 -16
  837. data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +0 -10
  838. data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb +0 -38
  839. data/demo/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
  840. data/demo/tools/mac/CmdSender.app/Contents/Info.plist +0 -38
  841. data/demo/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +0 -16
  842. data/demo/tools/mac/CmdSender.app/Contents/MacOS/main.sh +0 -10
  843. data/demo/tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb +0 -38
  844. data/demo/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -0
  845. data/demo/tools/mac/CmdSequence.app/Contents/Info.plist +0 -38
  846. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +0 -16
  847. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +0 -10
  848. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +0 -38
  849. data/demo/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
  850. data/demo/tools/mac/CmdTlmServer.app/Contents/Info.plist +0 -38
  851. data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +0 -16
  852. data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +0 -10
  853. data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb +0 -38
  854. data/demo/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
  855. data/demo/tools/mac/ConfigEditor.app/Contents/Info.plist +0 -38
  856. data/demo/tools/mac/ConfigEditor.app/Contents/MacOS/ConfigEditor.rb +0 -16
  857. data/demo/tools/mac/ConfigEditor.app/Contents/MacOS/main.sh +0 -10
  858. data/demo/tools/mac/ConfigEditor.app/Contents/MacOS/tool_launch.rb +0 -38
  859. data/demo/tools/mac/ConfigEditor.app/Contents/Resources/appIcon.icns +0 -0
  860. data/demo/tools/mac/DataViewer.app/Contents/Info.plist +0 -38
  861. data/demo/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +0 -16
  862. data/demo/tools/mac/DataViewer.app/Contents/MacOS/main.sh +0 -10
  863. data/demo/tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb +0 -38
  864. data/demo/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
  865. data/demo/tools/mac/HandbookCreator.app/Contents/Info.plist +0 -38
  866. data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +0 -16
  867. data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +0 -10
  868. data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb +0 -38
  869. data/demo/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
  870. data/demo/tools/mac/Launcher.app/Contents/Info.plist +0 -38
  871. data/demo/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +0 -16
  872. data/demo/tools/mac/Launcher.app/Contents/MacOS/main.sh +0 -10
  873. data/demo/tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb +0 -38
  874. data/demo/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
  875. data/demo/tools/mac/LimitsMonitor.app/Contents/Info.plist +0 -38
  876. data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +0 -16
  877. data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +0 -10
  878. data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb +0 -38
  879. data/demo/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
  880. data/demo/tools/mac/OpenGLBuilder.app/Contents/Info.plist +0 -38
  881. data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +0 -16
  882. data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +0 -10
  883. data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb +0 -38
  884. data/demo/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
  885. data/demo/tools/mac/PacketViewer.app/Contents/Info.plist +0 -38
  886. data/demo/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +0 -16
  887. data/demo/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +0 -10
  888. data/demo/tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb +0 -38
  889. data/demo/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
  890. data/demo/tools/mac/Replay.app/Contents/Info.plist +0 -38
  891. data/demo/tools/mac/Replay.app/Contents/MacOS/Replay.rb +0 -16
  892. data/demo/tools/mac/Replay.app/Contents/MacOS/main.sh +0 -10
  893. data/demo/tools/mac/Replay.app/Contents/MacOS/tool_launch.rb +0 -38
  894. data/demo/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
  895. data/demo/tools/mac/ScriptRunner.app/Contents/Info.plist +0 -38
  896. data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +0 -16
  897. data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +0 -10
  898. data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb +0 -38
  899. data/demo/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
  900. data/demo/tools/mac/TableManager.app/Contents/Info.plist +0 -38
  901. data/demo/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +0 -16
  902. data/demo/tools/mac/TableManager.app/Contents/MacOS/main.sh +0 -10
  903. data/demo/tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb +0 -38
  904. data/demo/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
  905. data/demo/tools/mac/TestRunner.app/Contents/Info.plist +0 -38
  906. data/demo/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +0 -16
  907. data/demo/tools/mac/TestRunner.app/Contents/MacOS/main.sh +0 -10
  908. data/demo/tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb +0 -38
  909. data/demo/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
  910. data/demo/tools/mac/TlmExtractor.app/Contents/Info.plist +0 -38
  911. data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +0 -16
  912. data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +0 -10
  913. data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb +0 -38
  914. data/demo/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
  915. data/demo/tools/mac/TlmGrapher.app/Contents/Info.plist +0 -38
  916. data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +0 -16
  917. data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +0 -10
  918. data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb +0 -38
  919. data/demo/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
  920. data/demo/tools/mac/TlmViewer.app/Contents/Info.plist +0 -38
  921. data/demo/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +0 -16
  922. data/demo/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +0 -10
  923. data/demo/tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb +0 -38
  924. data/demo/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
  925. data/demo/tools/tool_launch.rb +0 -38
  926. data/ext/cosmos/ext/line_graph/extconf.rb +0 -13
  927. data/ext/cosmos/ext/line_graph/line_graph.c +0 -460
  928. data/ext/cosmos/ext/low_fragmentation_array/extconf.rb +0 -13
  929. data/ext/cosmos/ext/low_fragmentation_array/low_fragmentation_array.c +0 -265
  930. data/extensions/vscode/.gitignore +0 -4
  931. data/extensions/vscode/.vscode/launch.json +0 -32
  932. data/extensions/vscode/.vscode/settings.json +0 -13
  933. data/extensions/vscode/.vscode/tasks.json +0 -79
  934. data/extensions/vscode/License.txt +0 -879
  935. data/extensions/vscode/README.md +0 -9
  936. data/extensions/vscode/client/License.txt +0 -879
  937. data/extensions/vscode/client/README.md +0 -39
  938. data/extensions/vscode/client/cosmos.configuration.json +0 -23
  939. data/extensions/vscode/client/images/icon.png +0 -0
  940. data/extensions/vscode/client/package-lock.json +0 -414
  941. data/extensions/vscode/client/package.json +0 -105
  942. data/extensions/vscode/client/src/extension.ts +0 -132
  943. data/extensions/vscode/client/src/screen_preview.rb +0 -25
  944. data/extensions/vscode/client/syntaxes/cosmos.tmLanguage.json +0 -219
  945. data/extensions/vscode/client/tsconfig.json +0 -17
  946. data/extensions/vscode/package-lock.json +0 -26
  947. data/extensions/vscode/package.json +0 -35
  948. data/extensions/vscode/server/License.txt +0 -879
  949. data/extensions/vscode/server/package-lock.json +0 -236
  950. data/extensions/vscode/server/package.json +0 -29
  951. data/extensions/vscode/server/src/server.ts +0 -59
  952. data/extensions/vscode/server/tsconfig.json +0 -16
  953. data/install/Gemfile +0 -13
  954. data/install/Launcher +0 -16
  955. data/install/Launcher.bat +0 -1
  956. data/install/Rakefile +0 -81
  957. data/install/config/dart/Gemfile +0 -49
  958. data/install/config/data/README.txt +0 -1
  959. data/install/config/data/crc.txt +0 -179
  960. data/install/config/system/system.txt +0 -75
  961. data/install/config/targets/SYSTEM/cmd_tlm/meta_tlm.txt +0 -9
  962. data/install/config/targets/SYSTEM/target.txt +0 -12
  963. data/install/config/tools/cmd_tlm_server/cmd_tlm_server.txt +0 -3
  964. data/install/config/tools/data_viewer/data_viewer.txt +0 -4
  965. data/install/config/tools/handbook_creator/assets/css/bootstrap-theme.css +0 -397
  966. data/install/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +0 -7
  967. data/install/config/tools/handbook_creator/assets/css/bootstrap.css +0 -7118
  968. data/install/config/tools/handbook_creator/assets/css/bootstrap.min.css +0 -7
  969. data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  970. data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +0 -229
  971. data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  972. data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  973. data/install/config/tools/handbook_creator/assets/img/ball_logo.bmp +0 -0
  974. data/install/config/tools/handbook_creator/assets/img/ball_logo.gif +0 -0
  975. data/install/config/tools/handbook_creator/assets/img/ball_logo.jpg +0 -0
  976. data/install/config/tools/handbook_creator/assets/js/bootstrap.js +0 -2006
  977. data/install/config/tools/handbook_creator/assets/js/bootstrap.min.js +0 -7
  978. data/install/config/tools/handbook_creator/assets/js/html5shiv.js +0 -8
  979. data/install/config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js +0 -6
  980. data/install/config/tools/handbook_creator/assets/js/respond.min.js +0 -6
  981. data/install/config/tools/handbook_creator/default_toc.xsl +0 -59
  982. data/install/config/tools/handbook_creator/handbook_creator.txt +0 -49
  983. data/install/config/tools/handbook_creator/templates/command_packets.html.erb +0 -86
  984. data/install/config/tools/handbook_creator/templates/command_toc.html.erb +0 -38
  985. data/install/config/tools/handbook_creator/templates/footer.html.erb +0 -9
  986. data/install/config/tools/handbook_creator/templates/header.html.erb +0 -25
  987. data/install/config/tools/handbook_creator/templates/limits_groups.html.erb +0 -13
  988. data/install/config/tools/handbook_creator/templates/nav.html.erb +0 -27
  989. data/install/config/tools/handbook_creator/templates/overview.html.erb +0 -1
  990. data/install/config/tools/handbook_creator/templates/pdf_cover.html.erb +0 -23
  991. data/install/config/tools/handbook_creator/templates/pdf_footer.html.erb +0 -33
  992. data/install/config/tools/handbook_creator/templates/pdf_header.html.erb +0 -41
  993. data/install/config/tools/handbook_creator/templates/telemetry_packets.html.erb +0 -80
  994. data/install/config/tools/handbook_creator/templates/telemetry_toc.html.erb +0 -38
  995. data/install/config/tools/handbook_creator/templates/title.html.erb +0 -1
  996. data/install/config/tools/launcher/launcher.txt +0 -43
  997. data/install/config/tools/limits_monitor/README.txt +0 -1
  998. data/install/config/tools/opengl_builder/README.txt +0 -1
  999. data/install/config/tools/script_runner/script_runner.txt +0 -3
  1000. data/install/config/tools/table_manager/README.txt +0 -1
  1001. data/install/config/tools/test_runner/test_runner.txt +0 -8
  1002. data/install/config/tools/tlm_extractor/README.txt +0 -1
  1003. data/install/config/tools/tlm_grapher/README.txt +0 -1
  1004. data/install/config/tools/tlm_viewer/tlm_viewer.txt +0 -5
  1005. data/install/lib/user_version.rb +0 -3
  1006. data/install/outputs/dart/data/README.txt +0 -1
  1007. data/install/outputs/dart/logs/README.txt +0 -1
  1008. data/install/outputs/handbooks/README.txt +0 -1
  1009. data/install/outputs/logs/README.txt +0 -1
  1010. data/install/outputs/saved_config/README.txt +0 -1
  1011. data/install/outputs/tables/README.txt +0 -1
  1012. data/install/outputs/tmp/README.txt +0 -1
  1013. data/install/procedures/README.txt +0 -1
  1014. data/install/tools/CmdExtractor +0 -16
  1015. data/install/tools/CmdExtractor.bat +0 -9
  1016. data/install/tools/CmdSender +0 -16
  1017. data/install/tools/CmdSender.bat +0 -9
  1018. data/install/tools/CmdSequence +0 -16
  1019. data/install/tools/CmdSequence.bat +0 -9
  1020. data/install/tools/CmdTlmServer +0 -16
  1021. data/install/tools/CmdTlmServer.bat +0 -9
  1022. data/install/tools/ConfigEditor +0 -16
  1023. data/install/tools/ConfigEditor.bat +0 -9
  1024. data/install/tools/Dart +0 -16
  1025. data/install/tools/Dart.bat +0 -9
  1026. data/install/tools/DataViewer +0 -16
  1027. data/install/tools/DataViewer.bat +0 -9
  1028. data/install/tools/HandbookCreator +0 -16
  1029. data/install/tools/HandbookCreator.bat +0 -9
  1030. data/install/tools/Launcher +0 -16
  1031. data/install/tools/Launcher.bat +0 -9
  1032. data/install/tools/LimitsMonitor +0 -16
  1033. data/install/tools/LimitsMonitor.bat +0 -9
  1034. data/install/tools/OpenGLBuilder +0 -16
  1035. data/install/tools/OpenGLBuilder.bat +0 -9
  1036. data/install/tools/PacketViewer +0 -16
  1037. data/install/tools/PacketViewer.bat +0 -9
  1038. data/install/tools/Replay +0 -16
  1039. data/install/tools/Replay.bat +0 -9
  1040. data/install/tools/ScriptRunner +0 -16
  1041. data/install/tools/ScriptRunner.bat +0 -9
  1042. data/install/tools/TableManager +0 -16
  1043. data/install/tools/TableManager.bat +0 -9
  1044. data/install/tools/TestRunner +0 -16
  1045. data/install/tools/TestRunner.bat +0 -9
  1046. data/install/tools/TlmExtractor +0 -16
  1047. data/install/tools/TlmExtractor.bat +0 -9
  1048. data/install/tools/TlmGrapher +0 -16
  1049. data/install/tools/TlmGrapher.bat +0 -9
  1050. data/install/tools/TlmViewer +0 -16
  1051. data/install/tools/TlmViewer.bat +0 -9
  1052. data/install/tools/ToolLaunch.bat +0 -72
  1053. data/install/tools/mac/CmdExtractor.app/Contents/Info.plist +0 -38
  1054. data/install/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +0 -16
  1055. data/install/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +0 -10
  1056. data/install/tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb +0 -38
  1057. data/install/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
  1058. data/install/tools/mac/CmdSender.app/Contents/Info.plist +0 -38
  1059. data/install/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +0 -16
  1060. data/install/tools/mac/CmdSender.app/Contents/MacOS/main.sh +0 -10
  1061. data/install/tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb +0 -38
  1062. data/install/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -0
  1063. data/install/tools/mac/CmdSequence.app/Contents/Info.plist +0 -38
  1064. data/install/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +0 -16
  1065. data/install/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +0 -10
  1066. data/install/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +0 -38
  1067. data/install/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
  1068. data/install/tools/mac/CmdTlmServer.app/Contents/Info.plist +0 -38
  1069. data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +0 -16
  1070. data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +0 -10
  1071. data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb +0 -38
  1072. data/install/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
  1073. data/install/tools/mac/ConfigEditor.app/Contents/Info.plist +0 -38
  1074. data/install/tools/mac/ConfigEditor.app/Contents/MacOS/ConfigEditor.rb +0 -16
  1075. data/install/tools/mac/ConfigEditor.app/Contents/MacOS/main.sh +0 -10
  1076. data/install/tools/mac/ConfigEditor.app/Contents/MacOS/tool_launch.rb +0 -38
  1077. data/install/tools/mac/ConfigEditor.app/Contents/Resources/appIcon.icns +0 -0
  1078. data/install/tools/mac/DataViewer.app/Contents/Info.plist +0 -38
  1079. data/install/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +0 -16
  1080. data/install/tools/mac/DataViewer.app/Contents/MacOS/main.sh +0 -10
  1081. data/install/tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb +0 -38
  1082. data/install/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
  1083. data/install/tools/mac/HandbookCreator.app/Contents/Info.plist +0 -38
  1084. data/install/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +0 -16
  1085. data/install/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +0 -10
  1086. data/install/tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb +0 -38
  1087. data/install/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
  1088. data/install/tools/mac/Launcher.app/Contents/Info.plist +0 -38
  1089. data/install/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +0 -16
  1090. data/install/tools/mac/Launcher.app/Contents/MacOS/main.sh +0 -10
  1091. data/install/tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb +0 -38
  1092. data/install/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
  1093. data/install/tools/mac/LimitsMonitor.app/Contents/Info.plist +0 -38
  1094. data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +0 -16
  1095. data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +0 -10
  1096. data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb +0 -38
  1097. data/install/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
  1098. data/install/tools/mac/OpenGLBuilder.app/Contents/Info.plist +0 -38
  1099. data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +0 -16
  1100. data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +0 -10
  1101. data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb +0 -38
  1102. data/install/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
  1103. data/install/tools/mac/PacketViewer.app/Contents/Info.plist +0 -38
  1104. data/install/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +0 -16
  1105. data/install/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +0 -10
  1106. data/install/tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb +0 -38
  1107. data/install/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
  1108. data/install/tools/mac/Replay.app/Contents/Info.plist +0 -38
  1109. data/install/tools/mac/Replay.app/Contents/MacOS/Replay.rb +0 -16
  1110. data/install/tools/mac/Replay.app/Contents/MacOS/main.sh +0 -10
  1111. data/install/tools/mac/Replay.app/Contents/MacOS/tool_launch.rb +0 -38
  1112. data/install/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
  1113. data/install/tools/mac/ScriptRunner.app/Contents/Info.plist +0 -38
  1114. data/install/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +0 -16
  1115. data/install/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +0 -10
  1116. data/install/tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb +0 -38
  1117. data/install/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
  1118. data/install/tools/mac/TableManager.app/Contents/Info.plist +0 -38
  1119. data/install/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +0 -16
  1120. data/install/tools/mac/TableManager.app/Contents/MacOS/main.sh +0 -10
  1121. data/install/tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb +0 -38
  1122. data/install/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
  1123. data/install/tools/mac/TestRunner.app/Contents/Info.plist +0 -38
  1124. data/install/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +0 -16
  1125. data/install/tools/mac/TestRunner.app/Contents/MacOS/main.sh +0 -10
  1126. data/install/tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb +0 -38
  1127. data/install/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
  1128. data/install/tools/mac/TlmExtractor.app/Contents/Info.plist +0 -38
  1129. data/install/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +0 -16
  1130. data/install/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +0 -10
  1131. data/install/tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb +0 -38
  1132. data/install/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
  1133. data/install/tools/mac/TlmGrapher.app/Contents/Info.plist +0 -38
  1134. data/install/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +0 -16
  1135. data/install/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +0 -10
  1136. data/install/tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb +0 -38
  1137. data/install/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
  1138. data/install/tools/mac/TlmViewer.app/Contents/Info.plist +0 -38
  1139. data/install/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +0 -16
  1140. data/install/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +0 -10
  1141. data/install/tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb +0 -38
  1142. data/install/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
  1143. data/install/tools/tool_launch.rb +0 -38
  1144. data/lib/cosmos/conversions/new_packet_log_conversion.rb +0 -52
  1145. data/lib/cosmos/dart/.rspec +0 -1
  1146. data/lib/cosmos/dart/Rakefile +0 -7
  1147. data/lib/cosmos/dart/app/assets/config/manifest.js +0 -4
  1148. data/lib/cosmos/dart/app/assets/images/.keep +0 -0
  1149. data/lib/cosmos/dart/app/assets/javascripts/application.js +0 -13
  1150. data/lib/cosmos/dart/app/assets/javascripts/cable.js +0 -13
  1151. data/lib/cosmos/dart/app/assets/stylesheets/application.css.scss +0 -15
  1152. data/lib/cosmos/dart/app/channels/application_cable/channel.rb +0 -4
  1153. data/lib/cosmos/dart/app/channels/application_cable/connection.rb +0 -4
  1154. data/lib/cosmos/dart/app/controllers/application_controller.rb +0 -3
  1155. data/lib/cosmos/dart/app/jobs/application_job.rb +0 -2
  1156. data/lib/cosmos/dart/app/mailers/application_mailer.rb +0 -4
  1157. data/lib/cosmos/dart/app/models/application_record.rb +0 -3
  1158. data/lib/cosmos/dart/app/models/item.rb +0 -6
  1159. data/lib/cosmos/dart/app/models/item_to_decom_table_mapping.rb +0 -9
  1160. data/lib/cosmos/dart/app/models/packet.rb +0 -4
  1161. data/lib/cosmos/dart/app/models/packet_config.rb +0 -7
  1162. data/lib/cosmos/dart/app/models/packet_log.rb +0 -3
  1163. data/lib/cosmos/dart/app/models/packet_log_entry.rb +0 -41
  1164. data/lib/cosmos/dart/app/models/status.rb +0 -2
  1165. data/lib/cosmos/dart/app/models/system_config.rb +0 -2
  1166. data/lib/cosmos/dart/app/models/target.rb +0 -4
  1167. data/lib/cosmos/dart/app/views/layouts/application.html.erb +0 -14
  1168. data/lib/cosmos/dart/app/views/layouts/mailer.html.erb +0 -13
  1169. data/lib/cosmos/dart/app/views/layouts/mailer.text.erb +0 -1
  1170. data/lib/cosmos/dart/bin/bundle +0 -3
  1171. data/lib/cosmos/dart/bin/rails +0 -4
  1172. data/lib/cosmos/dart/bin/rake +0 -4
  1173. data/lib/cosmos/dart/bin/setup +0 -34
  1174. data/lib/cosmos/dart/bin/update +0 -29
  1175. data/lib/cosmos/dart/config/application.rb +0 -29
  1176. data/lib/cosmos/dart/config/boot.rb +0 -3
  1177. data/lib/cosmos/dart/config/cable.yml +0 -9
  1178. data/lib/cosmos/dart/config/database.yml +0 -25
  1179. data/lib/cosmos/dart/config/environment.rb +0 -5
  1180. data/lib/cosmos/dart/config/environments/development.rb +0 -62
  1181. data/lib/cosmos/dart/config/environments/production.rb +0 -84
  1182. data/lib/cosmos/dart/config/environments/test.rb +0 -42
  1183. data/lib/cosmos/dart/config/initializers/application_controller_renderer.rb +0 -6
  1184. data/lib/cosmos/dart/config/initializers/assets.rb +0 -12
  1185. data/lib/cosmos/dart/config/initializers/backtrace_silencers.rb +0 -7
  1186. data/lib/cosmos/dart/config/initializers/cookies_serializer.rb +0 -5
  1187. data/lib/cosmos/dart/config/initializers/filter_parameter_logging.rb +0 -4
  1188. data/lib/cosmos/dart/config/initializers/inflections.rb +0 -16
  1189. data/lib/cosmos/dart/config/initializers/mime_types.rb +0 -4
  1190. data/lib/cosmos/dart/config/initializers/new_framework_defaults.rb +0 -25
  1191. data/lib/cosmos/dart/config/initializers/session_store.rb +0 -3
  1192. data/lib/cosmos/dart/config/initializers/wrap_parameters.rb +0 -14
  1193. data/lib/cosmos/dart/config/locales/en.yml +0 -23
  1194. data/lib/cosmos/dart/config/puma.rb +0 -47
  1195. data/lib/cosmos/dart/config/routes.rb +0 -3
  1196. data/lib/cosmos/dart/config/secrets.yml +0 -22
  1197. data/lib/cosmos/dart/config.ru +0 -5
  1198. data/lib/cosmos/dart/db/migrate/20170406172907_create_targets.rb +0 -8
  1199. data/lib/cosmos/dart/db/migrate/20170406172927_create_packets.rb +0 -10
  1200. data/lib/cosmos/dart/db/migrate/20170406172937_create_packet_logs.rb +0 -9
  1201. data/lib/cosmos/dart/db/migrate/20170406172943_create_packet_log_entries.rb +0 -16
  1202. data/lib/cosmos/dart/db/migrate/20170406183500_change_packet_log_entries_primary_key.rb +0 -5
  1203. data/lib/cosmos/dart/db/migrate/20170407153618_add_unique_requirements.rb +0 -7
  1204. data/lib/cosmos/dart/db/migrate/20170511155447_add_meta_id_to_packet_log_entries.rb +0 -6
  1205. data/lib/cosmos/dart/db/migrate/20170523185056_rename_received_time_and_add_is_tlm_to_packet_log_entries.rb +0 -7
  1206. data/lib/cosmos/dart/db/migrate/20170525201157_create_items.rb +0 -10
  1207. data/lib/cosmos/dart/db/migrate/20170525201315_create_system_configs.rb +0 -9
  1208. data/lib/cosmos/dart/db/migrate/20170525201624_create_packet_configs.rb +0 -11
  1209. data/lib/cosmos/dart/db/migrate/20170525201745_create_item_to_decom_table_mappings.rb +0 -12
  1210. data/lib/cosmos/dart/db/migrate/20170525201939_create_decom_tables.rb +0 -12
  1211. data/lib/cosmos/dart/db/migrate/20170525202051_add_decom_state_to_packet_log_entry.rb +0 -5
  1212. data/lib/cosmos/dart/db/migrate/20170913160409_update_items.rb +0 -6
  1213. data/lib/cosmos/dart/db/migrate/20170913160558_update_item_to_decom_table_mapping.rb +0 -11
  1214. data/lib/cosmos/dart/db/migrate/20170913160916_udpate_decom_table.rb +0 -6
  1215. data/lib/cosmos/dart/db/migrate/20170913212026_add_ready_to_packet_configs.rb +0 -5
  1216. data/lib/cosmos/dart/db/migrate/20170913223556_modify_tables.rb +0 -9
  1217. data/lib/cosmos/dart/db/migrate/20170914215744_modify_mapping_table.rb +0 -6
  1218. data/lib/cosmos/dart/db/migrate/20170919201433_add_system_config_id_to_packet_config.rb +0 -11
  1219. data/lib/cosmos/dart/db/migrate/20170919210307_add_max_table_index_to_packet_configs.rb +0 -5
  1220. data/lib/cosmos/dart/db/migrate/20171215225546_add_ready_to_packet_log_entries.rb +0 -5
  1221. data/lib/cosmos/dart/db/migrate/20180116214338_add_index_for_ple_ready_to_packet_log_entries.rb +0 -5
  1222. data/lib/cosmos/dart/db/migrate/20180423205644_create_statuses.rb +0 -22
  1223. data/lib/cosmos/dart/db/migrate/20180425211340_add_decom_state_index.rb +0 -5
  1224. data/lib/cosmos/dart/db/migrate/20180509204705_remove_indexes.rb +0 -29
  1225. data/lib/cosmos/dart/db/migrate/20180510160002_remove_timestamps_from_ples.rb +0 -6
  1226. data/lib/cosmos/dart/db/migrate/20180511194944_add_packet_log_id_to_tables.rb +0 -18
  1227. data/lib/cosmos/dart/db/schema.rb +0 -109
  1228. data/lib/cosmos/dart/db/seeds.rb +0 -15
  1229. data/lib/cosmos/dart/examples/dart_decom_client.rb +0 -45
  1230. data/lib/cosmos/dart/examples/dart_stream_client.rb +0 -97
  1231. data/lib/cosmos/dart/lib/dart_common.rb +0 -755
  1232. data/lib/cosmos/dart/lib/dart_constants.rb +0 -15
  1233. data/lib/cosmos/dart/lib/dart_database_cleaner.rb +0 -223
  1234. data/lib/cosmos/dart/lib/dart_decom_query.rb +0 -285
  1235. data/lib/cosmos/dart/lib/dart_decommutator.rb +0 -304
  1236. data/lib/cosmos/dart/lib/dart_importer.rb +0 -184
  1237. data/lib/cosmos/dart/lib/dart_logging.rb +0 -50
  1238. data/lib/cosmos/dart/lib/dart_master_query.rb +0 -71
  1239. data/lib/cosmos/dart/lib/dart_packet_log_writer.rb +0 -157
  1240. data/lib/cosmos/dart/lib/dart_reducer_manager.rb +0 -116
  1241. data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +0 -305
  1242. data/lib/cosmos/dart/lib/dart_tcpip_server_interface.rb +0 -142
  1243. data/lib/cosmos/dart/processes/dart.rb +0 -148
  1244. data/lib/cosmos/dart/processes/dart_decom_server.rb +0 -40
  1245. data/lib/cosmos/dart/processes/dart_import.rb +0 -64
  1246. data/lib/cosmos/dart/processes/dart_ingester.rb +0 -132
  1247. data/lib/cosmos/dart/processes/dart_master.rb +0 -44
  1248. data/lib/cosmos/dart/processes/dart_reducer.rb +0 -28
  1249. data/lib/cosmos/dart/processes/dart_stream_server.rb +0 -32
  1250. data/lib/cosmos/dart/processes/dart_util.rb +0 -262
  1251. data/lib/cosmos/dart/processes/dart_worker.rb +0 -38
  1252. data/lib/cosmos/dart/spec/dart/dart_common_spec.rb +0 -333
  1253. data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +0 -455
  1254. data/lib/cosmos/dart/spec/dart/dart_decom_query_spec.rb +0 -154
  1255. data/lib/cosmos/dart/spec/dart/dart_decommutator_spec.rb +0 -337
  1256. data/lib/cosmos/dart/spec/dart/dart_importer_spec.rb +0 -84
  1257. data/lib/cosmos/dart/spec/dart/dart_logging_spec.rb +0 -30
  1258. data/lib/cosmos/dart/spec/dart/dart_packet_log_writer_spec.rb +0 -152
  1259. data/lib/cosmos/dart/spec/dart/dart_reducer_manager_spec.rb +0 -290
  1260. data/lib/cosmos/dart/spec/dart/dart_tcpip_server_interface_spec.rb +0 -240
  1261. data/lib/cosmos/dart/spec/rails_helper.rb +0 -60
  1262. data/lib/cosmos/dart/spec/spec_helper.rb +0 -139
  1263. data/lib/cosmos/ext/.keep +0 -0
  1264. data/lib/cosmos/gui/choosers/combobox_chooser.rb +0 -141
  1265. data/lib/cosmos/gui/choosers/file_chooser.rb +0 -85
  1266. data/lib/cosmos/gui/choosers/float_chooser.rb +0 -67
  1267. data/lib/cosmos/gui/choosers/integer_chooser.rb +0 -69
  1268. data/lib/cosmos/gui/choosers/string_chooser.rb +0 -35
  1269. data/lib/cosmos/gui/choosers/telemetry_chooser.rb +0 -326
  1270. data/lib/cosmos/gui/choosers/value_chooser.rb +0 -67
  1271. data/lib/cosmos/gui/dialogs/about_dialog.rb +0 -166
  1272. data/lib/cosmos/gui/dialogs/calendar_dialog.rb +0 -140
  1273. data/lib/cosmos/gui/dialogs/cmd_details_dialog.rb +0 -51
  1274. data/lib/cosmos/gui/dialogs/cmd_tlm_raw_dialog.rb +0 -167
  1275. data/lib/cosmos/gui/dialogs/dart_dialog.rb +0 -60
  1276. data/lib/cosmos/gui/dialogs/details_dialog.rb +0 -205
  1277. data/lib/cosmos/gui/dialogs/exception_dialog.rb +0 -121
  1278. data/lib/cosmos/gui/dialogs/exception_list_dialog.rb +0 -60
  1279. data/lib/cosmos/gui/dialogs/find_replace_dialog.rb +0 -272
  1280. data/lib/cosmos/gui/dialogs/interface_raw_dialog.rb +0 -143
  1281. data/lib/cosmos/gui/dialogs/legal_dialog.rb +0 -184
  1282. data/lib/cosmos/gui/dialogs/packet_log_dialog.rb +0 -97
  1283. data/lib/cosmos/gui/dialogs/progress_dialog.rb +0 -313
  1284. data/lib/cosmos/gui/dialogs/pry_dialog.rb +0 -169
  1285. data/lib/cosmos/gui/dialogs/scroll_text_dialog.rb +0 -48
  1286. data/lib/cosmos/gui/dialogs/select_dialog.rb +0 -59
  1287. data/lib/cosmos/gui/dialogs/set_tlm_dialog.rb +0 -159
  1288. data/lib/cosmos/gui/dialogs/splash.rb +0 -145
  1289. data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +0 -202
  1290. data/lib/cosmos/gui/dialogs/tlm_edit_dialog.rb +0 -79
  1291. data/lib/cosmos/gui/dialogs/tlm_graph_dialog.rb +0 -110
  1292. data/lib/cosmos/gui/line_graph/line_graph.rb +0 -482
  1293. data/lib/cosmos/gui/line_graph/line_graph_dialog.rb +0 -36
  1294. data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +0 -521
  1295. data/lib/cosmos/gui/line_graph/line_graph_popups.rb +0 -112
  1296. data/lib/cosmos/gui/line_graph/line_graph_scaling.rb +0 -452
  1297. data/lib/cosmos/gui/line_graph/line_graph_script.rb +0 -81
  1298. data/lib/cosmos/gui/line_graph/lines.rb +0 -304
  1299. data/lib/cosmos/gui/line_graph/overview_graph.rb +0 -474
  1300. data/lib/cosmos/gui/opengl/earth_model.rb +0 -25
  1301. data/lib/cosmos/gui/opengl/gl_bounds.rb +0 -55
  1302. data/lib/cosmos/gui/opengl/gl_light.rb +0 -38
  1303. data/lib/cosmos/gui/opengl/gl_material.rb +0 -28
  1304. data/lib/cosmos/gui/opengl/gl_scene.rb +0 -78
  1305. data/lib/cosmos/gui/opengl/gl_shape.rb +0 -148
  1306. data/lib/cosmos/gui/opengl/gl_viewer.rb +0 -715
  1307. data/lib/cosmos/gui/opengl/gl_viewport.rb +0 -34
  1308. data/lib/cosmos/gui/opengl/moon_model.rb +0 -25
  1309. data/lib/cosmos/gui/opengl/opengl.rb +0 -14
  1310. data/lib/cosmos/gui/opengl/stl_reader.rb +0 -210
  1311. data/lib/cosmos/gui/opengl/stl_shape.rb +0 -127
  1312. data/lib/cosmos/gui/opengl/texture_mapped_sphere.rb +0 -204
  1313. data/lib/cosmos/gui/qt.rb +0 -858
  1314. data/lib/cosmos/gui/qt_tool.rb +0 -524
  1315. data/lib/cosmos/gui/text/completion.rb +0 -403
  1316. data/lib/cosmos/gui/text/completion_line_edit.rb +0 -30
  1317. data/lib/cosmos/gui/text/completion_text_edit.rb +0 -198
  1318. data/lib/cosmos/gui/text/ruby_editor.rb +0 -505
  1319. data/lib/cosmos/gui/utilities/analyze_log.rb +0 -153
  1320. data/lib/cosmos/gui/utilities/classification_banner.rb +0 -60
  1321. data/lib/cosmos/gui/utilities/screenshot.rb +0 -33
  1322. data/lib/cosmos/gui/utilities/script_module_gui.rb +0 -390
  1323. data/lib/cosmos/gui/widgets/dart_frame.rb +0 -142
  1324. data/lib/cosmos/gui/widgets/dart_meta_frame.rb +0 -145
  1325. data/lib/cosmos/gui/widgets/full_text_search_line_edit.rb +0 -171
  1326. data/lib/cosmos/gui/widgets/packet_log_frame.rb +0 -374
  1327. data/lib/cosmos/gui/widgets/realtime_button_bar.rb +0 -99
  1328. data/lib/cosmos/interfaces/cmd_tlm_server_interface.rb +0 -134
  1329. data/lib/cosmos/interfaces/dart_status_interface.rb +0 -91
  1330. data/lib/cosmos/packet_logs/ccsds_log_reader.rb +0 -104
  1331. data/lib/cosmos/packet_logs/packet_log_reader.rb +0 -504
  1332. data/lib/cosmos/packet_logs/packet_log_writer.rb +0 -353
  1333. data/lib/cosmos/packet_logs/packet_log_writer_pair.rb +0 -30
  1334. data/lib/cosmos/packet_logs.rb +0 -6
  1335. data/lib/cosmos/packets/parsers/macro_parser.rb +0 -121
  1336. data/lib/cosmos/processors/new_packet_log_processor.rb +0 -39
  1337. data/lib/cosmos/script/cmd_tlm_server.rb +0 -216
  1338. data/lib/cosmos/script/replay.rb +0 -60
  1339. data/lib/cosmos/script/scripting.rb +0 -146
  1340. data/lib/cosmos/script/telemetry.rb +0 -218
  1341. data/lib/cosmos/script/tools.rb +0 -121
  1342. data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +0 -470
  1343. data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +0 -94
  1344. data/lib/cosmos/tools/cmd_sender/cmd_params.rb +0 -382
  1345. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +0 -533
  1346. data/lib/cosmos/tools/cmd_sender/cmd_sender_text_edit.rb +0 -70
  1347. data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +0 -769
  1348. data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +0 -221
  1349. data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +0 -206
  1350. data/lib/cosmos/tools/cmd_tlm_server/background_task.rb +0 -54
  1351. data/lib/cosmos/tools/cmd_tlm_server/background_tasks.rb +0 -82
  1352. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +0 -785
  1353. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +0 -650
  1354. data/lib/cosmos/tools/cmd_tlm_server/commanding.rb +0 -132
  1355. data/lib/cosmos/tools/cmd_tlm_server/connections.rb +0 -175
  1356. data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +0 -216
  1357. data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +0 -181
  1358. data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +0 -163
  1359. data/lib/cosmos/tools/cmd_tlm_server/gui/replay_tab.rb +0 -319
  1360. data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +0 -270
  1361. data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +0 -93
  1362. data/lib/cosmos/tools/cmd_tlm_server/interfaces.rb +0 -153
  1363. data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +0 -124
  1364. data/lib/cosmos/tools/cmd_tlm_server/packet_logging.rb +0 -161
  1365. data/lib/cosmos/tools/cmd_tlm_server/replay_backend.rb +0 -511
  1366. data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +0 -71
  1367. data/lib/cosmos/tools/cmd_tlm_server/routers.rb +0 -144
  1368. data/lib/cosmos/tools/config_editor/config_editor.rb +0 -918
  1369. data/lib/cosmos/tools/config_editor/config_editor_frame.rb +0 -686
  1370. data/lib/cosmos/tools/config_editor/system_config_dialog.rb +0 -158
  1371. data/lib/cosmos/tools/data_viewer/data_viewer.rb +0 -789
  1372. data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +0 -121
  1373. data/lib/cosmos/tools/data_viewer/dump_component.rb +0 -34
  1374. data/lib/cosmos/tools/data_viewer/text_component.rb +0 -77
  1375. data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +0 -182
  1376. data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +0 -380
  1377. data/lib/cosmos/tools/launcher/launcher.rb +0 -195
  1378. data/lib/cosmos/tools/launcher/launcher_config.rb +0 -245
  1379. data/lib/cosmos/tools/launcher/launcher_multitool.rb +0 -40
  1380. data/lib/cosmos/tools/launcher/launcher_tool.rb +0 -116
  1381. data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +0 -1029
  1382. data/lib/cosmos/tools/opengl_builder/opengl_builder.rb +0 -416
  1383. data/lib/cosmos/tools/opengl_builder/scene_config.rb +0 -118
  1384. data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +0 -641
  1385. data/lib/cosmos/tools/replay/replay.rb +0 -17
  1386. data/lib/cosmos/tools/script_runner/script_audit.rb +0 -148
  1387. data/lib/cosmos/tools/script_runner/script_runner.rb +0 -1066
  1388. data/lib/cosmos/tools/script_runner/script_runner_config.rb +0 -53
  1389. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +0 -1985
  1390. data/lib/cosmos/tools/table_manager/table_manager.rb +0 -1152
  1391. data/lib/cosmos/tools/test_runner/results_writer.rb +0 -287
  1392. data/lib/cosmos/tools/test_runner/test_runner.rb +0 -1302
  1393. data/lib/cosmos/tools/test_runner/test_runner_chooser.rb +0 -353
  1394. data/lib/cosmos/tools/tlm_extractor/text_item_chooser.rb +0 -60
  1395. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +0 -1305
  1396. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +0 -535
  1397. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +0 -131
  1398. data/lib/cosmos/tools/tlm_grapher/data_object_adders/housekeeping_data_object_adder.rb +0 -92
  1399. data/lib/cosmos/tools/tlm_grapher/data_object_adders/singlexy_data_object_adder.rb +0 -44
  1400. data/lib/cosmos/tools/tlm_grapher/data_object_adders/xy_data_object_adder.rb +0 -95
  1401. data/lib/cosmos/tools/tlm_grapher/data_object_editors/data_object_editor.rb +0 -61
  1402. data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +0 -250
  1403. data/lib/cosmos/tools/tlm_grapher/data_object_editors/linegraph_data_object_editor.rb +0 -141
  1404. data/lib/cosmos/tools/tlm_grapher/data_object_editors/singlexy_data_object_editor.rb +0 -30
  1405. data/lib/cosmos/tools/tlm_grapher/data_object_editors/xy_data_object_editor.rb +0 -210
  1406. data/lib/cosmos/tools/tlm_grapher/data_objects/data_object.rb +0 -232
  1407. data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +0 -503
  1408. data/lib/cosmos/tools/tlm_grapher/data_objects/linegraph_data_object.rb +0 -173
  1409. data/lib/cosmos/tools/tlm_grapher/data_objects/singlexy_data_object.rb +0 -21
  1410. data/lib/cosmos/tools/tlm_grapher/data_objects/xy_data_object.rb +0 -381
  1411. data/lib/cosmos/tools/tlm_grapher/plot_editors/linegraph_plot_editor.rb +0 -191
  1412. data/lib/cosmos/tools/tlm_grapher/plot_editors/plot_editor.rb +0 -28
  1413. data/lib/cosmos/tools/tlm_grapher/plot_editors/singlexy_plot_editor.rb +0 -30
  1414. data/lib/cosmos/tools/tlm_grapher/plot_editors/xy_plot_editor.rb +0 -59
  1415. data/lib/cosmos/tools/tlm_grapher/plot_gui_objects/linegraph_plot_gui_object.rb +0 -173
  1416. data/lib/cosmos/tools/tlm_grapher/plot_gui_objects/singlexy_plot_gui_object.rb +0 -27
  1417. data/lib/cosmos/tools/tlm_grapher/plot_gui_objects/xy_plot_gui_object.rb +0 -74
  1418. data/lib/cosmos/tools/tlm_grapher/plots/linegraph_plot.rb +0 -209
  1419. data/lib/cosmos/tools/tlm_grapher/plots/plot.rb +0 -69
  1420. data/lib/cosmos/tools/tlm_grapher/plots/singlexy_plot.rb +0 -20
  1421. data/lib/cosmos/tools/tlm_grapher/plots/xy_plot.rb +0 -61
  1422. data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +0 -1291
  1423. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +0 -447
  1424. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +0 -164
  1425. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_data_object_editor.rb +0 -107
  1426. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_logfile_thread.rb +0 -114
  1427. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_plot_editor.rb +0 -101
  1428. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_realtime_thread.rb +0 -79
  1429. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tab.rb +0 -57
  1430. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tool.rb +0 -1079
  1431. data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +0 -104
  1432. data/lib/cosmos/tools/tlm_viewer/screen.rb +0 -590
  1433. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +0 -615
  1434. data/lib/cosmos/tools/tlm_viewer/tlm_viewer_config.rb +0 -314
  1435. data/lib/cosmos/tools/tlm_viewer/widgets/aging_widget.rb +0 -109
  1436. data/lib/cosmos/tools/tlm_viewer/widgets/array_widget.rb +0 -65
  1437. data/lib/cosmos/tools/tlm_viewer/widgets/backgroundbutton_widget.rb +0 -54
  1438. data/lib/cosmos/tools/tlm_viewer/widgets/block_widget.rb +0 -56
  1439. data/lib/cosmos/tools/tlm_viewer/widgets/button_widget.rb +0 -39
  1440. data/lib/cosmos/tools/tlm_viewer/widgets/canvas_clickable.rb +0 -47
  1441. data/lib/cosmos/tools/tlm_viewer/widgets/canvas_widget.rb +0 -84
  1442. data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +0 -78
  1443. data/lib/cosmos/tools/tlm_viewer/widgets/canvasellipse_widget.rb +0 -40
  1444. data/lib/cosmos/tools/tlm_viewer/widgets/canvasimage_widget.rb +0 -48
  1445. data/lib/cosmos/tools/tlm_viewer/widgets/canvasimagevalue_widget.rb +0 -109
  1446. data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabel_widget.rb +0 -45
  1447. data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabelvalue_widget.rb +0 -55
  1448. data/lib/cosmos/tools/tlm_viewer/widgets/canvasline_widget.rb +0 -55
  1449. data/lib/cosmos/tools/tlm_viewer/widgets/canvaslinevalue_widget.rb +0 -67
  1450. data/lib/cosmos/tools/tlm_viewer/widgets/canvasvalue_widget.rb +0 -131
  1451. data/lib/cosmos/tools/tlm_viewer/widgets/checkbutton_widget.rb +0 -40
  1452. data/lib/cosmos/tools/tlm_viewer/widgets/combobox_widget.rb +0 -32
  1453. data/lib/cosmos/tools/tlm_viewer/widgets/formatfontvalue_widget.rb +0 -31
  1454. data/lib/cosmos/tools/tlm_viewer/widgets/formatvalue_widget.rb +0 -32
  1455. data/lib/cosmos/tools/tlm_viewer/widgets/horizontal_widget.rb +0 -27
  1456. data/lib/cosmos/tools/tlm_viewer/widgets/horizontalbox_widget.rb +0 -30
  1457. data/lib/cosmos/tools/tlm_viewer/widgets/horizontalline_widget.rb +0 -24
  1458. data/lib/cosmos/tools/tlm_viewer/widgets/label_widget.rb +0 -31
  1459. data/lib/cosmos/tools/tlm_viewer/widgets/labelformatvalue_widget.rb +0 -38
  1460. data/lib/cosmos/tools/tlm_viewer/widgets/labelled_widget.rb +0 -58
  1461. data/lib/cosmos/tools/tlm_viewer/widgets/labelprogressbar_widget.rb +0 -37
  1462. data/lib/cosmos/tools/tlm_viewer/widgets/labeltrendlimitsbar_widget.rb +0 -36
  1463. data/lib/cosmos/tools/tlm_viewer/widgets/labelvalue_widget.rb +0 -58
  1464. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluedesc_widget.rb +0 -40
  1465. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluelimitsbar_widget.rb +0 -36
  1466. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluelimitscolumn_widget.rb +0 -37
  1467. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangebar_widget.rb +0 -36
  1468. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangecolumn_widget.rb +0 -38
  1469. data/lib/cosmos/tools/tlm_viewer/widgets/layout_widget.rb +0 -32
  1470. data/lib/cosmos/tools/tlm_viewer/widgets/led_widget.rb +0 -108
  1471. data/lib/cosmos/tools/tlm_viewer/widgets/limits_widget.rb +0 -163
  1472. data/lib/cosmos/tools/tlm_viewer/widgets/limitsbar_widget.rb +0 -130
  1473. data/lib/cosmos/tools/tlm_viewer/widgets/limitscolor_widget.rb +0 -108
  1474. data/lib/cosmos/tools/tlm_viewer/widgets/limitscolumn_widget.rb +0 -130
  1475. data/lib/cosmos/tools/tlm_viewer/widgets/linegraph_widget.rb +0 -62
  1476. data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +0 -59
  1477. data/lib/cosmos/tools/tlm_viewer/widgets/multi_widget.rb +0 -114
  1478. data/lib/cosmos/tools/tlm_viewer/widgets/progressbar_widget.rb +0 -39
  1479. data/lib/cosmos/tools/tlm_viewer/widgets/radiobutton_widget.rb +0 -41
  1480. data/lib/cosmos/tools/tlm_viewer/widgets/rangebar_widget.rb +0 -63
  1481. data/lib/cosmos/tools/tlm_viewer/widgets/rangecolumn_widget.rb +0 -63
  1482. data/lib/cosmos/tools/tlm_viewer/widgets/screenshotbutton_widget.rb +0 -35
  1483. data/lib/cosmos/tools/tlm_viewer/widgets/scrollwindow_widget.rb +0 -34
  1484. data/lib/cosmos/tools/tlm_viewer/widgets/sectionheader_widget.rb +0 -32
  1485. data/lib/cosmos/tools/tlm_viewer/widgets/spacer_widget.rb +0 -53
  1486. data/lib/cosmos/tools/tlm_viewer/widgets/tabbook_widget.rb +0 -25
  1487. data/lib/cosmos/tools/tlm_viewer/widgets/tabitem_widget.rb +0 -27
  1488. data/lib/cosmos/tools/tlm_viewer/widgets/textbox_widget.rb +0 -56
  1489. data/lib/cosmos/tools/tlm_viewer/widgets/textfield_widget.rb +0 -25
  1490. data/lib/cosmos/tools/tlm_viewer/widgets/timegraph_widget.rb +0 -86
  1491. data/lib/cosmos/tools/tlm_viewer/widgets/title_widget.rb +0 -21
  1492. data/lib/cosmos/tools/tlm_viewer/widgets/trendbar_widget.rb +0 -125
  1493. data/lib/cosmos/tools/tlm_viewer/widgets/trendlimitsbar_widget.rb +0 -48
  1494. data/lib/cosmos/tools/tlm_viewer/widgets/value_widget.rb +0 -43
  1495. data/lib/cosmos/tools/tlm_viewer/widgets/valuelimitsbar_widget.rb +0 -36
  1496. data/lib/cosmos/tools/tlm_viewer/widgets/valuelimitscolumn_widget.rb +0 -36
  1497. data/lib/cosmos/tools/tlm_viewer/widgets/valuerangebar_widget.rb +0 -36
  1498. data/lib/cosmos/tools/tlm_viewer/widgets/valuerangecolumn_widget.rb +0 -36
  1499. data/lib/cosmos/tools/tlm_viewer/widgets/vertical_widget.rb +0 -37
  1500. data/lib/cosmos/tools/tlm_viewer/widgets/verticalbox_widget.rb +0 -40
  1501. data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +0 -270
  1502. data/lib/cosmos/tools/tlm_viewer/widgets.rb +0 -65
  1503. data/lib/cosmos/utilities/low_fragmentation_array.rb +0 -19
  1504. data/make_gems.sh +0 -10
  1505. data/roodi.yml +0 -24
  1506. data/run_gui_tests.bat +0 -46
  1507. data/spec/ccsds/ccsds_packet_spec.rb +0 -67
  1508. data/spec/ccsds/ccsds_parser_spec.rb +0 -148
  1509. data/spec/config/config_parser_spec.rb +0 -399
  1510. data/spec/conversions/conversion_spec.rb +0 -31
  1511. data/spec/conversions/generic_conversion_spec.rb +0 -45
  1512. data/spec/conversions/new_packet_log_conversion_spec.rb +0 -39
  1513. data/spec/conversions/packet_time_formatted_conversion_spec.rb +0 -58
  1514. data/spec/conversions/packet_time_seconds_conversion_spec.rb +0 -60
  1515. data/spec/conversions/polynomial_conversion_spec.rb +0 -40
  1516. data/spec/conversions/processor_conversion_spec.rb +0 -45
  1517. data/spec/conversions/received_count_conversion_spec.rb +0 -43
  1518. data/spec/conversions/received_time_formatted_conversion_spec.rb +0 -49
  1519. data/spec/conversions/received_time_seconds_conversion_spec.rb +0 -50
  1520. data/spec/conversions/segmented_polynomial_conversion_spec.rb +0 -51
  1521. data/spec/conversions/unix_time_formatted_conversion_spec.rb +0 -74
  1522. data/spec/conversions/unix_time_seconds_conversion_spec.rb +0 -76
  1523. data/spec/core_ext/array_spec.rb +0 -247
  1524. data/spec/core_ext/class_spec.rb +0 -90
  1525. data/spec/core_ext/cosmos_io_spec.rb +0 -77
  1526. data/spec/core_ext/exception_spec.rb +0 -91
  1527. data/spec/core_ext/file_spec.rb +0 -72
  1528. data/spec/core_ext/hash_spec.rb +0 -24
  1529. data/spec/core_ext/io_spec.rb +0 -46
  1530. data/spec/core_ext/kernel_spec.rb +0 -54
  1531. data/spec/core_ext/math_spec.rb +0 -116
  1532. data/spec/core_ext/matrix_spec.rb +0 -127
  1533. data/spec/core_ext/objectspace_spec.rb +0 -32
  1534. data/spec/core_ext/range_spec.rb +0 -21
  1535. data/spec/core_ext/socket_spec.rb +0 -34
  1536. data/spec/core_ext/string_spec.rb +0 -239
  1537. data/spec/core_ext/stringio_spec.rb +0 -21
  1538. data/spec/core_ext/time_spec.rb +0 -222
  1539. data/spec/gui/line_graph/line_clip_spec.rb +0 -324
  1540. data/spec/gui/qt_spec.rb +0 -104
  1541. data/spec/gui/utilities/script_module_gui_spec.rb +0 -83
  1542. data/spec/install/config/data/data.txt +0 -1
  1543. data/spec/install/config/system/system.txt +0 -27
  1544. data/spec/install/config/targets/INST/cmd_tlm/inst_cmd_linc.txt +0 -30
  1545. data/spec/install/config/targets/INST/cmd_tlm/inst_cmds.txt +0 -113
  1546. data/spec/install/config/targets/INST/cmd_tlm/inst_tlm.txt +0 -236
  1547. data/spec/install/config/targets/INST/cmd_tlm/inst_tlm_linc.txt +0 -25
  1548. data/spec/install/config/targets/INST/cmd_tlm_server.txt +0 -5
  1549. data/spec/install/config/targets/INST/lib/sim_inst.rb +0 -305
  1550. data/spec/install/config/targets/INST/screens/hs.txt +0 -42
  1551. data/spec/install/config/targets/INST/target.txt +0 -12
  1552. data/spec/install/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +0 -7
  1553. data/spec/install/config/targets/SYSTEM/cmd_tlm/meta_tlm.txt +0 -10
  1554. data/spec/install/config/targets/SYSTEM/cmd_tlm/system_cmds.txt +0 -41
  1555. data/spec/install/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +0 -7
  1556. data/spec/install/config/targets/SYSTEM/cmd_tlm_server.txt +0 -6
  1557. data/spec/install/config/targets/SYSTEM/screens/status.txt +0 -12
  1558. data/spec/install/config/targets/SYSTEM/target.txt +0 -12
  1559. data/spec/install/config/tools/cmd_tlm_server/cmd_tlm_server.txt +0 -4
  1560. data/spec/install/lib/README.txt +0 -1
  1561. data/spec/install/yaml_docs_spec.rb +0 -132
  1562. data/spec/interfaces/cmd_tlm_server_interface_spec.rb +0 -149
  1563. data/spec/interfaces/interface_spec.rb +0 -513
  1564. data/spec/interfaces/linc_interface_spec.rb +0 -243
  1565. data/spec/interfaces/protocols/burst_protocol_spec.rb +0 -318
  1566. data/spec/interfaces/protocols/crc_protocol_spec.rb +0 -825
  1567. data/spec/interfaces/protocols/fixed_protocol_spec.rb +0 -154
  1568. data/spec/interfaces/protocols/ignore_packet_protocol_spec.rb +0 -243
  1569. data/spec/interfaces/protocols/length_protocol_spec.rb +0 -587
  1570. data/spec/interfaces/protocols/override_protocol_spec.rb +0 -162
  1571. data/spec/interfaces/protocols/preidentified_protocol_spec.rb +0 -368
  1572. data/spec/interfaces/protocols/template_protocol_spec.rb +0 -444
  1573. data/spec/interfaces/protocols/terminated_protocol_spec.rb +0 -174
  1574. data/spec/interfaces/serial_interface_spec.rb +0 -66
  1575. data/spec/interfaces/simulated_target_interface_spec.rb +0 -128
  1576. data/spec/interfaces/tcpip_client_interface_spec.rb +0 -60
  1577. data/spec/interfaces/tcpip_server_interface_spec.rb +0 -157
  1578. data/spec/interfaces/udp_interface_spec.rb +0 -249
  1579. data/spec/io/buffered_file_spec.rb +0 -146
  1580. data/spec/io/io_multiplexer_spec.rb +0 -102
  1581. data/spec/io/json_drb_object_spec.rb +0 -106
  1582. data/spec/io/json_drb_rack_spec.rb +0 -166
  1583. data/spec/io/json_drb_spec.rb +0 -251
  1584. data/spec/io/json_rpc_spec.rb +0 -270
  1585. data/spec/io/posix_serial_driver_spec.rb +0 -87
  1586. data/spec/io/raw_logger_pair_spec.rb +0 -76
  1587. data/spec/io/raw_logger_spec.rb +0 -138
  1588. data/spec/io/serial_driver_spec.rb +0 -64
  1589. data/spec/io/stderr_spec.rb +0 -32
  1590. data/spec/io/stdout_spec.rb +0 -32
  1591. data/spec/io/udp_sockets_spec.rb +0 -139
  1592. data/spec/io/win32_serial_driver_spec.rb +0 -129
  1593. data/spec/packet_logs/packet_log_reader_spec.rb +0 -607
  1594. data/spec/packet_logs/packet_log_writer_pair_spec.rb +0 -30
  1595. data/spec/packet_logs/packet_log_writer_spec.rb +0 -227
  1596. data/spec/packets/binary_accessor_spec.rb +0 -2323
  1597. data/spec/packets/commands_spec.rb +0 -401
  1598. data/spec/packets/limits_response_spec.rb +0 -25
  1599. data/spec/packets/limits_spec.rb +0 -344
  1600. data/spec/packets/packet_config_spec.rb +0 -862
  1601. data/spec/packets/packet_item_limits_spec.rb +0 -161
  1602. data/spec/packets/packet_item_spec.rb +0 -450
  1603. data/spec/packets/packet_spec.rb +0 -1499
  1604. data/spec/packets/parsers/format_string_parser_spec.rb +0 -122
  1605. data/spec/packets/parsers/limits_parser_spec.rb +0 -293
  1606. data/spec/packets/parsers/limits_response_parser_spec.rb +0 -149
  1607. data/spec/packets/parsers/macro_parser_spec.rb +0 -220
  1608. data/spec/packets/parsers/packet_item_parser_spec.rb +0 -405
  1609. data/spec/packets/parsers/packet_parser_spec.rb +0 -99
  1610. data/spec/packets/parsers/processor_parser_spec.rb +0 -114
  1611. data/spec/packets/parsers/state_parser_spec.rb +0 -247
  1612. data/spec/packets/parsers/xtce_parser_spec.rb +0 -395
  1613. data/spec/packets/structure_item_spec.rb +0 -200
  1614. data/spec/packets/structure_spec.rb +0 -657
  1615. data/spec/packets/telemetry_spec.rb +0 -629
  1616. data/spec/processors/new_packet_log_processor_spec.rb +0 -39
  1617. data/spec/processors/processor_spec.rb +0 -55
  1618. data/spec/processors/statistics_processor_spec.rb +0 -95
  1619. data/spec/processors/watermark_processor_spec.rb +0 -51
  1620. data/spec/script/cmd_tlm_server_spec.rb +0 -194
  1621. data/spec/script/commands_disconnect_spec.rb +0 -258
  1622. data/spec/script/commands_spec.rb +0 -283
  1623. data/spec/script/extract_spec.rb +0 -166
  1624. data/spec/script/limits_spec.rb +0 -133
  1625. data/spec/script/script_spec.rb +0 -80
  1626. data/spec/script/scripting_spec.rb +0 -742
  1627. data/spec/script/telemetry_spec.rb +0 -186
  1628. data/spec/script/tools_spec.rb +0 -111
  1629. data/spec/spec_helper.rb +0 -248
  1630. data/spec/streams/serial_stream_spec.rb +0 -122
  1631. data/spec/streams/stream_spec.rb +0 -30
  1632. data/spec/streams/tcpip_client_stream_spec.rb +0 -65
  1633. data/spec/streams/tcpip_socket_stream_spec.rb +0 -231
  1634. data/spec/system/system_spec.rb +0 -1081
  1635. data/spec/system/target_spec.rb +0 -368
  1636. data/spec/tools/cmd_tlm_server/api_spec.rb +0 -1656
  1637. data/spec/tools/cmd_tlm_server/background_task_spec.rb +0 -44
  1638. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +0 -190
  1639. data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +0 -785
  1640. data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +0 -496
  1641. data/spec/tools/cmd_tlm_server/commanding_spec.rb +0 -171
  1642. data/spec/tools/cmd_tlm_server/connections_spec.rb +0 -231
  1643. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +0 -319
  1644. data/spec/tools/cmd_tlm_server/interfaces_spec.rb +0 -248
  1645. data/spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb +0 -153
  1646. data/spec/tools/cmd_tlm_server/packet_logging_spec.rb +0 -139
  1647. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +0 -150
  1648. data/spec/tools/cmd_tlm_server/routers_spec.rb +0 -219
  1649. data/spec/tools/launcher/launcher_config_spec.rb +0 -474
  1650. data/spec/tools/table_manager/table_config_spec.rb +0 -225
  1651. data/spec/tools/table_manager/table_item_parser_spec.rb +0 -61
  1652. data/spec/tools/table_manager/table_item_spec.rb +0 -57
  1653. data/spec/tools/table_manager/table_parser_spec.rb +0 -96
  1654. data/spec/tools/table_manager/table_spec.rb +0 -90
  1655. data/spec/tools/table_manager/tablemanager_core_spec.rb +0 -556
  1656. data/spec/tools/tlm_viewer/tlm_viewer_config_spec.rb +0 -403
  1657. data/spec/top_level/top_level_spec.rb +0 -545
  1658. data/spec/utilities/crc_spec.rb +0 -45
  1659. data/spec/utilities/csv_spec.rb +0 -148
  1660. data/spec/utilities/logger_spec.rb +0 -102
  1661. data/spec/utilities/message_log_spec.rb +0 -84
  1662. data/spec/utilities/quaternion_spec.rb +0 -107
  1663. data/spec/utilities/ruby_lex_utils_spec.rb +0 -86
  1664. data/tasks/manifest.rake +0 -22
  1665. data/test/benchmarks/binary_accessor_benchmark.rb +0 -14
  1666. data/test/benchmarks/gsub_benchmark.rb +0 -152
  1667. data/test/benchmarks/is_a_benchmark.rb +0 -34
  1668. data/test/performance/PACKETS.bat +0 -1
  1669. data/test/performance/Rakefile +0 -77
  1670. data/test/performance/THREADS.bat +0 -1
  1671. data/test/performance/config/data/attitude.bin +0 -0
  1672. data/test/performance/config/data/crc.txt +0 -215
  1673. data/test/performance/config/data/diamond.STL +0 -58
  1674. data/test/performance/config/data/groundoff.gif +0 -0
  1675. data/test/performance/config/data/groundon.gif +0 -0
  1676. data/test/performance/config/data/hselectoff.gif +0 -0
  1677. data/test/performance/config/data/hselecton.gif +0 -0
  1678. data/test/performance/config/data/hswitchoff.gif +0 -0
  1679. data/test/performance/config/data/hswitchon.gif +0 -0
  1680. data/test/performance/config/data/meta_init.txt +0 -4
  1681. data/test/performance/config/data/position.bin +0 -0
  1682. data/test/performance/config/data/poweroff.gif +0 -0
  1683. data/test/performance/config/data/poweron.gif +0 -0
  1684. data/test/performance/config/data/satellite.gif +0 -0
  1685. data/test/performance/config/data/tada.wav +0 -0
  1686. data/test/performance/config/data/vswitchoff.gif +0 -0
  1687. data/test/performance/config/data/vswitchon.gif +0 -0
  1688. data/test/performance/config/system/system.txt +0 -0
  1689. data/test/performance/config/system/system_packets.txt +0 -38
  1690. data/test/performance/config/system/system_threads.txt +0 -58
  1691. data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +0 -46
  1692. data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
  1693. data/test/performance/config/targets/COSMOS/cmd_tlm_server.txt +0 -6
  1694. data/test/performance/config/targets/COSMOS/screens/limits_change.txt +0 -20
  1695. data/test/performance/config/targets/COSMOS/screens/version.txt +0 -19
  1696. data/test/performance/config/targets/COSMOS/target.txt +0 -11
  1697. data/test/performance/config/targets/PACKET/cmd_tlm/packet_cmds.txt +0 -20
  1698. data/test/performance/config/targets/PACKET/cmd_tlm/packet_tlm.txt +0 -98
  1699. data/test/performance/config/targets/PACKET/cmd_tlm_server.txt +0 -6
  1700. data/test/performance/config/targets/PACKET/lib/packet_interface.rb +0 -22
  1701. data/test/performance/config/targets/PACKET/lib/packet_limits_response.rb +0 -24
  1702. data/test/performance/config/targets/PACKET/screens/status.txt +0 -25
  1703. data/test/performance/config/targets/PACKET/target.txt +0 -28
  1704. data/test/performance/config/targets/SYSTEM/screens/status.txt +0 -12
  1705. data/test/performance/config/targets/THREAD/cmd_tlm/thread_cmds.txt +0 -17
  1706. data/test/performance/config/targets/THREAD/cmd_tlm/thread_tlm.txt +0 -18
  1707. data/test/performance/config/targets/THREAD/cmd_tlm_server.txt +0 -6
  1708. data/test/performance/config/targets/THREAD/lib/thread_interface.rb +0 -22
  1709. data/test/performance/config/targets/THREAD/screens/status.txt +0 -25
  1710. data/test/performance/config/targets/THREAD/target.txt +0 -7
  1711. data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_packets.txt +0 -28
  1712. data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_threads.txt +0 -68
  1713. data/test/performance/config/tools/data_viewer/data_viewer.txt +0 -11
  1714. data/test/performance/config/tools/handbook_creator/assets/css/bootstrap-theme.css +0 -397
  1715. data/test/performance/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +0 -7
  1716. data/test/performance/config/tools/handbook_creator/assets/css/bootstrap.css +0 -7118
  1717. data/test/performance/config/tools/handbook_creator/assets/css/bootstrap.min.css +0 -7
  1718. data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  1719. data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +0 -229
  1720. data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  1721. data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  1722. data/test/performance/config/tools/handbook_creator/assets/img/ball_logo.bmp +0 -0
  1723. data/test/performance/config/tools/handbook_creator/assets/img/ball_logo.gif +0 -0
  1724. data/test/performance/config/tools/handbook_creator/assets/img/ball_logo.jpg +0 -0
  1725. data/test/performance/config/tools/handbook_creator/assets/js/bootstrap.js +0 -2006
  1726. data/test/performance/config/tools/handbook_creator/assets/js/bootstrap.min.js +0 -7
  1727. data/test/performance/config/tools/handbook_creator/assets/js/html5shiv.js +0 -8
  1728. data/test/performance/config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js +0 -6
  1729. data/test/performance/config/tools/handbook_creator/assets/js/respond.min.js +0 -6
  1730. data/test/performance/config/tools/handbook_creator/default_toc.xsl +0 -59
  1731. data/test/performance/config/tools/handbook_creator/handbook_creator.txt +0 -66
  1732. data/test/performance/config/tools/handbook_creator/templates/command_packets.html.erb +0 -86
  1733. data/test/performance/config/tools/handbook_creator/templates/command_toc.html.erb +0 -38
  1734. data/test/performance/config/tools/handbook_creator/templates/footer.html.erb +0 -9
  1735. data/test/performance/config/tools/handbook_creator/templates/header.html.erb +0 -25
  1736. data/test/performance/config/tools/handbook_creator/templates/limits_groups.html.erb +0 -13
  1737. data/test/performance/config/tools/handbook_creator/templates/nav.html.erb +0 -27
  1738. data/test/performance/config/tools/handbook_creator/templates/overview.html.erb +0 -1
  1739. data/test/performance/config/tools/handbook_creator/templates/pdf_cover.html.erb +0 -23
  1740. data/test/performance/config/tools/handbook_creator/templates/pdf_footer.html.erb +0 -33
  1741. data/test/performance/config/tools/handbook_creator/templates/pdf_header.html.erb +0 -41
  1742. data/test/performance/config/tools/handbook_creator/templates/telemetry_packets.html.erb +0 -80
  1743. data/test/performance/config/tools/handbook_creator/templates/telemetry_toc.html.erb +0 -38
  1744. data/test/performance/config/tools/handbook_creator/templates/title.html.erb +0 -1
  1745. data/test/performance/config/tools/launcher/launcher_packets.txt +0 -34
  1746. data/test/performance/config/tools/launcher/launcher_threads.txt +0 -83
  1747. data/test/performance/config/tools/limits_monitor/README.txt +0 -1
  1748. data/test/performance/config/tools/opengl_builder/README.txt +0 -1
  1749. data/test/performance/config/tools/script_runner/script_runner.txt +0 -3
  1750. data/test/performance/config/tools/table_manager/ConfigTables_def.txt +0 -8
  1751. data/test/performance/config/tools/table_manager/ExampleTableDefinition.txt +0 -24
  1752. data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +0 -25
  1753. data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +0 -25
  1754. data/test/performance/config/tools/table_manager/PPSSelectionTable_def.txt +0 -8
  1755. data/test/performance/config/tools/table_manager/TLMMonitoringTable_def.txt +0 -248
  1756. data/test/performance/config/tools/test_runner/test_runner.txt +0 -17
  1757. data/test/performance/config/tools/tlm_extractor/tlm_extractor.txt +0 -13
  1758. data/test/performance/config/tools/tlm_extractor/tlm_extractor2.txt +0 -2
  1759. data/test/performance/config/tools/tlm_extractor/tlm_extractor3.txt +0 -2
  1760. data/test/performance/config/tools/tlm_extractor/tlm_extractor4.txt +0 -2
  1761. data/test/performance/config/tools/tlm_grapher/README.txt +0 -1
  1762. data/test/performance/config/tools/tlm_grapher/tlm_grapher.txt +0 -204
  1763. data/test/performance/config/tools/tlm_viewer/tlm_viewer.txt +0 -13
  1764. data/test/performance/lib/packet_target.rb +0 -126
  1765. data/test/performance/lib/thread_target.rb +0 -120
  1766. data/test/performance/lib/user_version.rb +0 -3
  1767. data/test/performance/outputs/handbooks/README.txt +0 -1
  1768. data/test/performance/outputs/logs/README.txt +0 -1
  1769. data/test/performance/outputs/saved_config/README.txt +0 -1
  1770. data/test/performance/outputs/tables/README.txt +0 -1
  1771. data/test/performance/outputs/tmp/README.txt +0 -1
  1772. data/test/performance/procedures/checks.rb +0 -11
  1773. data/test/performance/procedures/clear_util.rb +0 -7
  1774. data/test/performance/procedures/collect.rb +0 -18
  1775. data/test/performance/procedures/collect_util.rb +0 -14
  1776. data/test/performance/procedures/cosmos_api_test.rb +0 -293
  1777. data/test/performance/procedures/disconnect.rb +0 -29
  1778. data/test/performance/procedures/example_test.rb +0 -182
  1779. data/test/performance/procedures/plot_test.rb +0 -8
  1780. data/test/performance/procedures/procedure.rb +0 -3
  1781. data/test/performance/procedures/run_example_test.rb +0 -3
  1782. data/test/performance/procedures/test.rb +0 -51
  1783. data/test/performance/tools/CmdExtractor +0 -14
  1784. data/test/performance/tools/CmdExtractor.bat +0 -59
  1785. data/test/performance/tools/CmdSender +0 -14
  1786. data/test/performance/tools/CmdSender.bat +0 -59
  1787. data/test/performance/tools/CmdTlmServer +0 -16
  1788. data/test/performance/tools/CmdTlmServer.bat +0 -59
  1789. data/test/performance/tools/CmdTlmServerMemProf +0 -20
  1790. data/test/performance/tools/CmdTlmServerMemProf.bat +0 -59
  1791. data/test/performance/tools/DataViewer +0 -14
  1792. data/test/performance/tools/DataViewer.bat +0 -59
  1793. data/test/performance/tools/HandbookCreator +0 -14
  1794. data/test/performance/tools/HandbookCreator.bat +0 -61
  1795. data/test/performance/tools/Launcher +0 -14
  1796. data/test/performance/tools/Launcher.bat +0 -59
  1797. data/test/performance/tools/LimitsMonitor +0 -14
  1798. data/test/performance/tools/LimitsMonitor.bat +0 -59
  1799. data/test/performance/tools/OpenGLBuilder +0 -14
  1800. data/test/performance/tools/OpenGLBuilder.bat +0 -59
  1801. data/test/performance/tools/PacketTarget +0 -14
  1802. data/test/performance/tools/PacketTarget.bat +0 -59
  1803. data/test/performance/tools/PacketViewer +0 -14
  1804. data/test/performance/tools/PacketViewer.bat +0 -59
  1805. data/test/performance/tools/Replay +0 -14
  1806. data/test/performance/tools/Replay.bat +0 -59
  1807. data/test/performance/tools/ScpiTarget +0 -14
  1808. data/test/performance/tools/ScpiTarget.bat +0 -59
  1809. data/test/performance/tools/ScriptRunner +0 -14
  1810. data/test/performance/tools/ScriptRunner.bat +0 -59
  1811. data/test/performance/tools/TableManager +0 -14
  1812. data/test/performance/tools/TableManager.bat +0 -59
  1813. data/test/performance/tools/TestRunner +0 -14
  1814. data/test/performance/tools/TestRunner.bat +0 -59
  1815. data/test/performance/tools/ThreadTarget +0 -14
  1816. data/test/performance/tools/ThreadTarget.bat +0 -59
  1817. data/test/performance/tools/TlmExtractor +0 -14
  1818. data/test/performance/tools/TlmExtractor.bat +0 -59
  1819. data/test/performance/tools/TlmGrapher +0 -14
  1820. data/test/performance/tools/TlmGrapher.bat +0 -59
  1821. data/test/performance/tools/TlmGrapherMemProf +0 -19
  1822. data/test/performance/tools/TlmGrapherMemProf.bat +0 -59
  1823. data/test/performance/tools/TlmViewer +0 -14
  1824. data/test/performance/tools/TlmViewer.bat +0 -59
  1825. data/test/performance/tools/TlmViewerMemProf +0 -19
  1826. data/test/performance/tools/TlmViewerMemProf.bat +0 -59
  1827. data/test/performance/tools/identify_performance.rb +0 -82
  1828. data/test/performance/tools/mac/CmdExtractor.app/Contents/Info.plist +0 -38
  1829. data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +0 -15
  1830. data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +0 -6
  1831. data/test/performance/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
  1832. data/test/performance/tools/mac/CmdSender.app/Contents/Info.plist +0 -38
  1833. data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +0 -15
  1834. data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/main.sh +0 -6
  1835. data/test/performance/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -0
  1836. data/test/performance/tools/mac/CmdTlmServer.app/Contents/Info.plist +0 -38
  1837. data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +0 -15
  1838. data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +0 -6
  1839. data/test/performance/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
  1840. data/test/performance/tools/mac/DataViewer.app/Contents/Info.plist +0 -38
  1841. data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +0 -15
  1842. data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/main.sh +0 -6
  1843. data/test/performance/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
  1844. data/test/performance/tools/mac/HandbookCreator.app/Contents/Info.plist +0 -38
  1845. data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +0 -15
  1846. data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +0 -6
  1847. data/test/performance/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
  1848. data/test/performance/tools/mac/Launcher.app/Contents/Info.plist +0 -38
  1849. data/test/performance/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +0 -15
  1850. data/test/performance/tools/mac/Launcher.app/Contents/MacOS/main.sh +0 -6
  1851. data/test/performance/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
  1852. data/test/performance/tools/mac/LimitsMonitor.app/Contents/Info.plist +0 -38
  1853. data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +0 -15
  1854. data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +0 -6
  1855. data/test/performance/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
  1856. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Info.plist +0 -38
  1857. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +0 -15
  1858. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +0 -6
  1859. data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
  1860. data/test/performance/tools/mac/PacketViewer.app/Contents/Info.plist +0 -38
  1861. data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +0 -15
  1862. data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +0 -6
  1863. data/test/performance/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
  1864. data/test/performance/tools/mac/Replay.app/Contents/Info.plist +0 -38
  1865. data/test/performance/tools/mac/Replay.app/Contents/MacOS/Replay.rb +0 -15
  1866. data/test/performance/tools/mac/Replay.app/Contents/MacOS/main.sh +0 -6
  1867. data/test/performance/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
  1868. data/test/performance/tools/mac/ScriptRunner.app/Contents/Info.plist +0 -38
  1869. data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +0 -15
  1870. data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +0 -6
  1871. data/test/performance/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
  1872. data/test/performance/tools/mac/TableManager.app/Contents/Info.plist +0 -38
  1873. data/test/performance/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +0 -15
  1874. data/test/performance/tools/mac/TableManager.app/Contents/MacOS/main.sh +0 -6
  1875. data/test/performance/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
  1876. data/test/performance/tools/mac/TestRunner.app/Contents/Info.plist +0 -38
  1877. data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +0 -15
  1878. data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/main.sh +0 -6
  1879. data/test/performance/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
  1880. data/test/performance/tools/mac/TlmExtractor.app/Contents/Info.plist +0 -38
  1881. data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +0 -15
  1882. data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +0 -6
  1883. data/test/performance/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
  1884. data/test/performance/tools/mac/TlmGrapher.app/Contents/Info.plist +0 -38
  1885. data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +0 -15
  1886. data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +0 -6
  1887. data/test/performance/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
  1888. data/test/performance/tools/mac/TlmViewer.app/Contents/Info.plist +0 -38
  1889. data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +0 -15
  1890. data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +0 -6
  1891. data/test/performance/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
@@ -1,1985 +0,0 @@
1
- # encoding: ascii-8bit
2
-
3
- # Copyright 2014 Ball Aerospace & Technologies Corp.
4
- # All Rights Reserved.
5
- #
6
- # This program is free software; you can modify and/or redistribute it
7
- # under the terms of the GNU General Public License
8
- # as published by the Free Software Foundation; version 3 with
9
- # attribution addendums as found in the LICENSE.txt
10
-
11
- require 'cosmos'
12
- require 'cosmos/script'
13
- require 'cosmos/gui/utilities/script_module_gui'
14
- require 'cosmos/gui/dialogs/splash'
15
- require 'cosmos/gui/dialogs/exception_dialog'
16
- require 'cosmos/gui/text/completion'
17
- require 'cosmos/gui/text/completion_line_edit'
18
- require 'cosmos/gui/text/ruby_editor'
19
- require 'cosmos/gui/dialogs/progress_dialog'
20
- require 'cosmos/gui/widgets/realtime_button_bar'
21
- require 'cosmos/gui/dialogs/find_replace_dialog'
22
- require 'cosmos/gui/choosers/file_chooser'
23
- require 'cosmos/io/stdout'
24
- require 'cosmos/io/stderr'
25
-
26
- module Cosmos
27
-
28
- Cosmos.disable_warnings do
29
- module Script
30
- def prompt_for_script_abort
31
- ScriptRunnerFrame.instance.perform_pause
32
- return false # Not aborted - Retry
33
- end
34
- end
35
- end
36
-
37
- # Create a dialog with an embedded ScriptRunnerFrame used to execute
38
- # a snippet of code while the main script is paused.
39
- class ScriptRunnerDialog < Qt::Dialog
40
- attr_reader :script_runner_frame
41
-
42
- def initialize(parent,
43
- title,
44
- default_tab_text = 'Untitled')
45
- super(parent)
46
- setWindowTitle(title)
47
- setMinimumWidth(parent.width * 0.8)
48
- setMinimumHeight(parent.height * 0.6)
49
-
50
- # Create script runner frame
51
- @script_runner_frame = ScriptRunnerFrame.new(self, default_tab_text)
52
- layout = Qt::VBoxLayout.new
53
- layout.addWidget(@script_runner_frame)
54
- setLayout(layout)
55
- end
56
-
57
- # Executes the given text and closes when complete
58
- def execute_text_and_close_on_complete(text, text_binding = nil)
59
- @script_runner_frame.set_text(text)
60
- @script_runner_frame.run_and_close_on_complete(text_binding)
61
- exec
62
- dispose
63
- end
64
-
65
- def reject
66
- # Don't allow the dialog to close if we're running
67
- return if @script_runner_frame.running?
68
- super
69
- end
70
- end
71
-
72
- # Frame within ScriptRunner and TestRunner that handles instrumenting the
73
- # script and running it. This includes handling all the user interation and
74
- # how to run, step, pause, and stop a script.
75
- class ScriptRunnerFrame < Qt::Widget
76
- slots 'context_menu(const QPoint&)'
77
- slots 'undo_available(bool)'
78
- slots 'breakpoint_set(int)'
79
- slots 'breakpoint_cleared(int)'
80
- slots 'breakpoints_cleared()'
81
- signals 'undoAvailable(bool)'
82
- signals 'modificationChanged(bool)'
83
-
84
- CMD_KEYWORDS = %w(cmd cmd_no_range_check cmd_no_hazardous_check cmd_no_checks)
85
- TLM_KEYWORDS = %w(tlm tlm_raw tlm_formatted tlm_with_units limits_enabled? \
86
- enable_limits disable_limits wait_tolerance wait_tolerance_raw \
87
- check_tolerance check_tolerance_raw wait_check_tolerance \
88
- wait_check_tolerance_raw)
89
- SET_TLM_KEYWORDS = %w(set_tlm set_tlm_raw override_tlm_raw normalize_tlm_raw)
90
- CHECK_KEYWORDS = %w(check check_raw wait wait_raw wait_check wait_check_raw)
91
-
92
- INSTANCE_VARS = %w(__return_val close_on_complete error eval_error filename instrumented_script \
93
- line_number line_offset saved_instance saved_run_thread text text_binding uncaught_exception)
94
-
95
- attr_accessor :use_instrumentation
96
- attr_accessor :change_callback
97
- attr_accessor :run_callback
98
- attr_accessor :stop_callback
99
- attr_accessor :error_callback
100
- attr_accessor :pause_callback
101
- attr_reader :filename
102
- attr_accessor :continue_after_error
103
- attr_accessor :exceptions
104
- attr_accessor :script_binding
105
- attr_accessor :inline_return # Deprecated and unused - Here to prevent cache errors for old scripts
106
- attr_accessor :inline_return_params # Deprecated and unused - Here to prevent cache errors for old scripts
107
- attr_reader :message_log
108
- attr_reader :script_class
109
- attr_reader :top_level_instrumented_cache
110
- attr_accessor :stdout_max_lines
111
- attr_reader :script
112
-
113
- @@instance = nil
114
- @@run_thread = nil
115
- @@breakpoints = {}
116
- @@step_mode = false
117
- @@line_delay = 0.1
118
- @@instrumented_cache = {}
119
- @@file_cache = {}
120
- @@output_thread = nil
121
- @@limits_monitor_thread = nil
122
- @@pause_on_error = true
123
- @@monitor_limits = false
124
- @@pause_on_red = false
125
- @@show_backtrace = false
126
- @@error = nil
127
- @@output_sleeper = Sleeper.new
128
- @@limits_sleeper = Sleeper.new
129
- @@cancel_output = false
130
- @@cancel_limits = false
131
- @@file_number = 1
132
- @@default_font = Cosmos.get_default_font
133
-
134
- def initialize(parent, default_tab_text = 'Untitled')
135
- super(parent)
136
- @default_tab_text = ' ' + default_tab_text + ' '
137
- # Keep track of whether this frame has been fully initialized
138
- @initialized = false
139
- @debug_frame = nil
140
-
141
- # Keep track of a unique file number so we can differentiate untitled tabs
142
- @file_number = @@file_number
143
- @@file_number +=1
144
- @filename = ''
145
-
146
- @layout = Qt::VBoxLayout.new
147
- @layout.setContentsMargins(0,0,0,0)
148
-
149
- # Add Realtime Button Bar
150
- @realtime_button_bar = RealtimeButtonBar.new(self)
151
- @realtime_button_bar.state = 'Stopped'
152
- @realtime_button_bar.step_callback = method(:handle_step_button)
153
- @realtime_button_bar.start_callback = method(:handle_start_go_button)
154
- @realtime_button_bar.pause_callback = method(:handle_pause_retry_button)
155
- @realtime_button_bar.stop_callback = method(:handle_stop_button)
156
- @layout.addWidget(@realtime_button_bar)
157
-
158
- # Create shortcuts to activate the RealtimeButtonBar actions
159
- step = Qt::Shortcut.new(Qt::KeySequence.new(Qt::Key_F10), self)
160
- self.connect(step, SIGNAL('activated()')) { handle_step_button() }
161
- start_go = Qt::Shortcut.new(Qt::KeySequence.new(Qt::Key_F5), self)
162
- self.connect(start_go, SIGNAL('activated()')) { handle_start_go_button() }
163
- pause_retry = Qt::Shortcut.new(Qt::KeySequence.new(Qt::Key_F6), self)
164
- self.connect(pause_retry, SIGNAL('activated()')) { handle_pause_retry_button() }
165
- stop = Qt::Shortcut.new(Qt::KeySequence.new(Qt::Key_F7), self)
166
- self.connect(stop, SIGNAL('activated()')) { handle_stop_button() }
167
-
168
- # Create a splitter to hold the script text area and the script output text area.
169
- @splitter = Qt::Splitter.new(Qt::Vertical, self)
170
- @layout.addWidget(@splitter)
171
- @top_widget = Qt::Widget.new(@splitter)
172
- @top_widget.setContentsMargins(0,0,0,0)
173
- @top_frame = Qt::VBoxLayout.new(@top_widget)
174
- @top_frame.setContentsMargins(0,0,0,0)
175
-
176
- # Add Initial Text Window
177
- @script = create_ruby_editor()
178
- @script.filename = unique_filename()
179
- @script.connect(SIGNAL('modificationChanged(bool)')) do |changed|
180
- emit modificationChanged(changed)
181
- end
182
- @top_frame.addWidget(@script)
183
-
184
- # Set self as the gui window to allow prompts and other popups to appear
185
- set_cmd_tlm_gui_window(self)
186
-
187
- # Add change handlers
188
- connect(@script,
189
- SIGNAL('undoAvailable(bool)'),
190
- self,
191
- SLOT('undo_available(bool)'))
192
-
193
- # Add Output Text
194
- @bottom_frame = Qt::Widget.new
195
- @bottom_layout = Qt::VBoxLayout.new
196
- @bottom_layout.setContentsMargins(0,0,0,0)
197
- @bottom_layout_label = Qt::Label.new("Script Output:")
198
- @bottom_layout.addWidget(@bottom_layout_label)
199
- @output = Qt::PlainTextEdit.new
200
- @output.setReadOnly(true)
201
- @output.setMaximumBlockCount(100)
202
- @bottom_layout.addWidget(@output)
203
- @bottom_frame.setLayout(@bottom_layout)
204
- @splitter.addWidget(@bottom_frame)
205
- @splitter.setStretchFactor(0,10)
206
- @splitter.setStretchFactor(1,1)
207
-
208
- setLayout(@layout)
209
-
210
- # Configure Variables
211
- @line_offset = 0
212
- @output_io = StringIO.new('', 'r+')
213
- @output_io_mutex = Mutex.new
214
- @change_callback = nil
215
- @run_callback = nil
216
- @stop_callback = nil
217
- @error_callback = nil
218
- @pause_callback = nil
219
- @allow_start = true
220
- @continue_after_error = true
221
- @debug_text = nil
222
- @debug_history = []
223
- @debug_code_completion = nil
224
- @top_level_instrumented_cache = nil
225
- @output_time = Time.now.sys
226
- initialize_variables()
227
-
228
- # Redirect $stdout and $stderr
229
- redirect_io()
230
-
231
- # Create Tabbook
232
- @tab_book = Qt::TabWidget.new
233
- @tab_book_shown = false
234
-
235
- @find_dialog = nil
236
- @replace_dialog = nil
237
-
238
- mark_breakpoints(@script.filename)
239
- end
240
-
241
- def unique_filename
242
- if @filename and !@filename.empty?
243
- return @filename
244
- else
245
- return @default_tab_text.strip + @file_number.to_s
246
- end
247
- end
248
-
249
- def current_tab_filename
250
- if @tab_book_shown
251
- return @tab_book.widget(@tab_book.currentIndex).filename
252
- else
253
- return @script.filename
254
- end
255
- end
256
-
257
- def create_ruby_editor
258
- # Add Initial Text Window
259
- script = RubyEditor.new(self, @@default_font)
260
- script.enable_breakpoints = true if @debug_frame
261
- connect(script,
262
- SIGNAL('breakpoint_set(int)'),
263
- self,
264
- SLOT('breakpoint_set(int)'))
265
- connect(script,
266
- SIGNAL('breakpoint_cleared(int)'),
267
- self,
268
- SLOT('breakpoint_cleared(int)'))
269
- connect(script,
270
- SIGNAL('breakpoints_cleared()'),
271
- self,
272
- SLOT('breakpoints_cleared()'))
273
- script.connect(SIGNAL('font_changed(QFont)')) do |font|
274
- # Remember changed fonts for future tabs
275
- @@default_font = font
276
- end
277
-
278
- # Add right click menu
279
- script.setContextMenuPolicy(Qt::CustomContextMenu)
280
- connect(script,
281
- SIGNAL('customContextMenuRequested(const QPoint&)'),
282
- self,
283
- SLOT('context_menu(const QPoint&)'))
284
-
285
- return script
286
- end
287
-
288
- def stop_message_log
289
- @message_log.stop if @message_log
290
- @message_log = nil
291
- end
292
-
293
- def filename=(filename)
294
- # Stop the message log so a new one will be created with the new filename
295
- stop_message_log()
296
- @filename = filename
297
-
298
- # Deal with breakpoints created under the previous filename.
299
- bkpt_filename = unique_filename()
300
- if @@breakpoints[bkpt_filename].nil?
301
- @@breakpoints[bkpt_filename] = @@breakpoints[@script.filename]
302
- end
303
- if bkpt_filename != @script.filename
304
- @@breakpoints.delete(@script.filename)
305
- @script.filename = bkpt_filename
306
- end
307
- mark_breakpoints(@script.filename)
308
- end
309
-
310
- def modified
311
- @script.document.isModified()
312
- end
313
-
314
- def modified=(bool)
315
- @script.document.setModified(bool)
316
- end
317
-
318
- def undo_available(bool)
319
- emit undoAvailable(bool)
320
- end
321
-
322
- def setFocus
323
- @script.setFocus
324
- end
325
-
326
- def active_script_highlight(color)
327
- Qt.execute_in_main_thread { @active_script.highlight_line(color) }
328
- end
329
-
330
- def allow_start=(value)
331
- @allow_start = value
332
- if @allow_start
333
- @realtime_button_bar.start_button.setEnabled(true)
334
- elsif not running?
335
- @realtime_button_bar.start_button.setEnabled(false)
336
- @script.setReadOnly(true)
337
- end
338
- end
339
-
340
- def clear
341
- self.set_text('')
342
- self.filename = ''
343
- @script.filename = unique_filename()
344
- self.modified = false
345
- end
346
-
347
- def self.instance
348
- @@instance
349
- end
350
-
351
- def self.instance=(value)
352
- @@instance = value
353
- end
354
-
355
- def self.step_mode
356
- @@step_mode
357
- end
358
-
359
- def self.step_mode=(value)
360
- @@step_mode = value
361
- if self.instance
362
- if value
363
- self.instance.pause
364
- else
365
- self.instance.go
366
- end
367
- end
368
- end
369
-
370
- def self.line_delay
371
- @@line_delay
372
- end
373
-
374
- def self.line_delay=(value)
375
- @@line_delay = value
376
- end
377
-
378
- def self.instrumented_cache
379
- @@instrumented_cache
380
- end
381
-
382
- def self.instrumented_cache=(value)
383
- @@instrumented_cache = value
384
- end
385
-
386
- def self.file_cache
387
- @@file_cache
388
- end
389
-
390
- def self.file_cache=(value)
391
- @@file_cache = value
392
- end
393
-
394
- def self.pause_on_error
395
- @@pause_on_error
396
- end
397
-
398
- def self.pause_on_error=(value)
399
- @@pause_on_error = value
400
- end
401
-
402
- def self.monitor_limits
403
- @@monitor_limits
404
- end
405
-
406
- def self.monitor_limits=(value)
407
- @@monitor_limits = value
408
- end
409
-
410
- def self.pause_on_red
411
- @@pause_on_red
412
- end
413
-
414
- def self.pause_on_red=(value)
415
- @@pause_on_red = value
416
- end
417
-
418
- def self.show_backtrace
419
- @@show_backtrace
420
- end
421
-
422
- def self.show_backtrace=(value)
423
- @@show_backtrace = value
424
- if @@show_backtrace and @@error
425
- puts Time.now.sys.formatted + " (SCRIPTRUNNER): " + "Most recent exception:\n" + @@error.formatted
426
- end
427
- end
428
-
429
- def text
430
- @script.toPlainText.gsub("\r", '')
431
- end
432
-
433
- def set_text(text, filename = '')
434
- unless running?()
435
- @script.setPlainText(text)
436
- @script.stop_highlight
437
- @filename = filename
438
- @script.filename = unique_filename()
439
- mark_breakpoints(@script.filename)
440
- end
441
- end
442
-
443
- def set_text_from_file(filename)
444
- unless running?()
445
- @@file_cache[filename] = nil
446
- @@breakpoints[filename] = nil
447
- load_file_into_script(filename)
448
- @filename = filename
449
- end
450
- end
451
-
452
- def self.running?
453
- if @@run_thread then true else false end
454
- end
455
-
456
- def running?
457
- if @@instance == self and ScriptRunnerFrame.running?() then true else false end
458
- end
459
-
460
- def go
461
- @go = true
462
- @pause = false unless @@step_mode
463
- end
464
-
465
- def go?
466
- temp = @go
467
- @go = false
468
- temp
469
- end
470
-
471
- def pause
472
- @pause = true
473
- @go = false
474
- end
475
-
476
- def pause?
477
- @pause
478
- end
479
-
480
- def self.stop!
481
- if @@run_thread
482
- Cosmos.kill_thread(nil, @@run_thread)
483
- @@run_thread = nil
484
- end
485
- end
486
-
487
- def stop?
488
- @stop
489
- end
490
-
491
- def retry_needed?
492
- @retry_needed
493
- end
494
-
495
- def retry_needed
496
- @retry_needed = true
497
- end
498
-
499
- def disable_retry
500
- @realtime_button_bar.start_button.setText('Skip')
501
- @realtime_button_bar.pause_button.setDisabled(true)
502
- end
503
-
504
- def enable_retry
505
- @realtime_button_bar.start_button.setText('Go')
506
- @realtime_button_bar.pause_button.setDisabled(false)
507
- end
508
-
509
- def run
510
- unless self.class.running?()
511
- run_text(@script.toPlainText)
512
- end
513
- end
514
-
515
- def run_and_close_on_complete(text_binding = nil)
516
- run_text(@script.toPlainText, 0, text_binding, true)
517
- end
518
-
519
- def self.instrument_script(text, filename, mark_private = false)
520
- if filename and !filename.empty?
521
- @@file_cache[filename] = text.clone
522
- end
523
-
524
- ruby_lex_utils = RubyLexUtils.new
525
- instrumented_text = ''
526
-
527
- Qt.execute_in_main_thread(true) do
528
- window = Qt::CoreApplication.instance.activeWindow
529
- @cancel_instrumentation = false
530
- ProgressDialog.execute(window, # parent
531
- "Instrumenting: #{File.basename(filename.to_s)}",
532
- 500, # width
533
- 100, # height
534
- true, # show overall progress
535
- false, # don't show step progress
536
- false, # don't show text
537
- false, # don't show done
538
- true) do |progress_dialog| # show cancel
539
- progress_dialog.cancel_callback = lambda { |dialog| @cancel_instrumentation = true; [true, false] }
540
- progress_dialog.enable_cancel_button
541
- comments_removed_text = ruby_lex_utils.remove_comments(text)
542
- num_lines = comments_removed_text.num_lines.to_f
543
- num_lines = 1 if num_lines < 1
544
- instrumented_text =
545
- instrument_script_implementation(ruby_lex_utils,
546
- comments_removed_text,
547
- num_lines,
548
- progress_dialog,
549
- filename,
550
- mark_private)
551
- progress_dialog.close_done
552
- end
553
- end
554
-
555
- Kernel.raise StopScript if @cancel_instrumentation or ProgressDialog.canceled?
556
- instrumented_text
557
- end
558
-
559
- def self.instrument_script_implementation(ruby_lex_utils,
560
- comments_removed_text,
561
- num_lines,
562
- progress_dialog,
563
- filename,
564
- mark_private = false)
565
- if mark_private
566
- instrumented_text = 'private; '
567
- else
568
- instrumented_text = ''
569
- end
570
-
571
- ruby_lex_utils.each_lexed_segment(comments_removed_text) do |segment, instrumentable, inside_begin, line_no|
572
- return nil if @cancel_instrumentation
573
- instrumented_line = ''
574
- if instrumentable
575
- # Add a newline if it's empty to ensure the instrumented code has
576
- # the same number of lines as the original script. Note that the
577
- # segment could have originally had comments but they were stripped in
578
- # ruby_lex_utils.remove_comments
579
- if segment.strip.empty?
580
- instrumented_text << "\n"
581
- next
582
- end
583
-
584
- # Create a variable to hold the segment's return value
585
- instrumented_line << "__return_val = nil; "
586
-
587
- # If not inside a begin block then create one to catch exceptions
588
- unless inside_begin
589
- instrumented_line << 'begin; '
590
- end
591
-
592
- # Add preline instrumentation
593
- instrumented_line << "ScriptRunnerFrame.instance.script_binding = binding(); "\
594
- "ScriptRunnerFrame.instance.pre_line_instrumentation('#{filename}', #{line_no}); "
595
-
596
- # Add the actual line
597
- instrumented_line << "__return_val = begin; "
598
- instrumented_line << segment
599
- instrumented_line.chomp!
600
-
601
- # Add postline instrumentation
602
- instrumented_line << " end; ScriptRunnerFrame.instance.post_line_instrumentation('#{filename}', #{line_no}); "
603
-
604
- # Complete begin block to catch exceptions
605
- unless inside_begin
606
- instrumented_line << "rescue Exception => eval_error; "\
607
- "retry if ScriptRunnerFrame.instance.exception_instrumentation(eval_error, '#{filename}', #{line_no}); end; "
608
- end
609
-
610
- instrumented_line << " __return_val\n"
611
- else
612
- unless segment =~ /^\s*end\s*$/ or segment =~ /^\s*when .*$/
613
- num_left_brackets = segment.count('{')
614
- num_right_brackets = segment.count('}')
615
- num_left_square_brackets = segment.count('[')
616
- num_right_square_brackets = segment.count(']')
617
-
618
- if (num_right_brackets > num_left_brackets) ||
619
- (num_right_square_brackets > num_left_square_brackets)
620
- instrumented_line = segment
621
- else
622
- instrumented_line = "ScriptRunnerFrame.instance.pre_line_instrumentation('#{filename}', #{line_no}); " + segment
623
- end
624
- else
625
- instrumented_line = segment
626
- end
627
- end
628
-
629
- instrumented_text << instrumented_line
630
-
631
- progress_dialog.set_overall_progress(line_no / num_lines) if progress_dialog and line_no
632
- end
633
- instrumented_text
634
- end
635
-
636
- def pre_line_instrumentation(filename, line_number)
637
- @current_filename = filename
638
- @current_line_number = line_number
639
- if @use_instrumentation
640
- # Clear go
641
- @go = false
642
-
643
- # Handle stopping mid-script if necessary
644
- Kernel.raise StopScript if @stop
645
-
646
- # Handle needing to change tabs
647
- handle_potential_tab_change(filename)
648
-
649
- # Adjust line number for offset in main script
650
- line_number = line_number + @line_offset if @active_script.object_id == @script.object_id
651
- detail_string = nil
652
- if filename
653
- detail_string = File.basename(filename) << ':' << line_number.to_s
654
- end
655
- Logger.detail_string = detail_string
656
-
657
- # Highlight the line that is about to run
658
- Qt.execute_in_main_thread(true) do
659
- @active_script.center_line(line_number)
660
- @active_script.highlight_line
661
- end
662
-
663
- # Handle pausing the script
664
- handle_pause(filename, line_number)
665
-
666
- # Handle delay between lines
667
- handle_line_delay()
668
- end
669
- end
670
-
671
- def post_line_instrumentation(filename, line_number)
672
- if @use_instrumentation
673
- line_number = line_number + @line_offset if @active_script.object_id == @script.object_id
674
- handle_output_io(filename, line_number)
675
- end
676
- end
677
-
678
- def exception_instrumentation(error, filename, line_number)
679
- if error.class == StopScript || error.class == SkipTestCase || !@use_instrumentation
680
- Kernel.raise error
681
- elsif !error.eql?(@@error)
682
- line_number = line_number + @line_offset if @active_script.object_id == @script.object_id
683
- handle_exception(error, false, filename, line_number)
684
- end
685
- end
686
-
687
- def perform_pause
688
- mark_paused()
689
- wait_for_go_or_stop()
690
- end
691
-
692
- def perform_breakpoint(filename, line_number)
693
- mark_breakpoint()
694
- scriptrunner_puts "Hit Breakpoint at #{filename}:#{line_number}"
695
- handle_output_io(filename, line_number)
696
- wait_for_go_or_stop()
697
- end
698
-
699
- # Prompts the user that a script is running before they close the app
700
- def prompt_if_running_on_close
701
- safe_to_continue = true
702
- if running?
703
- case Qt::MessageBox.warning(
704
- self, # parent
705
- 'Warning', # title
706
- 'A Script is Running! Close Anyways?', # text
707
- Qt::MessageBox::Yes | Qt::MessageBox::No, # buttons
708
- Qt::MessageBox::No) # default button
709
- when Qt::MessageBox::Yes
710
- safe_to_continue = true
711
- ScriptRunnerFrame.stop!
712
- else
713
- safe_to_continue = false
714
- end
715
- end
716
- return safe_to_continue
717
- end
718
-
719
- ######################################
720
- # Implement the breakpoint callbacks from the RubyEditor
721
- ######################################
722
- def breakpoint_set(line)
723
- # Check for blank and comment lines which can't have a breakpoint.
724
- # There are other un-instrumentable lines which don't support breakpoints
725
- # but this is the most common and is an easy check.
726
- # Note: line is 1 based but @script.get_line is zero based so subtract 1
727
- text = @active_script.get_line(line - 1)
728
- if text && (text.strip.empty? || text.strip[0] == '#')
729
- @active_script.clear_breakpoint(line) # Immediately clear it
730
- else
731
- ScriptRunnerFrame.set_breakpoint(current_tab_filename(), line)
732
- end
733
- end
734
-
735
- def breakpoint_cleared(line)
736
- ScriptRunnerFrame.clear_breakpoint(current_tab_filename(), line)
737
- end
738
-
739
- def breakpoints_cleared
740
- ScriptRunnerFrame.clear_breakpoints(current_tab_filename())
741
- end
742
-
743
- ######################################
744
- # Implement edit functionality in the frame (cut, copy, paste, etc)
745
- ######################################
746
- def undo
747
- @script.undo unless running?()
748
- end
749
-
750
- def redo
751
- @script.redo unless running?()
752
- end
753
-
754
- def cut
755
- @script.cut unless running?()
756
- end
757
-
758
- def copy
759
- @script.copy unless running?()
760
- end
761
-
762
- def paste
763
- @script.paste unless running?()
764
- end
765
-
766
- def select_all
767
- @script.select_all unless running?()
768
- end
769
-
770
- def comment_or_uncomment_lines
771
- @script.comment_or_uncomment_lines unless running?()
772
- end
773
-
774
- def zoom_in
775
- # @active_script since this can be used while running
776
- @active_script.zoom_in
777
- end
778
-
779
- def zoom_out
780
- # @active_script since this can be used while running
781
- @active_script.zoom_out
782
- end
783
-
784
- def zoom_default
785
- # @active_script since this can be used while running
786
- @active_script.zoom_default
787
- end
788
-
789
- ##################################################################################
790
- # Implement Script functionality in the frame (run selection, run from cursor, etc
791
- ##################################################################################
792
- def run_selection
793
- unless self.class.running?()
794
- selection = @script.selected_lines
795
- if selection
796
- start_line_number = @script.selection_start_line
797
- end_line_number = @script.selection_end_line
798
- scriptrunner_puts "Running script lines #{start_line_number+1}-#{end_line_number+1}: #{File.basename(@filename)}"
799
- handle_output_io()
800
- run_text(selection, start_line_number)
801
- end
802
- end
803
- end
804
-
805
- def run_selection_while_paused
806
- current_script = @tab_book.widget(@tab_book.currentIndex)
807
- selection = current_script.selected_lines
808
- if selection
809
- start_line_number = current_script.selection_start_line
810
- end_line_number = current_script.selection_end_line
811
- scriptrunner_puts "Debug: Running selected lines #{start_line_number+1}-#{end_line_number+1}: #{@tab_book.tabText(@tab_book.currentIndex)}"
812
- handle_output_io()
813
- dialog = ScriptRunnerDialog.new(self, 'Executing Selected Lines While Paused')
814
- dialog.execute_text_and_close_on_complete(selection, @script_binding)
815
- handle_output_io()
816
- end
817
- end
818
-
819
- def run_from_cursor
820
- unless self.class.running?()
821
- line_number = @script.selection_start_line
822
- text = @script.toPlainText.split("\n")[line_number..-1].join("\n")
823
- scriptrunner_puts "Running script from line #{line_number}: #{File.basename(@filename)}"
824
- handle_output_io()
825
- run_text(text, line_number)
826
- end
827
- end
828
-
829
- def ruby_syntax_check_selection
830
- unless self.class.running?()
831
- selection = @script.selected_lines
832
- ruby_syntax_check_text(selection) if selection
833
- end
834
- end
835
-
836
- def ruby_syntax_check_text(selection = nil)
837
- unless self.class.running?()
838
- selection = text() unless selection
839
- check_process = IO.popen("ruby -c -rubygems 2>&1", 'r+')
840
- check_process.write("require 'cosmos'; require 'cosmos/script'; " + selection)
841
- check_process.close_write
842
- results = check_process.gets
843
- check_process.close
844
- if results
845
- if results =~ /Syntax OK/
846
- Qt::MessageBox.information(self, 'Syntax Check Successful', results)
847
- else
848
- # Results is a string like this: ":2: syntax error ..."
849
- # Normally the procedure comes before the first colon but since we
850
- # are writing to the process this is blank so we throw it away
851
- _, line_no, error = results.split(':')
852
- Qt::MessageBox.warning(self,
853
- 'Syntax Check Failed',
854
- "Error on line #{line_no}: #{error.strip}")
855
- end
856
- else
857
- Qt::MessageBox.critical(self,
858
- 'Syntax Check Exception',
859
- 'Ruby syntax check unexpectedly returned nil')
860
- end
861
- end
862
- end
863
-
864
- def mnemonic_check_selection
865
- unless self.class.running?()
866
- selection = @script.selected_lines
867
- mnemonic_check_text(selection, @script.selection_start_line+1) if selection
868
- end
869
- end
870
-
871
- def mnemonic_check_text(text, start_line_number = 1)
872
- results = []
873
- line_number = start_line_number
874
- text.each_line do |line|
875
- if line =~ /\(/
876
- result = nil
877
- keyword = line.split('(')[0].split[-1]
878
- if CMD_KEYWORDS.include? keyword
879
- result = mnemonic_check_cmd_line(keyword, line_number, line)
880
- elsif TLM_KEYWORDS.include? keyword
881
- result = mnemonic_check_tlm_line(keyword, line_number, line)
882
- elsif SET_TLM_KEYWORDS.include? keyword
883
- result = mnemonic_check_set_tlm_line(keyword, line_number, line)
884
- elsif CHECK_KEYWORDS.include? keyword
885
- result = mnemonic_check_check_line(keyword, line_number, line)
886
- end
887
- results << result if result
888
- end
889
- line_number += 1
890
- end
891
-
892
- if results.empty?
893
- Qt::MessageBox.information(self,
894
- 'Mnemonic Check Successful',
895
- 'Mnemonic Check Found No Errors')
896
- else
897
- dialog = Qt::Dialog.new(self) do |box|
898
- box.setWindowTitle('Mnemonic Check Failed')
899
- text = Qt::PlainTextEdit.new
900
- text.setReadOnly(true)
901
- text.setPlainText(results.join("\n"))
902
- frame = Qt::VBoxLayout.new(box)
903
- ok = Qt::PushButton.new('Ok')
904
- ok.setDefault(true)
905
- ok.connect(SIGNAL('clicked(bool)')) { box.accept }
906
- frame.addWidget(text)
907
- frame.addWidget(ok)
908
- end
909
- dialog.exec
910
- dialog.dispose
911
- end
912
- end
913
-
914
- ######################################################
915
- # Implement the debug capability
916
- ######################################################
917
- def toggle_debug(debug = nil)
918
- if debug.nil?
919
- if @debug_frame
920
- hide_debug()
921
- else
922
- show_debug()
923
- end
924
- else
925
- if debug
926
- if !@debug_frame
927
- show_debug()
928
- end
929
- else
930
- if @debug_frame
931
- hide_debug()
932
- end
933
- end
934
- end
935
- end
936
-
937
- def show_debug
938
- unless @debug_frame
939
- @realtime_button_bar.step_button.setHidden(false)
940
- @script.enable_breakpoints = true
941
- if @tab_book_shown
942
- if @tab_book.count > 0
943
- (0..(@tab_book.count - 1)).each do |index|
944
- @tab_book.widget(index).enable_breakpoints = true
945
- end
946
- end
947
- end
948
-
949
- @debug_frame = Qt::HBoxLayout.new
950
- @debug_frame.setContentsMargins(0,0,0,0)
951
- @debug_frame_label = Qt::Label.new("Debug:")
952
- @debug_frame.addWidget(@debug_frame_label)
953
- @debug_text = CompletionLineEdit.new(self)
954
- @debug_text.setFocus(Qt::OtherFocusReason)
955
- @debug_text.connect(SIGNAL('key_pressed(QKeyEvent*)')) do |event|
956
- case event.key
957
- when Qt::Key_Return, Qt::Key_Enter
958
- begin
959
- debug_text = @debug_text.toPlainText
960
- @debug_history.unshift(debug_text)
961
- @debug_history_index = 0
962
- @debug_text.setPlainText('')
963
- scriptrunner_puts "Debug: #{debug_text}"
964
- handle_output_io()
965
- if not running?
966
- # Capture STDOUT and STDERR
967
- $stdout.add_stream(@output_io)
968
- $stderr.add_stream(@output_io)
969
- end
970
-
971
- if @script_binding
972
- # Check for accessing an instance variable or local
973
- if debug_text =~ /^@\S+$/ || @script_binding.local_variables.include?(debug_text.to_sym)
974
- debug_text = "puts #{debug_text}" # Automatically add puts to print it
975
- end
976
- # Fortify: Dynamic Code Evaluation: Code Injection
977
- eval(debug_text, @script_binding, 'debug', 1)
978
- else
979
- # Fortify: Dynamic Code Evaluation: Code Injection
980
- Object.class_eval(debug_text, 'debug', 1)
981
- end
982
- handle_output_io()
983
- rescue Exception => error
984
- if error.class == DRb::DRbConnError
985
- Logger.error("Error Connecting to Command and Telemetry Server")
986
- else
987
- Logger.error(error.class.to_s.split('::')[-1] + ' : ' + error.message)
988
- end
989
- handle_output_io()
990
- ensure
991
- if not running?
992
- # Capture STDOUT and STDERR
993
- $stdout.remove_stream(@output_io)
994
- $stderr.remove_stream(@output_io)
995
- end
996
- end
997
- when Qt::Key_Up
998
- if @debug_history.length > 0
999
- @debug_text.setPlainText(@debug_history[@debug_history_index])
1000
- @debug_history_index += 1
1001
- if @debug_history_index == @debug_history.length
1002
- @debug_history_index = @debug_history.length-1
1003
- end
1004
- end
1005
- when Qt::Key_Down
1006
- if @debug_history.length > 0
1007
- @debug_text.setPlainText(@debug_history[@debug_history_index])
1008
- @debug_history_index -= 1
1009
- @debug_history_index = 0 if @debug_history_index < 0
1010
- end
1011
- when Qt::Key_Escape
1012
- @debug_text.setPlainText("")
1013
- end
1014
- end
1015
- @debug_frame.addWidget(@debug_text)
1016
-
1017
- @locals_button = Qt::PushButton.new('Locals')
1018
- @locals_button.connect(SIGNAL('clicked(bool)')) do
1019
- next unless @script_binding
1020
- @locals_button.setEnabled(false)
1021
- vars = @script_binding.local_variables.map(&:to_s)
1022
- puts "Locals: #{vars.reject {|x| INSTANCE_VARS.include?(x)}.sort.join(', ')}"
1023
- while @output_io.string[-1..-1] == "\n"
1024
- Qt::CoreApplication.processEvents()
1025
- end
1026
- @locals_button.setEnabled(true)
1027
- end
1028
- @debug_frame.addWidget(@locals_button)
1029
-
1030
- @bottom_frame.layout.addLayout(@debug_frame)
1031
- end
1032
- end
1033
-
1034
- def hide_debug
1035
- # Since we're disabling debug, clear the breakpoints and disable them
1036
- ScriptRunnerFrame.clear_breakpoints()
1037
- @script.clear_breakpoints
1038
- @script.enable_breakpoints = false
1039
- if @tab_book_shown
1040
- if @tab_book.count > 0
1041
- (0..(@tab_book.count - 1)).each do |index|
1042
- @tab_book.widget(index).enable_breakpoints = false
1043
- end
1044
- end
1045
- end
1046
- @realtime_button_bar.step_button.setHidden(true)
1047
- # Remove the debug frame
1048
- @bottom_frame.layout.takeAt(@bottom_frame.layout.count - 1) if @debug_frame
1049
- @debug_frame.removeAll
1050
- @debug_frame.dispose
1051
- @debug_frame = nil
1052
-
1053
- # If step mode was previously active then pause the script so it doesn't
1054
- # just take off when we end the debugging session
1055
- if @@step_mode
1056
- pause()
1057
- @@step_mode = false
1058
- end
1059
- end
1060
-
1061
- def self.set_breakpoint(filename, line_number)
1062
- @@breakpoints[filename] ||= {}
1063
- @@breakpoints[filename][line_number] = true
1064
- end
1065
-
1066
- def self.clear_breakpoint(filename, line_number)
1067
- @@breakpoints[filename] ||= {}
1068
- @@breakpoints[filename].delete(line_number) if @@breakpoints[filename][line_number]
1069
- end
1070
-
1071
- def self.clear_breakpoints(filename = nil)
1072
- if filename == nil or filename.empty?
1073
- @@breakpoints = {}
1074
- else
1075
- @@breakpoints.delete(filename)
1076
- end
1077
- end
1078
-
1079
- def clear_breakpoints
1080
- ScriptRunnerFrame.clear_breakpoints(unique_filename())
1081
- end
1082
-
1083
- def select_tab_and_destroy_tabs_after_index(index)
1084
- Qt.execute_in_main_thread(true) do
1085
- if @tab_book_shown
1086
- @tab_book.setCurrentIndex(index)
1087
- @active_script = @tab_book.widget(@tab_book.currentIndex)
1088
-
1089
- first_to_remove = index + 1
1090
- last_to_remove = @call_stack.length - 1
1091
-
1092
- last_to_remove.downto(first_to_remove) do |tab_index|
1093
- tab = @tab_book.widget(tab_index)
1094
- @tab_book.removeTab(tab_index)
1095
- tab.dispose
1096
- end
1097
-
1098
- @call_stack = @call_stack[0..index]
1099
- @current_file = @call_stack[index]
1100
- end
1101
- end
1102
- end
1103
-
1104
- def toggle_disconnect(config_file, ask_for_config_file = true)
1105
- dialog = Qt::Dialog.new(self, Qt::WindowTitleHint | Qt::WindowSystemMenuHint)
1106
- dialog.setWindowTitle("Disconnect Settings")
1107
- dialog_layout = Qt::VBoxLayout.new
1108
- dialog_layout.addWidget(Qt::Label.new("Targets checked will be disconnected."))
1109
-
1110
- all_targets = {}
1111
- set_clear_layout = Qt::HBoxLayout.new
1112
- check_all = Qt::PushButton.new("Check All")
1113
- check_all.setAutoDefault(false)
1114
- check_all.setDefault(false)
1115
- check_all.connect(SIGNAL('clicked()')) do
1116
- all_targets.each do |target, checkbox|
1117
- checkbox.setChecked(true)
1118
- end
1119
- end
1120
- set_clear_layout.addWidget(check_all)
1121
- clear_all = Qt::PushButton.new("Clear All")
1122
- clear_all.connect(SIGNAL('clicked()')) do
1123
- all_targets.each do |target, checkbox|
1124
- checkbox.setChecked(false)
1125
- end
1126
- end
1127
- set_clear_layout.addWidget(clear_all)
1128
- dialog_layout.addLayout(set_clear_layout)
1129
-
1130
- scroll = Qt::ScrollArea.new
1131
- target_widget = Qt::Widget.new
1132
- scroll.setWidget(target_widget)
1133
- target_layout = Qt::VBoxLayout.new(target_widget)
1134
- target_layout.setSizeConstraint(Qt::Layout::SetMinAndMaxSize)
1135
- scroll.setSizePolicy(Qt::SizePolicy::Preferred, Qt::SizePolicy::Expanding)
1136
- scroll.setWidgetResizable(true)
1137
-
1138
- existing = get_disconnected_targets()
1139
- System.targets.keys.each do |target|
1140
- check_layout = Qt::HBoxLayout.new
1141
- check_label = Qt::CheckboxLabel.new(target)
1142
- checkbox = Qt::CheckBox.new
1143
- all_targets[target] = checkbox
1144
- if existing
1145
- checkbox.setChecked(existing && existing.include?(target))
1146
- else
1147
- checkbox.setChecked(true)
1148
- end
1149
- check_label.setCheckbox(checkbox)
1150
- check_layout.addWidget(checkbox)
1151
- check_layout.addWidget(check_label)
1152
- check_layout.addStretch
1153
- target_layout.addLayout(check_layout)
1154
- end
1155
- dialog_layout.addWidget(scroll)
1156
-
1157
- if ask_for_config_file
1158
- chooser = FileChooser.new(self, "Config File", config_file, 'Select',
1159
- File.dirname(config_file))
1160
- chooser.callback = lambda do |filename|
1161
- chooser.filename = filename
1162
- end
1163
- dialog_layout.addWidget(chooser)
1164
- end
1165
-
1166
- button_layout = Qt::HBoxLayout.new
1167
- ok = Qt::PushButton.new("Ok")
1168
- ok.setAutoDefault(true)
1169
- ok.setDefault(true)
1170
- targets = []
1171
- ok.connect(SIGNAL('clicked()')) do
1172
- all_targets.each do |target, checkbox|
1173
- targets << target if checkbox.isChecked
1174
- end
1175
- dialog.accept()
1176
- end
1177
- button_layout.addWidget(ok)
1178
- cancel = Qt::PushButton.new("Cancel")
1179
- cancel.connect(SIGNAL('clicked()')) do
1180
- dialog.reject()
1181
- end
1182
- button_layout.addWidget(cancel)
1183
- dialog_layout.addLayout(button_layout)
1184
-
1185
- dialog.setLayout(dialog_layout)
1186
- my_parent = self.parent
1187
- while my_parent.parent
1188
- my_parent = my_parent.parent
1189
- end
1190
- if dialog.exec == Qt::Dialog::Accepted
1191
- if targets.empty?
1192
- clear_disconnected_targets()
1193
- my_parent.statusBar.showMessage("")
1194
- self.setPalette(Qt::Palette.new(Cosmos::DEFAULT_PALETTE))
1195
- else
1196
- config_file = chooser.filename
1197
- my_parent.statusBar.showMessage("Targets disconnected: #{targets.join(" ")}")
1198
- self.setPalette(Qt::Palette.new(Cosmos::RED_PALETTE))
1199
- Splash.execute(self) do |splash|
1200
- ConfigParser.splash = splash
1201
- splash.message = "Initializing Command and Telemetry Server"
1202
- set_disconnected_targets(targets, targets.length == all_targets.length, config_file)
1203
- ConfigParser.splash = nil
1204
- end
1205
- end
1206
- end
1207
- dialog.dispose
1208
- config_file
1209
- end
1210
-
1211
- def current_backtrace
1212
- trace = []
1213
- Qt.execute_in_main_thread(true) do
1214
- if @@run_thread
1215
- temp_trace = @@run_thread.backtrace
1216
- cosmos_lib = Regexp.new(File.join(Cosmos::PATH, 'lib'))
1217
- temp_trace.each do |line|
1218
- next if line =~ cosmos_lib
1219
- trace << line
1220
- end
1221
- end
1222
- end
1223
- trace
1224
- end
1225
-
1226
- def scriptrunner_puts(string)
1227
- puts Time.now.sys.formatted + " (SCRIPTRUNNER): " + string
1228
- end
1229
-
1230
- def handle_output_io(filename = @current_filename, line_number = @current_line_number)
1231
- @output_time = Time.now.sys
1232
- Qt.execute_in_main_thread(true) do
1233
- if @output_io.string[-1..-1] == "\n"
1234
- time_formatted = Time.now.sys.formatted
1235
- lines_to_write = ''
1236
- out_line_number = line_number.to_s
1237
- out_filename = File.basename(filename) if filename
1238
-
1239
- # Build each line to write
1240
- string = @output_io.string.clone
1241
- @output_io.string = @output_io.string[string.length..-1]
1242
- line_count = 0
1243
- string.each_line do |out_line|
1244
- color = nil
1245
- if out_line[0..1] == '20' and out_line[10] == ' ' and out_line[23..24] == ' ('
1246
- line_to_write = out_line
1247
- else
1248
- if filename
1249
- line_to_write = time_formatted + " (#{out_filename}:#{out_line_number}): " + out_line
1250
- else
1251
- line_to_write = time_formatted + " (SCRIPTRUNNER): " + out_line
1252
- color = Cosmos::BLUE
1253
- end
1254
- end
1255
- @output.add_formatted_text(line_to_write, color)
1256
- lines_to_write << line_to_write
1257
-
1258
- line_count += 1
1259
- if line_count > @stdout_max_lines
1260
- out_line = "ERROR: Too much written to stdout. Truncating output to #{@stdout_max_lines} lines.\n"
1261
- if filename
1262
- line_to_write = time_formatted + " (#{out_filename}:#{out_line_number}): " + out_line
1263
- else
1264
- line_to_write = time_formatted + " (SCRIPTRUNNER): " + out_line
1265
- end
1266
- @output.addText(line_to_write, Cosmos::RED)
1267
- lines_to_write << line_to_write
1268
- break
1269
- end
1270
- end # string.each_line
1271
-
1272
- # Actually add to the GUI
1273
- @output.flush
1274
-
1275
- # Add to the message log
1276
- if @filename.empty?
1277
- @message_log ||= MessageLog.new("sr_untitled")
1278
- else
1279
- @message_log ||= MessageLog.new("sr_#{File.basename(@filename).split('.')[0]}")
1280
- end
1281
- @message_log.write(lines_to_write)
1282
- end
1283
- end
1284
- end
1285
-
1286
- def graceful_kill
1287
- # Just to avoid warning
1288
- end
1289
-
1290
- protected
1291
-
1292
- def initialize_variables
1293
- @@error = nil
1294
- @go = false
1295
- if @@step_mode
1296
- @pause = true
1297
- else
1298
- @pause = false
1299
- end
1300
- @stop = false
1301
- @retry_needed = false
1302
- @use_instrumentation = true
1303
- @active_script = @script
1304
- @call_stack = []
1305
- @pre_line_time = Time.now.sys
1306
- @current_file = @filename
1307
- @exceptions = nil
1308
- @script_binding = nil
1309
- @inline_eval = nil
1310
- @current_filename = nil
1311
- @current_line_number = 0
1312
- @stdout_max_lines = 1000
1313
-
1314
- @script.stop_highlight
1315
- @call_stack.push(@current_file.dup)
1316
- end
1317
-
1318
- def wait_for_go_or_stop(error = nil)
1319
- @go = false
1320
- sleep(0.01) until @go or @stop
1321
- @go = false
1322
- mark_running()
1323
- Kernel.raise StopScript if @stop
1324
- Kernel.raise error if error and !@continue_after_error
1325
- end
1326
-
1327
- def wait_for_go_or_stop_or_retry(error = nil)
1328
- @go = false
1329
- sleep(0.01) until @go or @stop or @retry_needed
1330
- @go = false
1331
- mark_running()
1332
- Kernel.raise StopScript if @stop
1333
- Kernel.raise error if error and !@continue_after_error
1334
- end
1335
-
1336
- def mark_running
1337
- Qt.execute_in_main_thread(true) do
1338
- @run_callback.call(self) if @run_callback
1339
- @active_script.highlight_line
1340
- @realtime_button_bar.state = 'Running'
1341
- @realtime_button_bar.start_button.setText('Go')
1342
- @realtime_button_bar.pause_button.setText('Pause')
1343
- end
1344
- end
1345
-
1346
- def mark_paused
1347
- Qt.execute_in_main_thread(true) do
1348
- @pause_callback.call(self) if @pause_callback
1349
- @active_script.highlight_line('lightblue')
1350
- @realtime_button_bar.state = 'Paused'
1351
- end
1352
- end
1353
-
1354
- def mark_error
1355
- Qt.execute_in_main_thread(true) do
1356
- @error_callback.call(self) if @error_callback
1357
- @active_script.highlight_line('pink')
1358
- @realtime_button_bar.state = 'Error'
1359
- @realtime_button_bar.pause_button.setText('Retry')
1360
- end
1361
- end
1362
-
1363
- def mark_stopped
1364
- stop_message_log()
1365
- Qt.execute_in_main_thread(true) do
1366
- @realtime_button_bar.start_button.setText('Start')
1367
- @realtime_button_bar.pause_button.setText('Pause')
1368
- @realtime_button_bar.state = 'Stopped'
1369
- @stop_callback.call(self) if @stop_callback
1370
- end
1371
- end
1372
-
1373
- def mark_breakpoint
1374
- Qt.execute_in_main_thread(true) do
1375
- @active_script.highlight_line('tan')
1376
- @realtime_button_bar.state = 'Breakpoint'
1377
- end
1378
- end
1379
-
1380
- def run_text(text,
1381
- line_offset = 0,
1382
- text_binding = nil,
1383
- close_on_complete = false)
1384
- @run_callback.call(self) if @run_callback
1385
- @realtime_button_bar.start_button.setEnabled(true)
1386
- initialize_variables()
1387
- create_tabs()
1388
- @line_offset = line_offset
1389
- @script.setReadOnly(true)
1390
- @realtime_button_bar.start_button.setText(' Go ')
1391
- @realtime_button_bar.state = 'Running'
1392
-
1393
- saved_instance = @@instance
1394
- saved_run_thread = @@run_thread
1395
- @@instance = self
1396
- @@run_thread = Thread.new do
1397
- uncaught_exception = false
1398
- begin
1399
- # Capture STDOUT and STDERR
1400
- $stdout.add_stream(@output_io)
1401
- $stderr.add_stream(@output_io)
1402
-
1403
- unless close_on_complete
1404
- scriptrunner_puts("Starting script: #{File.basename(@filename)}")
1405
- targets = get_disconnected_targets()
1406
- if targets
1407
- scriptrunner_puts("DISCONNECTED targets: #{targets.join(',')}")
1408
- end
1409
- end
1410
- handle_output_io()
1411
-
1412
- # Start Limits Monitoring
1413
- @@limits_monitor_thread = Thread.new { limits_monitor_thread() } if @@monitor_limits and !@@limits_monitor_thread
1414
-
1415
- # Start Output Thread
1416
- @@output_thread = Thread.new { output_thread() } unless @@output_thread
1417
-
1418
- # Check top level cache
1419
- if @top_level_instrumented_cache &&
1420
- (@top_level_instrumented_cache[1] == line_offset) &&
1421
- (@top_level_instrumented_cache[2] == @filename) &&
1422
- (@top_level_instrumented_cache[0] == text)
1423
- # Use the instrumented cache
1424
- instrumented_script = @top_level_instrumented_cache[3]
1425
- else
1426
- # Instrument the script
1427
- if text_binding
1428
- instrumented_script = self.class.instrument_script(text, @filename, false)
1429
- else
1430
- instrumented_script = self.class.instrument_script(text, @filename, true)
1431
- end
1432
- @top_level_instrumented_cache = [text, line_offset, @filename, instrumented_script]
1433
- end
1434
-
1435
- # Execute the script with warnings disabled
1436
- Cosmos.disable_warnings do
1437
- @pre_line_time = Time.now.sys
1438
- Cosmos.set_working_dir do
1439
- if text_binding
1440
- eval(instrumented_script, text_binding, @filename, 1)
1441
- else
1442
- Object.class_eval(instrumented_script, @filename, 1)
1443
- end
1444
- end
1445
- end
1446
-
1447
- scriptrunner_puts "Script completed: #{File.basename(@filename)}" unless close_on_complete
1448
- handle_output_io()
1449
-
1450
- rescue Exception => error
1451
- if error.class == StopScript or error.class == SkipTestCase
1452
- scriptrunner_puts "Script stopped: #{File.basename(@filename)}"
1453
- handle_output_io()
1454
- else
1455
- uncaught_exception = true
1456
- filename, line_number = error.source
1457
- handle_exception(error, true, filename, line_number)
1458
- scriptrunner_puts "Exception in Control Statement - Script stopped: #{File.basename(@filename)}"
1459
- handle_output_io()
1460
- Qt.execute_in_main_thread(true) { @script.highlight_line('red') }
1461
- end
1462
- ensure
1463
- # Change Go Button to Start Button and remove highlight
1464
- Qt.execute_in_main_thread(true) do
1465
- # Stop Capturing STDOUT and STDERR
1466
- # Check for remove_stream because if the tool is quitting the
1467
- # Cosmos::restore_io may have been called which sets $stdout and
1468
- # $stderr to the IO constant
1469
- $stdout.remove_stream(@output_io) if $stdout.respond_to? :remove_stream
1470
- $stderr.remove_stream(@output_io) if $stderr.respond_to? :remove_stream
1471
-
1472
- # Clear run thread and instance to indicate we are no longer running
1473
- @@instance = saved_instance
1474
- @@run_thread = saved_run_thread
1475
- @active_script = @script
1476
- @script_binding = nil
1477
- @current_filename = nil
1478
- @current_line_number = 0
1479
- if @@limits_monitor_thread and not @@instance
1480
- @@cancel_limits = true
1481
- @@limits_sleeper.cancel
1482
- Qt::CoreApplication.processEvents()
1483
- Cosmos.kill_thread(self, @@limits_monitor_thread)
1484
- @@limits_monitor_thread = nil
1485
- end
1486
- if @@output_thread and not @@instance
1487
- @@cancel_output = true
1488
- @@output_sleeper.cancel
1489
- Qt::CoreApplication.processEvents()
1490
- Cosmos.kill_thread(self, @@output_thread)
1491
- @@output_thread = nil
1492
- end
1493
-
1494
- @script.setReadOnly(false) unless @script.read_only
1495
- @script.stop_highlight unless uncaught_exception
1496
- select_tab_and_destroy_tabs_after_index(0)
1497
- remove_tabs()
1498
- unless @allow_start
1499
- @realtime_button_bar.start_button.setEnabled(false)
1500
- @script.setReadOnly(true)
1501
- end
1502
- mark_stopped()
1503
- if close_on_complete
1504
- self.parent.done(0)
1505
- end
1506
- end
1507
- end
1508
- end
1509
- end
1510
-
1511
- def handle_potential_tab_change(filename)
1512
- # Make sure the correct file is shown in script runner
1513
- if @current_file != filename and @tab_book_shown
1514
- Qt.execute_in_main_thread(true) do
1515
- if @call_stack.include?(filename)
1516
- index = @call_stack.index(filename)
1517
- select_tab_and_destroy_tabs_after_index(index)
1518
- else # new file
1519
- # Create new tab
1520
- new_script = create_ruby_editor()
1521
- new_script.filename = filename
1522
- @tab_book.addTab(new_script, ' ' + File.basename(filename) + ' ')
1523
-
1524
- @call_stack.push(filename.dup)
1525
-
1526
- # Switch to new tab
1527
- @tab_book.setCurrentIndex(@tab_book.count - 1)
1528
- @active_script = new_script
1529
- load_file_into_script(filename)
1530
- new_script.setReadOnly(true)
1531
- end
1532
-
1533
- @current_file = filename
1534
- end
1535
- end
1536
- end
1537
-
1538
- def show_active_tab
1539
- @tab_book.setCurrentIndex(@call_stack.length - 1) if @tab_book_shown
1540
- end
1541
-
1542
- def handle_pause(filename, line_number)
1543
- bkpt_filename = ''
1544
- Qt.execute_in_main_thread(true) {bkpt_filename = @active_script.filename}
1545
- breakpoint = false
1546
- breakpoint = true if @@breakpoints[bkpt_filename] and @@breakpoints[bkpt_filename][line_number]
1547
-
1548
- filename = File.basename(filename)
1549
- if @pause
1550
- @pause = false unless @@step_mode
1551
- if breakpoint
1552
- perform_breakpoint(filename, line_number)
1553
- else
1554
- perform_pause()
1555
- end
1556
- else
1557
- perform_breakpoint(filename, line_number) if breakpoint
1558
- end
1559
- end
1560
-
1561
- def handle_line_delay
1562
- if @@line_delay > 0.0
1563
- sleep_time = @@line_delay - (Time.now.sys - @pre_line_time)
1564
- sleep(sleep_time) if sleep_time > 0.0
1565
- end
1566
- @pre_line_time = Time.now.sys
1567
- end
1568
-
1569
- def continue_without_pausing_on_errors?
1570
- if !@@pause_on_error
1571
- if Qt::MessageBox.warning(self, "Warning", "If an error occurs, the script will not pause and will run to completion. Continue?", Qt::MessageBox::Yes | Qt::MessageBox::No, Qt::MessageBox::Yes) == Qt::MessageBox::No
1572
- return false
1573
- end
1574
- end
1575
- true
1576
- end
1577
-
1578
- def handle_step_button
1579
- scriptrunner_puts "User pressed #{@realtime_button_bar.step_button.text.strip}"
1580
- pause()
1581
- @@step_mode = true
1582
- handle_start_go_button(step = true)
1583
- end
1584
-
1585
- def handle_start_go_button(step = false)
1586
- unless step
1587
- scriptrunner_puts "User pressed #{@realtime_button_bar.start_button.text.strip}"
1588
- @@step_mode = false
1589
- end
1590
- handle_output_io()
1591
- @realtime_button_bar.start_button.clear_focus()
1592
-
1593
- if running?()
1594
- show_active_tab()
1595
- go()
1596
- else
1597
- if @allow_start
1598
- run() if continue_without_pausing_on_errors?()
1599
- end
1600
- end
1601
- end
1602
-
1603
- def handle_pause_retry_button
1604
- scriptrunner_puts "User pressed #{@realtime_button_bar.pause_button.text.strip}"
1605
- handle_output_io()
1606
- @realtime_button_bar.pause_button.clear_focus()
1607
- show_active_tab() if running?
1608
- if @realtime_button_bar.pause_button.text.to_s == 'Pause'
1609
- pause()
1610
- else
1611
- retry_needed()
1612
- end
1613
- end
1614
-
1615
- def handle_stop_button
1616
- scriptrunner_puts "User pressed #{@realtime_button_bar.stop_button.text.strip}"
1617
- handle_output_io()
1618
- @realtime_button_bar.stop_button.clear_focus()
1619
-
1620
- if @stop
1621
- # If we're already stopped and they click Stop again, kill the run
1622
- # thread. This will break any ruby sleeps or other code blocks.
1623
- ScriptRunnerFrame.stop!
1624
- handle_output_io()
1625
- else
1626
- @stop = true
1627
- end
1628
- if !running?()
1629
- # Stop highlight if there was a red syntax error
1630
- @script.stop_highlight
1631
- end
1632
- end
1633
-
1634
- def handle_exception(error, fatal, filename = nil, line_number = 0)
1635
- @error_callback.call(self) if @error_callback
1636
-
1637
- @exceptions ||= []
1638
- @exceptions << error
1639
- @@error = error
1640
-
1641
- if error.class == DRb::DRbConnError
1642
- Logger.error("Error Connecting to Command and Telemetry Server")
1643
- elsif error.class == CheckError
1644
- Logger.error(error.message)
1645
- else
1646
- Logger.error(error.class.to_s.split('::')[-1] + ' : ' + error.message)
1647
- end
1648
- Logger.error(error.backtrace.join("\n")) if @@show_backtrace
1649
- handle_output_io(filename, line_number)
1650
-
1651
- Kernel.raise error if !@@pause_on_error and !@continue_after_error and !fatal
1652
-
1653
- if !fatal and @@pause_on_error
1654
- mark_error()
1655
- wait_for_go_or_stop_or_retry(error)
1656
- end
1657
-
1658
- if @retry_needed
1659
- @retry_needed = false
1660
- true
1661
- else
1662
- false
1663
- end
1664
- end
1665
-
1666
- # Right click context_menu for the script
1667
- def context_menu(point)
1668
- # Only show context menu if not running or paused. Otherwise will segfault if current tab goes away while menu
1669
- # is shown
1670
- if not self.class.running? or (running?() and @realtime_button_bar.state != 'Running')
1671
- if @tab_book_shown
1672
- current_script = @tab_book.widget(@tab_book.currentIndex)
1673
- else
1674
- current_script = @script
1675
- end
1676
- menu = current_script.context_menu(point)
1677
- menu.addSeparator()
1678
- if not self.class.running?
1679
- exec_selected_action = Qt::Action.new("Execute Selected Lines", self)
1680
- exec_selected_action.statusTip = "Execute the selected lines as a standalone script"
1681
- exec_selected_action.connect(SIGNAL('triggered()')) { run_selection() }
1682
- menu.addAction(exec_selected_action)
1683
-
1684
- exec_cursor_action = Qt::Action.new("Execute From Cursor", self)
1685
- exec_cursor_action.statusTip = "Execute the script starting at the line containing the cursor"
1686
- exec_cursor_action.connect(SIGNAL('triggered()')) { run_from_cursor() }
1687
- menu.addAction(exec_cursor_action)
1688
-
1689
- menu.addSeparator()
1690
-
1691
- if RUBY_VERSION.split('.')[0].to_i > 1
1692
- syntax_action = Qt::Action.new("Ruby Syntax Check Selected Lines", self)
1693
- syntax_action.statusTip = "Check the selected lines for valid Ruby syntax"
1694
- syntax_action.connect(SIGNAL('triggered()')) { ruby_syntax_check_selection() }
1695
- menu.addAction(syntax_action)
1696
- end
1697
-
1698
- mnemonic_action = Qt::Action.new("Mnemonic Check Selected Lines", self)
1699
- mnemonic_action.statusTip = "Check the selected lines for valid targets, packets, mnemonics and parameters"
1700
- mnemonic_action.connect(SIGNAL('triggered()')) { mnemonic_check_selection() }
1701
- menu.addAction(mnemonic_action)
1702
-
1703
- elsif running?() and @realtime_button_bar.state != 'Running'
1704
- exec_selected_action = Qt::Action.new("Execute Selected Lines While Paused", self)
1705
- exec_selected_action.statusTip = "Execute the selected lines as a standalone script"
1706
- exec_selected_action.connect(SIGNAL('triggered()')) { run_selection_while_paused() }
1707
- menu.addAction(exec_selected_action)
1708
- end
1709
- menu.exec(current_script.mapToGlobal(point))
1710
- menu.dispose
1711
- end
1712
- end
1713
-
1714
- def load_file_into_script(filename)
1715
- cached = @@file_cache[filename]
1716
- if cached
1717
- @active_script.setPlainText(cached.gsub("\r", ''))
1718
- else
1719
- if File.exist?(filename)
1720
- data = File.read(filename).gsub("\r", '')
1721
- else
1722
- data = ""
1723
- end
1724
- @active_script.setPlainText(data)
1725
- end
1726
- mark_breakpoints(filename)
1727
- @active_script.read_only = !File.writable?(filename)
1728
- @active_script.setReadOnly(@active_script.read_only)
1729
- @active_script.stop_highlight
1730
- end
1731
-
1732
- def mark_breakpoints(filename)
1733
- breakpoints = @@breakpoints[filename]
1734
- if breakpoints
1735
- breakpoints.each do |line_number, present|
1736
- @active_script.add_breakpoint(line_number) if present
1737
- end
1738
- end
1739
- end
1740
-
1741
- def redirect_io
1742
- # Redirect Standard Output and Standard Error
1743
- $stdout = Stdout.instance
1744
- $stderr = Stderr.instance
1745
-
1746
- # Disable outputting to default io file descriptors
1747
- $stdout.remove_default_io
1748
- $stderr.remove_default_io
1749
-
1750
- Logger.level = Logger::INFO
1751
- Logger::INFO_SEVERITY_STRING.replace('')
1752
- Logger::WARN_SEVERITY_STRING.replace('<Y> WARN:')
1753
- Logger::ERROR_SEVERITY_STRING.replace('<R> ERROR:')
1754
- end
1755
-
1756
- def create_tabs
1757
- tab_text = @default_tab_text
1758
- tab_text = ' ' + File.basename(@filename) + ' ' unless @filename.empty?
1759
- @tab_book.addTab(@script, tab_text)
1760
- @top_frame.insertWidget(0, @tab_book)
1761
- @tab_book_shown = true
1762
- end
1763
-
1764
- def remove_tabs
1765
- @top_frame.takeAt(0) # Remove the @tab_book from the layout
1766
- @top_frame.addWidget(@script) # Add back the script
1767
- @script.show
1768
- @tab_book_shown = false
1769
- end
1770
-
1771
- def isolate_string(keyword, line)
1772
- found_string = nil
1773
-
1774
- # Find keyword
1775
- keyword_index = line.index(keyword)
1776
-
1777
- # Remove keyword from line
1778
- line = line[(keyword_index + keyword.length)..-1]
1779
-
1780
- # Find start parens
1781
- start_parens = line.index('(')
1782
- if start_parens
1783
- end_parens = line[start_parens..-1].index(')')
1784
- found_string = line[(start_parens + 1)..(end_parens + start_parens - 1)].remove_quotes if end_parens
1785
- if keyword == 'wait' or keyword == 'wait_check'
1786
- quote_index = found_string.rindex('"')
1787
- quote_index = found_string.rindex("'") unless quote_index
1788
- if quote_index
1789
- found_string = found_string[0..quote_index].remove_quotes
1790
- else
1791
- found_string = nil
1792
- end
1793
- end
1794
- end
1795
- found_string
1796
- end
1797
-
1798
- def mnemonic_check_cmd_line(keyword, line_number, line)
1799
- result = nil
1800
-
1801
- # Isolate the string
1802
- string = isolate_string(keyword, line)
1803
- if string
1804
- begin
1805
- target_name, cmd_name, cmd_params = extract_fields_from_cmd_text(string)
1806
- result = "At line #{line_number}: Unknown command: #{target_name} #{cmd_name}"
1807
- packet = System.commands.packet(target_name, cmd_name)
1808
- Kernel.raise "Command not found" unless packet
1809
- cmd_params.each do |param_name, param_value|
1810
- result = "At line #{line_number}: Unknown command parameter: #{target_name} #{cmd_name} #{param_name}"
1811
- packet.get_item(param_name)
1812
- end
1813
- result = nil
1814
- rescue
1815
- if result
1816
- if string.index('=>')
1817
- # Assume alternative syntax
1818
- result = nil
1819
- end
1820
- else
1821
- result = "At line #{line_number}: Potentially malformed command: #{line}"
1822
- end
1823
- end
1824
- end
1825
-
1826
- result
1827
- end
1828
-
1829
- def _mnemonic_check_tlm_line(keyword, line_number, line)
1830
- result = nil
1831
-
1832
- # Isolate the string
1833
- string = isolate_string(keyword, line)
1834
- if string
1835
- begin
1836
- target_name, packet_name, item_name = yield string
1837
- result = "At line #{line_number}: Unknown telemetry item: #{target_name} #{packet_name} #{item_name}"
1838
- System.telemetry.packet_and_item(target_name, packet_name, item_name)
1839
- result = nil
1840
- rescue
1841
- if result
1842
- if string.index(',')
1843
- # Assume alternative syntax
1844
- result = nil
1845
- end
1846
- else
1847
- result = "At line #{line_number}: Potentially malformed telemetry: #{line}"
1848
- end
1849
- end
1850
- end
1851
-
1852
- result
1853
- end
1854
-
1855
- def mnemonic_check_tlm_line(keyword, line_number, line)
1856
- _mnemonic_check_tlm_line(keyword, line_number, line) do |string|
1857
- extract_fields_from_tlm_text(string)
1858
- end
1859
- end
1860
-
1861
- def mnemonic_check_set_tlm_line(keyword, line_number, line)
1862
- _mnemonic_check_tlm_line(keyword, line_number, line) do |string|
1863
- extract_fields_from_set_tlm_text(string)
1864
- end
1865
- end
1866
-
1867
- def mnemonic_check_check_line(keyword, line_number, line)
1868
- _mnemonic_check_tlm_line(keyword, line_number, line) do |string|
1869
- extract_fields_from_check_text(string)
1870
- end
1871
- end
1872
-
1873
- def output_thread
1874
- @@cancel_output = false
1875
- @@output_sleeper = Sleeper.new
1876
- begin
1877
- loop do
1878
- break if @@cancel_output
1879
- handle_output_io() if (Time.now.sys - @output_time) > 5.0
1880
- break if @@cancel_output
1881
- break if @@output_sleeper.sleep(1.0)
1882
- end # loop
1883
- rescue => error
1884
- Qt.execute_in_main_thread(true) do
1885
- ExceptionDialog.new(self, error, "Output Thread")
1886
- end
1887
- end
1888
- end
1889
-
1890
- def limits_monitor_thread
1891
- @@cancel_limits = false
1892
- @@limits_sleeper = Sleeper.new
1893
- queue_id = nil
1894
- begin
1895
- loop do
1896
- break if @@cancel_limits
1897
- begin
1898
- # Subscribe to limits notifications
1899
- queue_id = subscribe_limits_events(100000) unless queue_id
1900
-
1901
- # Get the next limits event
1902
- break if @@cancel_limits
1903
- begin
1904
- type, data = get_limits_event(queue_id, true)
1905
- rescue ThreadError
1906
- break if @@cancel_limits
1907
- break if @@limits_sleeper.sleep(0.5)
1908
- next
1909
- end
1910
-
1911
- break if @@cancel_limits
1912
-
1913
- # Display limits state changes
1914
- if type == :LIMITS_CHANGE
1915
- target_name = data[0]
1916
- packet_name = data[1]
1917
- item_name = data[2]
1918
- old_limits_state = data[3]
1919
- new_limits_state = data[4]
1920
-
1921
- if old_limits_state == nil # Changing from nil
1922
- if (new_limits_state != :GREEN) &&
1923
- (new_limits_state != :GREEN_LOW) &&
1924
- (new_limits_state != :GREEN_HIGH) &&
1925
- (new_limits_state != :BLUE)
1926
- msg = "#{target_name} #{packet_name} #{item_name} is #{new_limits_state.to_s}"
1927
- case new_limits_state
1928
- when :YELLOW, :YELLOW_LOW, :YELLOW_HIGH
1929
- scriptrunner_puts "<Y>#{msg}"
1930
- when :RED, :RED_LOW, :RED_HIGH
1931
- scriptrunner_puts "<R>#{msg}"
1932
- else
1933
- # Print nothing
1934
- end
1935
- handle_output_io()
1936
- end
1937
- else # changing from a color
1938
- msg = "#{target_name} #{packet_name} #{item_name} is #{new_limits_state.to_s}"
1939
- case new_limits_state
1940
- when :BLUE
1941
- scriptrunner_puts "<B>#{msg}"
1942
- when :GREEN, :GREEN_LOW, :GREEN_HIGH
1943
- scriptrunner_puts "<G>#{msg}"
1944
- when :YELLOW, :YELLOW_LOW, :YELLOW_HIGH
1945
- scriptrunner_puts "<Y>#{msg}"
1946
- when :RED, :RED_LOW, :RED_HIGH
1947
- scriptrunner_puts "<R>#{msg}"
1948
- else
1949
- # Print nothing
1950
- end
1951
- break if @@cancel_limits
1952
- handle_output_io()
1953
- break if @@cancel_limits
1954
- end
1955
-
1956
- if @@pause_on_red && (new_limits_state == :RED ||
1957
- new_limits_state == :RED_LOW ||
1958
- new_limits_state == :RED_HIGH)
1959
- break if @@cancel_limits
1960
- pause()
1961
- break if @@cancel_limits
1962
- end
1963
- end
1964
-
1965
- rescue DRb::DRbConnError
1966
- queue_id = nil
1967
- break if @@cancel_limits
1968
- break if @@limits_sleeper.sleep(1)
1969
- end
1970
-
1971
- end # loop
1972
- rescue => error
1973
- Qt.execute_in_main_thread(true) do
1974
- ExceptionDialog.new(self, error, "Limits Monitor Thread")
1975
- end
1976
- end
1977
- ensure
1978
- begin
1979
- unsubscribe_limits_events(queue_id) if queue_id
1980
- rescue
1981
- # Oh Well
1982
- end
1983
- end
1984
- end
1985
- end