cosmos 3.9.2 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (438) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +23 -0
  3. data/.travis.yml +1 -0
  4. data/.yardopts +3 -0
  5. data/Gemfile +1 -1
  6. data/Manifest.txt +137 -52
  7. data/Rakefile +50 -44
  8. data/autohotkey/config/system/system.txt +0 -5
  9. data/autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt +6 -1
  10. data/autohotkey/config/targets/INST/screens/extra.txt +19 -0
  11. data/autohotkey/config/targets/INST/sequences/run_sequence.txt +1 -0
  12. data/autohotkey/config/targets/META/screens/data.txt +12 -0
  13. data/autohotkey/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
  14. data/autohotkey/config/targets/{COSMOS/cmd_tlm/cosmos_server_cmds.txt → SYSTEM/cmd_tlm/system_cmds.txt} +8 -8
  15. data/autohotkey/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
  16. data/autohotkey/config/targets/SYSTEM/screens/limits_change.txt +14 -0
  17. data/autohotkey/config/targets/SYSTEM/screens/meta.txt +14 -0
  18. data/autohotkey/config/targets/SYSTEM/target.txt +12 -0
  19. data/autohotkey/config/tools/cmd_tlm_server/cmd_tlm_server.txt +2 -2
  20. data/autohotkey/config/tools/test_runner/test_runner2.txt +1 -1
  21. data/autohotkey/tools/CmdSequence +14 -0
  22. data/autohotkey/tools/CmdSequenceAHK +23 -0
  23. data/autohotkey/tools/CmdSequenceAHK2 +16 -0
  24. data/autohotkey/tools/cmd_extractor.ahk +2 -2
  25. data/autohotkey/tools/cmd_sender.ahk +4 -6
  26. data/autohotkey/tools/cmd_sequence.ahk +215 -0
  27. data/autohotkey/tools/cmd_sequence2.ahk +23 -0
  28. data/autohotkey/tools/data_viewer.ahk +2 -3
  29. data/autohotkey/tools/limits_monitor.ahk +9 -11
  30. data/autohotkey/tools/open_gl_builder.ahk +1 -2
  31. data/autohotkey/tools/packet_viewer.ahk +51 -35
  32. data/autohotkey/tools/replay.ahk +1 -2
  33. data/autohotkey/tools/script_runner.ahk +1 -2
  34. data/autohotkey/tools/script_runner2.ahk +1 -2
  35. data/autohotkey/tools/test_runner2.ahk +1 -5
  36. data/autohotkey/tools/test_runner3.ahk +1 -3
  37. data/autohotkey/tools/tlm_grapher.ahk +1 -3
  38. data/autohotkey/tools/tlm_grapher3.ahk +1 -2
  39. data/autohotkey/tools/tlm_viewer.ahk +8 -3
  40. data/autohotkey/tools/tlm_viewer2.ahk +2 -3
  41. data/autohotkey/tools/tlm_viewer5.ahk +1 -2
  42. data/cosmos.gemspec +26 -20
  43. data/data/cmd_sequence.png +0 -0
  44. data/data/config/_array_params.yaml +23 -0
  45. data/data/config/_id_items.yaml +24 -0
  46. data/data/config/_id_params.yaml +58 -0
  47. data/data/config/_interfaces.yaml +206 -0
  48. data/data/config/_items.yaml +20 -0
  49. data/data/config/_params.yaml +58 -0
  50. data/data/config/cmd_tlm_server.yaml +110 -0
  51. data/data/config/command.yaml +38 -0
  52. data/data/config/command_modifiers.yaml +127 -0
  53. data/data/config/command_telemetry.yaml +3 -0
  54. data/data/config/data_viewer.yaml +43 -0
  55. data/data/config/handbook_creator.yaml +23 -0
  56. data/data/config/housekeeping_params.yaml +71 -0
  57. data/data/config/interface_modifiers.yaml +44 -0
  58. data/data/config/item_modifiers.yaml +172 -0
  59. data/data/config/launcher.yaml +117 -0
  60. data/data/config/limits_monitor.yaml +53 -0
  61. data/data/config/linegraph_params.yaml +30 -0
  62. data/data/config/linegraph_plot.yaml +106 -0
  63. data/data/config/page_modifiers.yaml +128 -0
  64. data/data/config/param_item_modifiers.yaml +41 -0
  65. data/data/config/parameter_modifiers.yaml +144 -0
  66. data/data/config/protocols.yaml +257 -0
  67. data/data/config/screen.yaml +151 -0
  68. data/data/config/script_runner.yaml +15 -0
  69. data/data/config/system.yaml +153 -0
  70. data/data/config/table_manager.yaml +76 -0
  71. data/data/config/table_parameter_modifiers.yaml +9 -0
  72. data/data/config/target.yaml +71 -0
  73. data/data/config/telemetry.yaml +73 -0
  74. data/data/config/telemetry_modifiers.yaml +129 -0
  75. data/data/config/test_runner.yaml +118 -0
  76. data/data/config/tlm_extractor.yaml +109 -0
  77. data/data/config/tlm_grapher.yaml +78 -0
  78. data/data/config/tlm_viewer.yaml +107 -0
  79. data/data/config/unknown.yaml +3 -0
  80. data/data/config/widgets.yaml +1339 -0
  81. data/data/config/xy_params.yaml +50 -0
  82. data/data/config/xy_plot.yaml +12 -0
  83. data/data/config_editor.png +0 -0
  84. data/data/crc.txt +172 -161
  85. data/data/delete.png +0 -0
  86. data/demo/config/data/crc.txt +56 -36
  87. data/demo/config/data/meta_init.txt +1 -4
  88. data/demo/config/system/system.txt +15 -3
  89. data/demo/config/system/system2.txt +13 -3
  90. data/demo/config/targets/EXAMPLE/lib/example_interface.rb +2 -6
  91. data/demo/config/targets/EXAMPLE/target.txt +3 -1
  92. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -0
  93. data/demo/config/targets/INST/lib/inst_dump_component.rb +34 -0
  94. data/demo/config/targets/INST/screens/adcs.txt +39 -15
  95. data/demo/config/targets/INST/screens/commanding.txt +26 -19
  96. data/demo/config/targets/INST/screens/spacing_box.txt +44 -0
  97. data/demo/config/targets/INST/screens/spacing_grid.txt +78 -0
  98. data/demo/config/targets/INST/screens/tabs.txt +0 -2
  99. data/demo/config/targets/INST/sequences/sequence.tsv +3 -0
  100. data/demo/config/targets/INST/tables/EventAction.csv +9 -0
  101. data/demo/config/targets/INST/tables/EventAction.dat +0 -0
  102. data/demo/config/targets/INST/tables/McConfigTable.csv +20 -0
  103. data/demo/config/targets/INST/tables/McConfigTable.dat +0 -0
  104. data/demo/config/targets/INST/target.txt +4 -0
  105. data/demo/config/targets/INST/tools/data_viewer/data_viewer.txt +2 -0
  106. data/demo/config/targets/INST/tools/data_viewer/data_viewer2.txt +2 -0
  107. data/demo/config/targets/INST/tools/table_manager/EventAction_def.txt +6 -0
  108. data/demo/config/targets/INST/tools/table_manager/McConfigTable_def.txt +38 -0
  109. data/demo/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +7 -3
  110. data/demo/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
  111. data/demo/config/targets/{COSMOS/cmd_tlm/cosmos_server_cmds.txt → SYSTEM/cmd_tlm/system_cmds.txt} +8 -8
  112. data/demo/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
  113. data/demo/config/targets/{COSMOS → SYSTEM}/cmd_tlm_server.txt +2 -2
  114. data/demo/config/targets/SYSTEM/lib/limits_groups.rb +39 -0
  115. data/demo/config/targets/SYSTEM/screens/status.txt +1 -1
  116. data/demo/config/targets/SYSTEM/target.txt +12 -0
  117. data/demo/config/targets/TEMPLATED/cmd_tlm_server.txt +1 -1
  118. data/demo/config/targets/TEMPLATED/lib/templated_interface.rb +8 -5
  119. data/demo/config/targets/TEMPLATED/target.txt +2 -0
  120. data/demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt +15 -6
  121. data/demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt +13 -5
  122. data/demo/config/tools/data_viewer/data_viewer.txt +9 -0
  123. data/demo/config/tools/launcher/launcher.txt +9 -6
  124. data/demo/config/tools/launcher/launcher2.txt +16 -13
  125. data/demo/config/tools/launcher/launcher_mini.txt +45 -0
  126. data/demo/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +12 -11
  127. data/demo/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +12 -11
  128. data/demo/config/tools/test_runner/test_runner.txt +1 -1
  129. data/demo/config/tools/tlm_viewer/tlm_viewer.txt +5 -5
  130. data/demo/lib/example_background_task.rb +9 -5
  131. data/demo/lib/example_target.rb +5 -15
  132. data/demo/lib/scpi_target.rb +4 -10
  133. data/demo/procedures/cosmos_api_test.rb +17 -0
  134. data/demo/tools/CmdSequence +16 -0
  135. data/demo/tools/CmdSequence.bat +9 -0
  136. data/demo/tools/ConfigEditor +16 -0
  137. data/demo/tools/ConfigEditor.bat +9 -0
  138. data/demo/tools/mac/CmdSequence.app/Contents/Info.plist +38 -0
  139. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +16 -0
  140. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +10 -0
  141. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +38 -0
  142. data/demo/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
  143. data/ext/cosmos/ext/packet/packet.c +5 -5
  144. data/install/config/data/crc.txt +12 -8
  145. data/install/config/system/system.txt +13 -3
  146. data/install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +14 -0
  147. data/install/config/targets/SYSTEM/target.txt +12 -0
  148. data/install/tools/CmdSequence +16 -0
  149. data/install/tools/CmdSequence.bat +9 -0
  150. data/install/tools/ConfigEditor +16 -0
  151. data/install/tools/ConfigEditor.bat +9 -0
  152. data/install/tools/mac/CmdSequence.app/Contents/Info.plist +38 -0
  153. data/install/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +16 -0
  154. data/install/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +10 -0
  155. data/install/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +38 -0
  156. data/install/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
  157. data/lib/cosmos.rb +1 -1
  158. data/lib/cosmos/config/config_parser.rb +147 -59
  159. data/lib/cosmos/config/meta_config_parser.rb +57 -0
  160. data/lib/cosmos/conversions/polynomial_conversion.rb +20 -4
  161. data/lib/cosmos/conversions/unix_time_conversion.rb +4 -4
  162. data/lib/cosmos/core_ext/array.rb +45 -5
  163. data/lib/cosmos/core_ext/cosmos_io.rb +31 -15
  164. data/lib/cosmos/core_ext/file.rb +2 -2
  165. data/lib/cosmos/core_ext/kernel.rb +1 -6
  166. data/lib/cosmos/core_ext/objectspace.rb +0 -2
  167. data/lib/cosmos/core_ext/string.rb +27 -4
  168. data/lib/cosmos/core_ext/time.rb +39 -10
  169. data/lib/cosmos/gui/choosers/combobox_chooser.rb +37 -26
  170. data/lib/cosmos/gui/choosers/file_chooser.rb +23 -6
  171. data/lib/cosmos/gui/choosers/float_chooser.rb +13 -11
  172. data/lib/cosmos/gui/choosers/integer_chooser.rb +13 -11
  173. data/lib/cosmos/gui/choosers/string_chooser.rb +18 -36
  174. data/lib/cosmos/gui/choosers/telemetry_chooser.rb +64 -64
  175. data/lib/cosmos/gui/choosers/value_chooser.rb +15 -15
  176. data/lib/cosmos/gui/dialogs/about_dialog.rb +18 -13
  177. data/lib/cosmos/gui/dialogs/calendar_dialog.rb +11 -3
  178. data/lib/cosmos/gui/dialogs/cmd_tlm_raw_dialog.rb +1 -1
  179. data/lib/cosmos/gui/dialogs/details_dialog.rb +1 -1
  180. data/lib/cosmos/gui/dialogs/exception_dialog.rb +7 -7
  181. data/lib/cosmos/gui/dialogs/find_replace_dialog.rb +20 -15
  182. data/lib/cosmos/gui/dialogs/interface_raw_dialog.rb +143 -0
  183. data/lib/cosmos/gui/dialogs/legal_dialog.rb +6 -5
  184. data/lib/cosmos/gui/dialogs/packet_log_dialog.rb +5 -2
  185. data/lib/cosmos/gui/dialogs/progress_dialog.rb +1 -1
  186. data/lib/cosmos/gui/dialogs/pry_dialog.rb +4 -4
  187. data/lib/cosmos/gui/dialogs/scroll_text_dialog.rb +3 -0
  188. data/lib/cosmos/gui/dialogs/set_tlm_dialog.rb +7 -6
  189. data/lib/cosmos/gui/dialogs/splash.rb +1 -1
  190. data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +1 -1
  191. data/lib/cosmos/gui/dialogs/tlm_graph_dialog.rb +114 -0
  192. data/lib/cosmos/gui/line_graph/line_graph.rb +9 -10
  193. data/lib/cosmos/gui/line_graph/line_graph_dialog.rb +7 -5
  194. data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +3 -7
  195. data/lib/cosmos/gui/line_graph/line_graph_popups.rb +3 -8
  196. data/lib/cosmos/gui/line_graph/line_graph_scaling.rb +2 -7
  197. data/lib/cosmos/gui/line_graph/overview_graph.rb +6 -1
  198. data/lib/cosmos/gui/opengl/earth_model.rb +6 -3
  199. data/lib/cosmos/gui/opengl/gl_bounds.rb +11 -23
  200. data/lib/cosmos/gui/opengl/gl_light.rb +3 -4
  201. data/lib/cosmos/gui/opengl/gl_material.rb +3 -4
  202. data/lib/cosmos/gui/opengl/gl_scene.rb +10 -4
  203. data/lib/cosmos/gui/opengl/gl_shape.rb +6 -2
  204. data/lib/cosmos/gui/opengl/gl_viewer.rb +5 -5
  205. data/lib/cosmos/gui/opengl/gl_viewport.rb +11 -12
  206. data/lib/cosmos/gui/opengl/moon_model.rb +6 -3
  207. data/lib/cosmos/gui/opengl/stl_reader.rb +8 -9
  208. data/lib/cosmos/gui/opengl/stl_shape.rb +4 -5
  209. data/lib/cosmos/gui/opengl/texture_mapped_sphere.rb +7 -7
  210. data/lib/cosmos/gui/qt.rb +1 -1
  211. data/lib/cosmos/gui/qt_tool.rb +21 -10
  212. data/lib/cosmos/gui/text/completion.rb +23 -2
  213. data/lib/cosmos/gui/text/completion_text_edit.rb +38 -23
  214. data/lib/cosmos/gui/utilities/analyze_log.rb +1 -1
  215. data/lib/cosmos/gui/utilities/screenshot.rb +2 -2
  216. data/lib/cosmos/gui/widgets/full_text_search_line_edit.rb +11 -1
  217. data/lib/cosmos/gui/widgets/packet_log_frame.rb +19 -6
  218. data/lib/cosmos/interfaces.rb +10 -0
  219. data/lib/cosmos/interfaces/cmd_tlm_server_interface.rb +28 -47
  220. data/lib/cosmos/interfaces/interface.rb +240 -22
  221. data/lib/cosmos/interfaces/linc_interface.rb +3 -5
  222. data/lib/cosmos/interfaces/protocols/burst_protocol.rb +173 -0
  223. data/lib/cosmos/interfaces/protocols/crc_protocol.rb +141 -0
  224. data/lib/cosmos/{streams/fixed_stream_protocol.rb → interfaces/protocols/fixed_protocol.rb} +40 -37
  225. data/lib/cosmos/{streams/length_stream_protocol.rb → interfaces/protocols/length_protocol.rb} +55 -48
  226. data/lib/cosmos/interfaces/protocols/override_protocol.rb +52 -0
  227. data/lib/cosmos/interfaces/protocols/preidentified_protocol.rb +141 -0
  228. data/lib/cosmos/interfaces/protocols/protocol.rb +60 -0
  229. data/lib/cosmos/interfaces/protocols/template_protocol.rb +209 -0
  230. data/lib/cosmos/interfaces/protocols/terminated_protocol.rb +81 -0
  231. data/lib/cosmos/interfaces/serial_interface.rb +28 -23
  232. data/lib/cosmos/interfaces/simulated_target_interface.rb +27 -16
  233. data/lib/cosmos/interfaces/stream_interface.rb +36 -108
  234. data/lib/cosmos/interfaces/tcpip_client_interface.rb +21 -21
  235. data/lib/cosmos/interfaces/tcpip_server_interface.rb +555 -94
  236. data/lib/cosmos/interfaces/udp_interface.rb +51 -83
  237. data/lib/cosmos/io/buffered_file.rb +92 -2
  238. data/lib/cosmos/io/json_drb.rb +2 -2
  239. data/lib/cosmos/io/posix_serial_driver.rb +3 -1
  240. data/lib/cosmos/io/raw_logger.rb +3 -3
  241. data/lib/cosmos/io/serial_driver.rb +14 -5
  242. data/lib/cosmos/io/win32_serial_driver.rb +16 -4
  243. data/lib/cosmos/packet_logs.rb +0 -1
  244. data/lib/cosmos/packet_logs/packet_log_reader.rb +11 -1
  245. data/lib/cosmos/packet_logs/packet_log_writer.rb +31 -13
  246. data/lib/cosmos/packets/binary_accessor.rb +599 -32
  247. data/lib/cosmos/packets/commands.rb +48 -24
  248. data/lib/cosmos/packets/packet.rb +140 -54
  249. data/lib/cosmos/packets/packet_config.rb +0 -2
  250. data/lib/cosmos/packets/parsers/packet_item_parser.rb +10 -2
  251. data/lib/cosmos/packets/structure.rb +81 -33
  252. data/lib/cosmos/packets/structure_item.rb +45 -5
  253. data/lib/cosmos/packets/telemetry.rb +149 -55
  254. data/lib/cosmos/script/api_shared.rb +1000 -0
  255. data/lib/cosmos/script/commands.rb +2 -2
  256. data/lib/cosmos/script/extract.rb +19 -4
  257. data/lib/cosmos/script/limits.rb +2 -0
  258. data/lib/cosmos/script/script.rb +1 -1
  259. data/lib/cosmos/script/scripting.rb +4 -784
  260. data/lib/cosmos/script/telemetry.rb +44 -23
  261. data/lib/cosmos/script/tools.rb +15 -69
  262. data/lib/cosmos/streams/serial_stream.rb +12 -19
  263. data/lib/cosmos/streams/stream.rb +2 -11
  264. data/lib/cosmos/streams/tcpip_socket_stream.rb +3 -13
  265. data/lib/cosmos/system/system.rb +187 -31
  266. data/lib/cosmos/system/target.rb +11 -2
  267. data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +12 -11
  268. data/lib/cosmos/tools/cmd_sender/{cmd_sender_item_delegate.rb → cmd_param_table_item_delegate.rb} +11 -10
  269. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +209 -164
  270. data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +652 -0
  271. data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +510 -0
  272. data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +194 -0
  273. data/lib/cosmos/tools/cmd_tlm_server/api.rb +179 -5
  274. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +31 -14
  275. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +23 -16
  276. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +92 -20
  277. data/lib/cosmos/tools/cmd_tlm_server/commanding.rb +1 -1
  278. data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +17 -4
  279. data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +0 -5
  280. data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +1 -2
  281. data/lib/cosmos/tools/cmd_tlm_server/interfaces.rb +4 -4
  282. data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +121 -0
  283. data/lib/cosmos/tools/cmd_tlm_server/routers.rb +8 -4
  284. data/lib/cosmos/tools/config_editor/config_editor.rb +720 -0
  285. data/lib/cosmos/tools/config_editor/config_editor_frame.rb +675 -0
  286. data/lib/cosmos/tools/data_viewer/data_viewer.rb +44 -27
  287. data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +8 -22
  288. data/lib/cosmos/tools/launcher/launcher.rb +29 -12
  289. data/lib/cosmos/tools/launcher/launcher_config.rb +1 -1
  290. data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +153 -42
  291. data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +44 -6
  292. data/lib/cosmos/tools/replay/replay.rb +36 -20
  293. data/lib/cosmos/tools/replay/replay_server.rb +1 -1
  294. data/lib/cosmos/tools/script_runner/script_runner_config.rb +1 -1
  295. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +31 -21
  296. data/lib/cosmos/tools/table_manager/table_config.rb +9 -3
  297. data/lib/cosmos/tools/table_manager/table_manager.rb +27 -7
  298. data/lib/cosmos/tools/test_runner/results_writer.rb +6 -6
  299. data/lib/cosmos/tools/test_runner/test_runner.rb +4 -6
  300. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +4 -5
  301. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +1 -1
  302. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +1 -1
  303. data/lib/cosmos/tools/tlm_grapher/data_object_adders/housekeeping_data_object_adder.rb +23 -6
  304. data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +44 -3
  305. data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +20 -7
  306. data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +1 -1
  307. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +11 -4
  308. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_plot_editor.rb +2 -2
  309. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_realtime_thread.rb +1 -1
  310. data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +16 -0
  311. data/lib/cosmos/tools/tlm_viewer/screen.rb +36 -32
  312. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +59 -50
  313. data/lib/cosmos/tools/tlm_viewer/tlm_viewer_config.rb +2 -2
  314. data/lib/cosmos/tools/tlm_viewer/widgets.rb +1 -0
  315. data/lib/cosmos/tools/tlm_viewer/widgets/canvasvalue_widget.rb +1 -0
  316. data/lib/cosmos/tools/tlm_viewer/widgets/labelvalue_widget.rb +22 -4
  317. data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +9 -0
  318. data/lib/cosmos/tools/tlm_viewer/widgets/spacer_widget.rb +55 -0
  319. data/lib/cosmos/tools/tlm_viewer/widgets/vertical_widget.rb +3 -2
  320. data/lib/cosmos/tools/tlm_viewer/widgets/verticalbox_widget.rb +3 -2
  321. data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +12 -12
  322. data/lib/cosmos/top_level.rb +34 -24
  323. data/lib/cosmos/utilities/crc.rb +108 -6
  324. data/lib/cosmos/utilities/csv.rb +68 -14
  325. data/lib/cosmos/utilities/logger.rb +2 -2
  326. data/lib/cosmos/utilities/low_fragmentation_array.rb +9 -1
  327. data/lib/cosmos/version.rb +6 -6
  328. data/lib/cosmos/win32/win32_main.rb +50 -46
  329. data/run_gui_tests.bat +3 -1
  330. data/spec/conversions/unix_time_formatted_conversion_spec.rb +2 -2
  331. data/spec/conversions/unix_time_seconds_conversion_spec.rb +2 -2
  332. data/spec/core_ext/file_spec.rb +1 -1
  333. data/spec/core_ext/objectspace_spec.rb +12 -9
  334. data/spec/core_ext/string_spec.rb +6 -0
  335. data/spec/core_ext/time_spec.rb +10 -0
  336. data/spec/gui/line_graph/line_clip_spec.rb +226 -224
  337. data/spec/gui/qt_spec.rb +81 -79
  338. data/spec/install/config/system/system.txt +0 -6
  339. data/spec/install/config/targets/INST/cmd_tlm/inst_cmd_linc.txt +5 -5
  340. data/spec/install/config/targets/INST/cmd_tlm/inst_tlm_linc.txt +8 -8
  341. data/spec/install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
  342. data/{install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt → spec/install/config/targets/SYSTEM/cmd_tlm/system_cmds.txt} +8 -8
  343. data/spec/install/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
  344. data/spec/install/config/targets/{COSMOS → SYSTEM}/cmd_tlm_server.txt +2 -2
  345. data/spec/install/config/targets/SYSTEM/screens/status.txt +12 -0
  346. data/spec/install/config/targets/SYSTEM/target.txt +12 -0
  347. data/spec/interfaces/cmd_tlm_server_interface_spec.rb +9 -13
  348. data/spec/interfaces/interface_spec.rb +402 -18
  349. data/spec/interfaces/linc_interface_spec.rb +37 -39
  350. data/spec/interfaces/protocols/burst_protocol_spec.rb +300 -0
  351. data/spec/interfaces/protocols/crc_protocol_spec.rb +709 -0
  352. data/spec/interfaces/protocols/fixed_protocol_spec.rb +119 -0
  353. data/spec/interfaces/protocols/length_protocol_spec.rb +499 -0
  354. data/spec/interfaces/protocols/override_protocol_spec.rb +158 -0
  355. data/spec/interfaces/protocols/preidentified_protocol_spec.rb +149 -0
  356. data/spec/interfaces/protocols/template_protocol_spec.rb +218 -0
  357. data/spec/interfaces/protocols/terminated_protocol_spec.rb +174 -0
  358. data/spec/interfaces/serial_interface_spec.rb +35 -34
  359. data/spec/interfaces/simulated_target_interface_spec.rb +13 -13
  360. data/spec/interfaces/tcpip_client_interface_spec.rb +21 -16
  361. data/spec/interfaces/tcpip_server_interface_spec.rb +66 -69
  362. data/spec/interfaces/udp_interface_spec.rb +120 -55
  363. data/spec/io/serial_driver_spec.rb +41 -39
  364. data/spec/io/udp_sockets_spec.rb +13 -8
  365. data/spec/io/win32_serial_driver_spec.rb +62 -59
  366. data/spec/packet_logs/packet_log_reader_spec.rb +68 -47
  367. data/spec/packet_logs/packet_log_writer_spec.rb +7 -5
  368. data/spec/packets/commands_spec.rb +5 -5
  369. data/spec/packets/packet_spec.rb +2 -14
  370. data/spec/script/extract_spec.rb +21 -7
  371. data/spec/script/scripting_spec.rb +261 -6
  372. data/spec/script/telemetry_spec.rb +17 -9
  373. data/spec/spec_helper.rb +26 -10
  374. data/spec/streams/serial_stream_spec.rb +87 -82
  375. data/spec/streams/tcpip_client_stream_spec.rb +12 -4
  376. data/spec/streams/tcpip_socket_stream_spec.rb +5 -0
  377. data/spec/system/system_spec.rb +66 -50
  378. data/spec/system/target_spec.rb +33 -11
  379. data/spec/tools/cmd_tlm_server/api_spec.rb +5 -5
  380. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +75 -15
  381. data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +125 -5
  382. data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +244 -232
  383. data/spec/tools/cmd_tlm_server/commanding_spec.rb +18 -18
  384. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +124 -29
  385. data/spec/tools/cmd_tlm_server/interfaces_spec.rb +2 -2
  386. data/spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb +145 -0
  387. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +50 -10
  388. data/spec/tools/table_manager/tablemanager_core_spec.rb +0 -1
  389. data/spec/top_level/top_level_spec.rb +39 -11
  390. data/spec/utilities/csv_spec.rb +62 -20
  391. data/tasks/gemfile_stats.rake +6 -3
  392. data/test/performance/config/system/system_packets.txt +0 -1
  393. data/test/performance/config/system/system_threads.txt +0 -1
  394. metadata +177 -92
  395. data/autohotkey/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
  396. data/autohotkey/config/targets/COSMOS/cmd_tlm_server.txt +0 -6
  397. data/autohotkey/config/targets/COSMOS/target.txt +0 -5
  398. data/autohotkey/userpath.txt +0 -1
  399. data/demo/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
  400. data/demo/config/targets/COSMOS/screens/limits_change.txt +0 -20
  401. data/demo/config/targets/COSMOS/screens/version.txt +0 -19
  402. data/demo/config/targets/COSMOS/target.txt +0 -11
  403. data/demo/config/targets/META/cmd_tlm/meta_cmd.txt +0 -10
  404. data/demo/config/targets/META/cmd_tlm/meta_tlm.txt +0 -13
  405. data/demo/userpath.txt +0 -1
  406. data/install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
  407. data/install/config/targets/COSMOS/cmd_tlm_server.txt +0 -6
  408. data/install/config/targets/COSMOS/screens/limits_change.txt +0 -20
  409. data/install/config/targets/COSMOS/screens/version.txt +0 -19
  410. data/install/config/targets/COSMOS/target.txt +0 -9
  411. data/install/config/targets/SYSTEM/README.txt +0 -1
  412. data/install/userpath.txt +0 -1
  413. data/lib/cosmos/io/tcpip_server.rb +0 -571
  414. data/lib/cosmos/packet_logs/meta_packet_log_writer.rb +0 -107
  415. data/lib/cosmos/streams/burst_stream_protocol.rb +0 -25
  416. data/lib/cosmos/streams/preidentified_stream_protocol.rb +0 -118
  417. data/lib/cosmos/streams/stream_protocol.rb +0 -373
  418. data/lib/cosmos/streams/template_stream_protocol.rb +0 -140
  419. data/lib/cosmos/streams/terminated_stream_protocol.rb +0 -85
  420. data/spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +0 -41
  421. data/spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
  422. data/spec/install/config/targets/COSMOS/screens/limits_change.txt +0 -20
  423. data/spec/install/config/targets/COSMOS/screens/version.txt +0 -19
  424. data/spec/install/config/targets/COSMOS/target.txt +0 -5
  425. data/spec/install/config/targets/META/cmd_tlm/meta_cmd.txt +0 -4
  426. data/spec/install/config/targets/META/cmd_tlm/meta_tlm.txt +0 -4
  427. data/spec/install/userpath.txt +0 -1
  428. data/spec/interfaces/stream_interface_spec.rb +0 -157
  429. data/spec/io/tcpip_server_spec.rb +0 -338
  430. data/spec/packet_logs/meta_packet_log_writer_spec.rb +0 -170
  431. data/spec/streams/burst_stream_protocol_spec.rb +0 -32
  432. data/spec/streams/fixed_stream_protocol_spec.rb +0 -113
  433. data/spec/streams/length_stream_protocol_spec.rb +0 -300
  434. data/spec/streams/preidentified_stream_protocol_spec.rb +0 -121
  435. data/spec/streams/stream_protocol_spec.rb +0 -346
  436. data/spec/streams/template_stream_protocol_spec.rb +0 -156
  437. data/spec/streams/terminated_stream_protocol_spec.rb +0 -127
  438. data/test/performance/userpath.txt +0 -1
@@ -39,10 +39,18 @@ module Cosmos
39
39
  capture_io do |stdout|
40
40
  thread.start
41
41
  sleep 0.2
42
- expect(Thread.list.length).to eql(2)
42
+ if RUBY_ENGINE == 'ruby'
43
+ expect(Thread.list.length).to eql(2)
44
+ else
45
+ expect(Thread.list.length).to eql(3)
46
+ end
43
47
  thread.stop
44
48
  sleep 0.5
45
- expect(Thread.list.length).to eql(1)
49
+ if RUBY_ENGINE == 'ruby'
50
+ expect(Thread.list.length).to eql(1)
51
+ else
52
+ expect(Thread.list.length).to eql(2)
53
+ end
46
54
  expect(stdout.string).to match "disconnected interface"
47
55
  end
48
56
  end
@@ -57,10 +65,18 @@ module Cosmos
57
65
  capture_io do |stdout|
58
66
  thread.start
59
67
  sleep 0.2
60
- expect(Thread.list.length).to eql(2)
68
+ if RUBY_ENGINE == 'ruby'
69
+ expect(Thread.list.length).to eql(2)
70
+ else
71
+ expect(Thread.list.length).to eql(3)
72
+ end
61
73
  thread.stop
62
74
  sleep 0.5
63
- expect(Thread.list.length).to eql(1)
75
+ if RUBY_ENGINE == 'ruby'
76
+ expect(Thread.list.length).to eql(1)
77
+ else
78
+ expect(Thread.list.length).to eql(2)
79
+ end
64
80
  expect(stdout.string).to match "Error routing command"
65
81
  end
66
82
  end
@@ -81,10 +97,18 @@ module Cosmos
81
97
  capture_io do |stdout|
82
98
  thread.start
83
99
  sleep 0.2
84
- expect(Thread.list.length).to eql(2)
100
+ if RUBY_ENGINE == 'ruby'
101
+ expect(Thread.list.length).to eql(2)
102
+ else
103
+ expect(Thread.list.length).to eql(3)
104
+ end
85
105
  thread.stop
86
106
  sleep 0.5
87
- expect(Thread.list.length).to eql(1)
107
+ if RUBY_ENGINE == 'ruby'
108
+ expect(Thread.list.length).to eql(1)
109
+ else
110
+ expect(Thread.list.length).to eql(2)
111
+ end
88
112
  expect(stdout.string).to match "Received unknown identified command: BOB SMITH"
89
113
  end
90
114
  end
@@ -109,10 +133,18 @@ module Cosmos
109
133
  capture_io do |stdout|
110
134
  thread.start
111
135
  sleep 0.2
112
- expect(Thread.list.length).to eql(2)
136
+ if RUBY_ENGINE == 'ruby'
137
+ expect(Thread.list.length).to eql(2)
138
+ else
139
+ expect(Thread.list.length).to eql(3)
140
+ end
113
141
  thread.stop
114
142
  sleep 0.5
115
- expect(Thread.list.length).to eql(1)
143
+ if RUBY_ENGINE == 'ruby'
144
+ expect(Thread.list.length).to eql(1)
145
+ else
146
+ expect(Thread.list.length).to eql(2)
147
+ end
116
148
  expect(stdout.string).to match "Received unknown identified command: BOB SMITH"
117
149
  end
118
150
  expect(target).to have_received(:interface).at_least(2).times #and_return(@interface)
@@ -138,10 +170,18 @@ module Cosmos
138
170
  capture_io do |stdout|
139
171
  thread.start
140
172
  sleep 0.2
141
- expect(Thread.list.length).to eql(2)
173
+ if RUBY_ENGINE == 'ruby'
174
+ expect(Thread.list.length).to eql(2)
175
+ else
176
+ expect(Thread.list.length).to eql(3)
177
+ end
142
178
  thread.stop
143
179
  sleep 0.5
144
- expect(Thread.list.length).to eql(1)
180
+ if RUBY_ENGINE == 'ruby'
181
+ expect(Thread.list.length).to eql(1)
182
+ else
183
+ expect(Thread.list.length).to eql(2)
184
+ end
145
185
  expect(stdout.string).to match "target with no interface"
146
186
  end
147
187
  end
@@ -554,4 +554,3 @@ module Cosmos
554
554
 
555
555
  end # describe TableManagerCore
556
556
  end
557
-
@@ -70,21 +70,22 @@ module Cosmos
70
70
  expect(Cosmos::USERPATH).not_to be_nil
71
71
  end
72
72
 
73
- context "when searching for userpath.txt" do
73
+ context "when searching for config/system and config/targets" do
74
74
  it "giveups if it can't be found" do
75
75
  old = Cosmos::USERPATH
76
76
  Cosmos.define_user_path(Dir.home)
77
77
  expect(Cosmos::USERPATH).to eql old
78
78
  end
79
79
 
80
- it "sets the path to where userpath.txt is found" do
80
+ it "sets the path to where config/system and config/targets are found" do
81
81
  ENV.delete('COSMOS_USERPATH')
82
82
  old = Cosmos::USERPATH
83
83
  expect(old).not_to eql File.dirname(__FILE__)
84
- File.open(File.join(File.dirname(__FILE__), 'userpath.txt'),'w') {|f| f.puts '' }
84
+ FileUtils.mkdir_p(File.join(File.dirname(__FILE__), 'config', 'system'))
85
+ FileUtils.mkdir_p(File.join(File.dirname(__FILE__), 'config', 'targets'))
85
86
  Cosmos.define_user_path(File.dirname(__FILE__))
86
87
  expect(Cosmos::USERPATH).to eql File.dirname(__FILE__)
87
- File.delete(File.join(File.dirname(__FILE__), 'userpath.txt'))
88
+ FileUtils.rm_rf(File.join(File.dirname(__FILE__), 'config'))
88
89
  end
89
90
  end
90
91
  end
@@ -127,7 +128,7 @@ module Cosmos
127
128
  system_exit_count = $system_exit_count
128
129
  Cosmos.marshal_dump('marshal_test', Proc.new { '' })
129
130
  expect($system_exit_count).to be > system_exit_count
130
- expect(stdout.string).to match "no _dump_data is defined for class Proc"
131
+ expect(stdout.string).to match "is defined for class Proc"
131
132
  end
132
133
  Cosmos.cleanup_exceptions()
133
134
  end
@@ -171,7 +172,7 @@ module Cosmos
171
172
 
172
173
  describe "run_process_check_output" do
173
174
  it "executes a command while capturing output" do
174
- if Kernel.is_windows?
175
+ if RUBY_ENGINE == 'ruby' and Kernel.is_windows?
175
176
  require 'Qt'
176
177
  allow(::Qt::Application).to receive(:instance).and_return(nil)
177
178
  output = ''
@@ -301,18 +302,46 @@ module Cosmos
301
302
 
302
303
  describe "require_class" do
303
304
  it "requires the class represented by the filename" do
305
+ filename = File.join(Cosmos::USERPATH,"lib","my_test_class.rb")
306
+ File.delete(filename) if File.exist? filename
307
+
304
308
  # Explicitly load cosmos.rb to ensure the Cosmos::USERPATH/lib
305
309
  # directory is in the path
306
310
  load 'cosmos.rb'
307
-
308
- expect { Cosmos.require_class("my_test_class.rb") }.to raise_error(/Unable to require my_test_class.rb/)
309
- filename = File.join(Cosmos::USERPATH,"lib","my_test_class.rb")
310
311
  File.open(filename,'w') do |file|
311
312
  file.puts "class MyTestClass"
312
313
  file.puts "end"
313
314
  end
314
315
 
315
- Cosmos.require_class("my_test_class.rb")
316
+ klass = Cosmos.require_class("my_test_class.rb")
317
+ expect(klass).to be_a(Class)
318
+ expect(klass).to eq MyTestClass
319
+ File.delete(filename)
320
+ end
321
+ end
322
+
323
+ describe "require_file" do
324
+ it "requires the file" do
325
+ filename = File.join(Cosmos::USERPATH,"lib","my_test_file.rb")
326
+ File.delete(filename) if File.exist? filename
327
+
328
+ # Explicitly load cosmos.rb to ensure the Cosmos::USERPATH/lib
329
+ # directory is in the path
330
+ load 'cosmos.rb'
331
+ expect { Cosmos.require_file("my_test_file.rb") }.to raise_error(LoadError, /Unable to require my_test_file.rb/)
332
+
333
+ File.open(filename,'w') do |file|
334
+ file.puts "class MyTestFile"
335
+ file.puts " blah" # This will cause an error
336
+ file.puts "end"
337
+ end
338
+ expect { Cosmos.require_file("my_test_file.rb") }.to raise_error(NameError, /Unable to require my_test_file.rb/)
339
+
340
+ File.open(filename,'w') do |file|
341
+ file.puts "class MyTestFile"
342
+ file.puts "end"
343
+ end
344
+ Cosmos.require_file("my_test_file.rb")
316
345
  File.delete(filename)
317
346
  end
318
347
  end
@@ -342,4 +371,3 @@ module Cosmos
342
371
  end
343
372
  end
344
373
  end
345
-
@@ -16,21 +16,25 @@ module Cosmos
16
16
  describe CSV do
17
17
  before(:each) do
18
18
  @lines = []
19
+ # CSV data can't have extra spaces in array values
19
20
  @lines << "test,1,2,3\n"
20
- @lines << "more,words,go,here\n"
21
- @lines << "foo,two words,3.4,5.6\n"
21
+ @lines << "bool1,true,false\n"
22
+ @lines << "bool2,false,true\n"
23
+ @lines << "int,10,11\n"
24
+ @lines << "float,1.1,2.2\n"
22
25
 
23
26
  @test_file = File.open('cosmos_csv_spec.csv','w')
24
27
  @test_file.write(@lines.join(''))
25
28
  @test_file.close
26
29
 
27
30
  @csv = CSV.new(@test_file.path)
28
-
29
31
  @dir_name = System.paths['LOGS']
30
32
  end
31
33
 
32
34
  after(:each) do
33
- File.delete("cosmos_csv_spec.csv")
35
+ Dir["*cosmos_csv_spec*"].each do |filename|
36
+ File.delete(filename)
37
+ end
34
38
  if @dir_created
35
39
  sleep(1)
36
40
  FileUtils.remove_dir(@dir_name, false)
@@ -41,13 +45,51 @@ module Cosmos
41
45
  clean_config()
42
46
  end
43
47
 
48
+ describe "initialize" do
49
+ it "loads the CSV data and overwrites existing key/values" do
50
+ lines = []
51
+
52
+ tf = Tempfile.new("test.csv")
53
+ tf.puts "test,1,2,3\n"
54
+ tf.puts "other,10\n"
55
+ tf.puts "test,1.1,2.2,3.3\n"
56
+ tf.close
57
+ csv = CSV.new(tf.path)
58
+ # Expect 1.1, 2.2, 3.3 not 1, 2, 3 because the same key was used
59
+ expect(csv["test"]).to eql(%w(1.1 2.2 3.3))
60
+
61
+ tf.unlink
62
+ end
63
+ end
64
+
44
65
  describe "access" do
45
66
  it "allows hash style access" do
46
67
  expect(@csv["test"]).to eq(%w(1 2 3))
47
68
  end
48
69
 
49
- it "returns all valid keys" do
50
- expect(@csv.keys).to eq(%w(test more foo))
70
+ it "returns all keys" do
71
+ expect(@csv.keys).to eq(%w(test bool1 bool2 int float))
72
+ end
73
+
74
+ it "returns boolean values" do
75
+ expect(@csv.boolean("bool1")).to be true
76
+ expect(@csv.bool("bool2")).to be false
77
+
78
+ expect(@csv.boolean("bool1", 1)).to be false
79
+ expect(@csv.bool("bool2", 1)).to be true
80
+ end
81
+
82
+ it "returns integer values" do
83
+ expect(@csv.integer("int")).to be(10)
84
+ expect(@csv.int("int")).to be(10)
85
+
86
+ expect(@csv.integer("int", 1)).to be(11)
87
+ expect(@csv.int("int", 1)).to be(11)
88
+ end
89
+
90
+ it "returns float values" do
91
+ expect(@csv.float("float")).to eq(1.1)
92
+ expect(@csv.float("float", 1)).to eq(2.2)
51
93
  end
52
94
  end
53
95
 
@@ -58,6 +100,16 @@ module Cosmos
58
100
  @csv.close_archive
59
101
  end
60
102
 
103
+ it "automatically closes an existing open archive file" do
104
+ @csv.create_archive
105
+ first = @csv.archive_file
106
+ expect(File.basename(first)).to match(/.*#{File.basename(@test_file,'.csv')}.*/)
107
+ @csv.create_archive
108
+ second = @csv.archive_file
109
+ expect(File.basename(second)).to match(/.*#{File.basename(@test_file,'.csv')}.*/)
110
+ expect(first).to_not eql(second)
111
+ end
112
+
61
113
  it "creates an archive file at an arbitrary path" do
62
114
  if Kernel.is_windows?
63
115
  Dir.mkdir("C:/temp") unless File.directory?("C:/temp")
@@ -77,20 +129,10 @@ module Cosmos
77
129
  expect(data.include?("HI,a,b,c")).to be true
78
130
  end
79
131
 
80
- it "raises an exception if writing to an unopened archive" do
81
- expect { @csv.write_archive([]) }.to raise_error(/Archive file not opened/)
82
- end
83
-
84
- it "raises an exception if trying to reopen archive" do
85
- @csv.create_archive
86
- expect { @csv.create_archive }.to raise_error(/already open/)
87
- @csv.close_archive
88
- end
89
-
90
- it "raises an exception if trying to write closed archive" do
91
- @csv.create_archive
92
- @csv.close_archive
93
- expect { @csv.write_archive([]) }.to raise_error(/Archive file not opened/)
132
+ it "automatically opens an archive for writing" do
133
+ expect(@csv.archive_file).to eq('')
134
+ @csv.write_archive([])
135
+ expect(File.basename(@csv.archive_file)).to match(/.*#{File.basename(@test_file,'.csv')}.*/)
94
136
  end
95
137
  end
96
138
  end
@@ -26,9 +26,9 @@ task :gemfile_stats do
26
26
 
27
27
  # This is useful for testing to prevent server round trips
28
28
  #File.open("gemdata.marshall", 'w') {|file| file.write(Marshal.dump(get_latest_gem_data)) }
29
- #gem_data = Marshal.load(File.read("gemdata.marshall"))
29
+ gem_data = Marshal.load(File.read("gemdata.marshall"))
30
30
 
31
- gem_data = get_latest_gem_data()
31
+ #gem_data = get_latest_gem_data()
32
32
  # Convert all the date text into Ruby Dates
33
33
  gem_data.map! {|x| [Date.strptime(x[0], "%Y-%m"), x[1], x[2]]}
34
34
  # Sort first by date and then version number
@@ -66,6 +66,10 @@ task :gemfile_stats do
66
66
  end
67
67
  end
68
68
 
69
+ # Reduce the number of labels due to overlap
70
+ labels.each do |index, label|
71
+ labels[index] = '' if index % 2 == 0
72
+ end
69
73
  g.labels = labels
70
74
  g.marker_font_size = 12
71
75
  dataset.each do |version, data|
@@ -73,4 +77,3 @@ task :gemfile_stats do
73
77
  end
74
78
  g.write('cosmos_downloads.png')
75
79
  end
76
-
@@ -36,4 +36,3 @@ ALLOW_ACCESS ALL
36
36
 
37
37
  # DISABLE_DNS
38
38
  # STALENESS_SECONDS 30
39
- # CMD_TLM_VERSION version
@@ -56,4 +56,3 @@ ALLOW_ACCESS ALL
56
56
 
57
57
  # DISABLE_DNS
58
58
  # STALENESS_SECONDS 30
59
- # CMD_TLM_VERSION version
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cosmos
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.2
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-05-18 00:00:00.000000000 Z
12
+ date: 2017-08-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -160,87 +160,87 @@ dependencies:
160
160
  - !ruby/object:Gem::Version
161
161
  version: 2.1.0
162
162
  - !ruby/object:Gem::Dependency
163
- name: opengl
163
+ name: snmp
164
164
  requirement: !ruby/object:Gem::Requirement
165
165
  requirements:
166
- - - ">="
167
- - !ruby/object:Gem::Version
168
- version: '0.7'
169
- - - "<"
166
+ - - "~>"
170
167
  - !ruby/object:Gem::Version
171
- version: '0.10'
168
+ version: '1.0'
172
169
  type: :runtime
173
170
  prerelease: false
174
171
  version_requirements: !ruby/object:Gem::Requirement
175
172
  requirements:
176
- - - ">="
177
- - !ruby/object:Gem::Version
178
- version: '0.7'
179
- - - "<"
173
+ - - "~>"
180
174
  - !ruby/object:Gem::Version
181
- version: '0.10'
175
+ version: '1.0'
182
176
  - !ruby/object:Gem::Dependency
183
- name: snmp
177
+ name: rubyzip
184
178
  requirement: !ruby/object:Gem::Requirement
185
179
  requirements:
186
180
  - - "~>"
187
181
  - !ruby/object:Gem::Version
188
- version: '1.0'
182
+ version: 1.1.0
189
183
  type: :runtime
190
184
  prerelease: false
191
185
  version_requirements: !ruby/object:Gem::Requirement
192
186
  requirements:
193
187
  - - "~>"
194
188
  - !ruby/object:Gem::Version
195
- version: '1.0'
189
+ version: 1.1.0
196
190
  - !ruby/object:Gem::Dependency
197
- name: rubyzip
191
+ name: nokogiri
198
192
  requirement: !ruby/object:Gem::Requirement
199
193
  requirements:
200
194
  - - "~>"
201
195
  - !ruby/object:Gem::Version
202
- version: 1.1.0
196
+ version: '1.6'
203
197
  type: :runtime
204
198
  prerelease: false
205
199
  version_requirements: !ruby/object:Gem::Requirement
206
200
  requirements:
207
201
  - - "~>"
208
202
  - !ruby/object:Gem::Version
209
- version: 1.1.0
203
+ version: '1.6'
210
204
  - !ruby/object:Gem::Dependency
211
- name: qtbindings
205
+ name: opengl
212
206
  requirement: !ruby/object:Gem::Requirement
213
207
  requirements:
214
- - - "~>"
215
- - !ruby/object:Gem::Version
216
- version: 4.8.6
217
208
  - - ">="
218
209
  - !ruby/object:Gem::Version
219
- version: 4.8.6.2
210
+ version: '0.7'
211
+ - - "<"
212
+ - !ruby/object:Gem::Version
213
+ version: '0.10'
220
214
  type: :runtime
221
215
  prerelease: false
222
216
  version_requirements: !ruby/object:Gem::Requirement
223
217
  requirements:
224
- - - "~>"
225
- - !ruby/object:Gem::Version
226
- version: 4.8.6
227
218
  - - ">="
228
219
  - !ruby/object:Gem::Version
229
- version: 4.8.6.2
220
+ version: '0.7'
221
+ - - "<"
222
+ - !ruby/object:Gem::Version
223
+ version: '0.10'
230
224
  - !ruby/object:Gem::Dependency
231
- name: nokogiri
225
+ name: qtbindings
232
226
  requirement: !ruby/object:Gem::Requirement
233
227
  requirements:
234
228
  - - "~>"
235
229
  - !ruby/object:Gem::Version
236
- version: '1.6'
230
+ version: 4.8.6
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: 4.8.6.2
237
234
  type: :runtime
238
235
  prerelease: false
239
236
  version_requirements: !ruby/object:Gem::Requirement
240
237
  requirements:
241
238
  - - "~>"
242
239
  - !ruby/object:Gem::Version
243
- version: '1.6'
240
+ version: 4.8.6
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: 4.8.6.2
244
244
  - !ruby/object:Gem::Dependency
245
245
  name: rspec
246
246
  requirement: !ruby/object:Gem::Requirement
@@ -382,47 +382,47 @@ dependencies:
382
382
  - !ruby/object:Gem::Version
383
383
  version: '0.11'
384
384
  - !ruby/object:Gem::Dependency
385
- name: ruby-prof
385
+ name: coveralls
386
386
  requirement: !ruby/object:Gem::Requirement
387
387
  requirements:
388
388
  - - "~>"
389
389
  - !ruby/object:Gem::Version
390
- version: 0.15.0
390
+ version: '0.8'
391
391
  type: :development
392
392
  prerelease: false
393
393
  version_requirements: !ruby/object:Gem::Requirement
394
394
  requirements:
395
395
  - - "~>"
396
396
  - !ruby/object:Gem::Version
397
- version: 0.15.0
397
+ version: '0.8'
398
398
  - !ruby/object:Gem::Dependency
399
- name: coveralls
399
+ name: benchmark-ips
400
400
  requirement: !ruby/object:Gem::Requirement
401
401
  requirements:
402
402
  - - "~>"
403
403
  - !ruby/object:Gem::Version
404
- version: '0.8'
404
+ version: '2.0'
405
405
  type: :development
406
406
  prerelease: false
407
407
  version_requirements: !ruby/object:Gem::Requirement
408
408
  requirements:
409
409
  - - "~>"
410
410
  - !ruby/object:Gem::Version
411
- version: '0.8'
411
+ version: '2.0'
412
412
  - !ruby/object:Gem::Dependency
413
- name: benchmark-ips
413
+ name: ruby-prof
414
414
  requirement: !ruby/object:Gem::Requirement
415
415
  requirements:
416
416
  - - "~>"
417
417
  - !ruby/object:Gem::Version
418
- version: '2.0'
418
+ version: 0.15.0
419
419
  type: :development
420
420
  prerelease: false
421
421
  version_requirements: !ruby/object:Gem::Requirement
422
422
  requirements:
423
423
  - - "~>"
424
424
  - !ruby/object:Gem::Version
425
- version: '2.0'
425
+ version: 0.15.0
426
426
  description: |2
427
427
  Ball Aerospace COSMOS provides all the functionality needed to send
428
428
  commands to and receive data from one or more embedded systems
@@ -457,7 +457,9 @@ files:
457
457
  - ".coveralls.yml"
458
458
  - ".gitattributes"
459
459
  - ".gitignore"
460
+ - ".rubocop.yml"
460
461
  - ".travis.yml"
462
+ - ".yardopts"
461
463
  - CONTRIBUTING.txt
462
464
  - Gemfile
463
465
  - Guardfile
@@ -473,10 +475,6 @@ files:
473
475
  - autohotkey/config/data/satellite.gif
474
476
  - autohotkey/config/data/tada.wav
475
477
  - autohotkey/config/system/system.txt
476
- - autohotkey/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt
477
- - autohotkey/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt
478
- - autohotkey/config/targets/COSMOS/cmd_tlm_server.txt
479
- - autohotkey/config/targets/COSMOS/target.txt
480
478
  - autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt
481
479
  - autohotkey/config/targets/INST/cmd_tlm/inst_tlm.txt
482
480
  - autohotkey/config/targets/INST/cmd_tlm_server.txt
@@ -488,6 +486,7 @@ files:
488
486
  - autohotkey/config/targets/INST/screens/array.txt
489
487
  - autohotkey/config/targets/INST/screens/block.txt
490
488
  - autohotkey/config/targets/INST/screens/commanding.txt
489
+ - autohotkey/config/targets/INST/screens/extra.txt
491
490
  - autohotkey/config/targets/INST/screens/graphs.txt
492
491
  - autohotkey/config/targets/INST/screens/ground.txt
493
492
  - autohotkey/config/targets/INST/screens/health_status.txt
@@ -498,11 +497,19 @@ files:
498
497
  - autohotkey/config/targets/INST/screens/other.txt
499
498
  - autohotkey/config/targets/INST/screens/params.txt
500
499
  - autohotkey/config/targets/INST/screens/tabs.txt
500
+ - autohotkey/config/targets/INST/sequences/run_sequence.txt
501
501
  - autohotkey/config/targets/INST/target.txt
502
502
  - autohotkey/config/targets/META/cmd_tlm/meta_cmd.txt
503
503
  - autohotkey/config/targets/META/cmd_tlm/meta_tlm.txt
504
+ - autohotkey/config/targets/META/screens/data.txt
504
505
  - autohotkey/config/targets/SYSTEM/cmd_tlm/limits_groups.txt
506
+ - autohotkey/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt
507
+ - autohotkey/config/targets/SYSTEM/cmd_tlm/system_cmds.txt
508
+ - autohotkey/config/targets/SYSTEM/cmd_tlm/system_tlm.txt
505
509
  - autohotkey/config/targets/SYSTEM/screens/error.txt
510
+ - autohotkey/config/targets/SYSTEM/screens/limits_change.txt
511
+ - autohotkey/config/targets/SYSTEM/screens/meta.txt
512
+ - autohotkey/config/targets/SYSTEM/target.txt
506
513
  - autohotkey/config/tools/cmd_sender/cmd_sender.txt
507
514
  - autohotkey/config/tools/cmd_tlm_server/cmd_tlm_server.txt
508
515
  - autohotkey/config/tools/data_viewer/data_viewer.txt
@@ -559,6 +566,9 @@ files:
559
566
  - autohotkey/outputs/logs/cmd.bin
560
567
  - autohotkey/outputs/logs/tlm.bin
561
568
  - autohotkey/outputs/saved_config/README.txt
569
+ - autohotkey/outputs/sequences/bad_sequence.txt
570
+ - autohotkey/outputs/sequences/bad_sequence2.txt
571
+ - autohotkey/outputs/sequences/saved_sequence.txt
562
572
  - autohotkey/outputs/tables/README.txt
563
573
  - autohotkey/outputs/tmp/README.txt
564
574
  - autohotkey/procedures/clear_util.rb
@@ -571,6 +581,9 @@ files:
571
581
  - autohotkey/tools/CmdExtractorAHK
572
582
  - autohotkey/tools/CmdSender
573
583
  - autohotkey/tools/CmdSenderAHK
584
+ - autohotkey/tools/CmdSequence
585
+ - autohotkey/tools/CmdSequenceAHK
586
+ - autohotkey/tools/CmdSequenceAHK2
574
587
  - autohotkey/tools/CmdTlmServer
575
588
  - autohotkey/tools/CmdTlmServerAHK
576
589
  - autohotkey/tools/CmdTlmServerAHK2
@@ -618,6 +631,8 @@ files:
618
631
  - autohotkey/tools/autohotkey.rb
619
632
  - autohotkey/tools/cmd_extractor.ahk
620
633
  - autohotkey/tools/cmd_sender.ahk
634
+ - autohotkey/tools/cmd_sequence.ahk
635
+ - autohotkey/tools/cmd_sequence2.ahk
621
636
  - autohotkey/tools/cmd_tlm_server.ahk
622
637
  - autohotkey/tools/cmd_tlm_server2.ahk
623
638
  - autohotkey/tools/data_viewer.ahk
@@ -644,7 +659,6 @@ files:
644
659
  - autohotkey/tools/tlm_viewer2.ahk
645
660
  - autohotkey/tools/tlm_viewer4.ahk
646
661
  - autohotkey/tools/tlm_viewer5.ahk
647
- - autohotkey/userpath.txt
648
662
  - bin/cosmos
649
663
  - bin/cstol_converter
650
664
  - bin/exchndl20-x64.dll
@@ -675,6 +689,47 @@ files:
675
689
  - data/close.png
676
690
  - data/cmd_extractor.png
677
691
  - data/cmd_sender.png
692
+ - data/cmd_sequence.png
693
+ - data/config/_array_params.yaml
694
+ - data/config/_id_items.yaml
695
+ - data/config/_id_params.yaml
696
+ - data/config/_interfaces.yaml
697
+ - data/config/_items.yaml
698
+ - data/config/_params.yaml
699
+ - data/config/cmd_tlm_server.yaml
700
+ - data/config/command.yaml
701
+ - data/config/command_modifiers.yaml
702
+ - data/config/command_telemetry.yaml
703
+ - data/config/data_viewer.yaml
704
+ - data/config/handbook_creator.yaml
705
+ - data/config/housekeeping_params.yaml
706
+ - data/config/interface_modifiers.yaml
707
+ - data/config/item_modifiers.yaml
708
+ - data/config/launcher.yaml
709
+ - data/config/limits_monitor.yaml
710
+ - data/config/linegraph_params.yaml
711
+ - data/config/linegraph_plot.yaml
712
+ - data/config/page_modifiers.yaml
713
+ - data/config/param_item_modifiers.yaml
714
+ - data/config/parameter_modifiers.yaml
715
+ - data/config/protocols.yaml
716
+ - data/config/screen.yaml
717
+ - data/config/script_runner.yaml
718
+ - data/config/system.yaml
719
+ - data/config/table_manager.yaml
720
+ - data/config/table_parameter_modifiers.yaml
721
+ - data/config/target.yaml
722
+ - data/config/telemetry.yaml
723
+ - data/config/telemetry_modifiers.yaml
724
+ - data/config/test_runner.yaml
725
+ - data/config/tlm_extractor.yaml
726
+ - data/config/tlm_grapher.yaml
727
+ - data/config/tlm_viewer.yaml
728
+ - data/config/unknown.yaml
729
+ - data/config/widgets.yaml
730
+ - data/config/xy_params.yaml
731
+ - data/config/xy_plot.yaml
732
+ - data/config_editor.png
678
733
  - data/copy.png
679
734
  - data/cosmos.xcf
680
735
  - data/cosmos_word.gif
@@ -683,6 +738,7 @@ files:
683
738
  - data/cts.png
684
739
  - data/cut.png
685
740
  - data/data_viewer.png
741
+ - data/delete.png
686
742
  - data/delete_database.png
687
743
  - data/delete_plot.png
688
744
  - data/delete_tab.png
@@ -760,12 +816,6 @@ files:
760
816
  - demo/config/data/vswitchon.gif
761
817
  - demo/config/system/system.txt
762
818
  - demo/config/system/system2.txt
763
- - demo/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt
764
- - demo/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt
765
- - demo/config/targets/COSMOS/cmd_tlm_server.txt
766
- - demo/config/targets/COSMOS/screens/limits_change.txt
767
- - demo/config/targets/COSMOS/screens/version.txt
768
- - demo/config/targets/COSMOS/target.txt
769
819
  - demo/config/targets/EXAMPLE/cmd_tlm/example_cmds.txt
770
820
  - demo/config/targets/EXAMPLE/cmd_tlm/example_tlm.txt
771
821
  - demo/config/targets/EXAMPLE/cmd_tlm_server.txt
@@ -778,6 +828,7 @@ files:
778
828
  - demo/config/targets/INST/cmd_tlm_server.txt
779
829
  - demo/config/targets/INST/doc/README.txt
780
830
  - demo/config/targets/INST/lib/example_limits_response.rb
831
+ - demo/config/targets/INST/lib/inst_dump_component.rb
781
832
  - demo/config/targets/INST/lib/sim_inst.rb
782
833
  - demo/config/targets/INST/procedures/checks.rb
783
834
  - demo/config/targets/INST/procedures/collect.rb
@@ -795,13 +846,28 @@ files:
795
846
  - demo/config/targets/INST/screens/latest.txt
796
847
  - demo/config/targets/INST/screens/limits.txt
797
848
  - demo/config/targets/INST/screens/other.txt
849
+ - demo/config/targets/INST/screens/spacing_box.txt
850
+ - demo/config/targets/INST/screens/spacing_grid.txt
798
851
  - demo/config/targets/INST/screens/tabs.txt
852
+ - demo/config/targets/INST/sequences/sequence.tsv
853
+ - demo/config/targets/INST/tables/EventAction.csv
854
+ - demo/config/targets/INST/tables/EventAction.dat
855
+ - demo/config/targets/INST/tables/McConfigTable.csv
856
+ - demo/config/targets/INST/tables/McConfigTable.dat
799
857
  - demo/config/targets/INST/target.txt
800
- - demo/config/targets/META/cmd_tlm/meta_cmd.txt
801
- - demo/config/targets/META/cmd_tlm/meta_tlm.txt
858
+ - demo/config/targets/INST/tools/data_viewer/data_viewer.txt
859
+ - demo/config/targets/INST/tools/data_viewer/data_viewer2.txt
860
+ - demo/config/targets/INST/tools/table_manager/EventAction_def.txt
861
+ - demo/config/targets/INST/tools/table_manager/McConfigTable_def.txt
802
862
  - demo/config/targets/SYSTEM/cmd_tlm/limits_groups.txt
863
+ - demo/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt
803
864
  - demo/config/targets/SYSTEM/cmd_tlm/override.txt
865
+ - demo/config/targets/SYSTEM/cmd_tlm/system_cmds.txt
866
+ - demo/config/targets/SYSTEM/cmd_tlm/system_tlm.txt
867
+ - demo/config/targets/SYSTEM/cmd_tlm_server.txt
868
+ - demo/config/targets/SYSTEM/lib/limits_groups.rb
804
869
  - demo/config/targets/SYSTEM/screens/status.txt
870
+ - demo/config/targets/SYSTEM/target.txt
805
871
  - demo/config/targets/TEMPLATED/cmd_tlm/templated_cmds.txt
806
872
  - demo/config/targets/TEMPLATED/cmd_tlm/templated_tlm.txt
807
873
  - demo/config/targets/TEMPLATED/cmd_tlm_server.txt
@@ -830,6 +896,7 @@ files:
830
896
  - demo/config/tools/launcher/launcher.txt
831
897
  - demo/config/tools/launcher/launcher2.css
832
898
  - demo/config/tools/launcher/launcher2.txt
899
+ - demo/config/tools/launcher/launcher_mini.txt
833
900
  - demo/config/tools/limits_monitor/README.txt
834
901
  - demo/config/tools/opengl_builder/README.txt
835
902
  - demo/config/tools/script_runner/script_runner.txt
@@ -870,6 +937,7 @@ files:
870
937
  - demo/outputs/handbooks/assets/js/respond.min.js
871
938
  - demo/outputs/logs/README.txt
872
939
  - demo/outputs/saved_config/README.txt
940
+ - demo/outputs/sequences/sequence.tsv
873
941
  - demo/outputs/tables/README.txt
874
942
  - demo/outputs/tmp/README.txt
875
943
  - demo/procedures/cosmos_api_test.rb
@@ -881,8 +949,12 @@ files:
881
949
  - demo/tools/CmdExtractor.bat
882
950
  - demo/tools/CmdSender
883
951
  - demo/tools/CmdSender.bat
952
+ - demo/tools/CmdSequence
953
+ - demo/tools/CmdSequence.bat
884
954
  - demo/tools/CmdTlmServer
885
955
  - demo/tools/CmdTlmServer.bat
956
+ - demo/tools/ConfigEditor
957
+ - demo/tools/ConfigEditor.bat
886
958
  - demo/tools/DataViewer
887
959
  - demo/tools/DataViewer.bat
888
960
  - demo/tools/ExampleTarget
@@ -924,6 +996,11 @@ files:
924
996
  - demo/tools/mac/CmdSender.app/Contents/MacOS/main.sh
925
997
  - demo/tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb
926
998
  - demo/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns
999
+ - demo/tools/mac/CmdSequence.app/Contents/Info.plist
1000
+ - demo/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb
1001
+ - demo/tools/mac/CmdSequence.app/Contents/MacOS/main.sh
1002
+ - demo/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb
1003
+ - demo/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns
927
1004
  - demo/tools/mac/CmdTlmServer.app/Contents/Info.plist
928
1005
  - demo/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb
929
1006
  - demo/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh
@@ -995,7 +1072,6 @@ files:
995
1072
  - demo/tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb
996
1073
  - demo/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns
997
1074
  - demo/tools/tool_launch.rb
998
- - demo/userpath.txt
999
1075
  - ext/cosmos/ext/array/array.c
1000
1076
  - ext/cosmos/ext/array/extconf.rb
1001
1077
  - ext/cosmos/ext/buffered_file/buffered_file.c
@@ -1031,13 +1107,8 @@ files:
1031
1107
  - install/config/data/README.txt
1032
1108
  - install/config/data/crc.txt
1033
1109
  - install/config/system/system.txt
1034
- - install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt
1035
- - install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt
1036
- - install/config/targets/COSMOS/cmd_tlm_server.txt
1037
- - install/config/targets/COSMOS/screens/limits_change.txt
1038
- - install/config/targets/COSMOS/screens/version.txt
1039
- - install/config/targets/COSMOS/target.txt
1040
- - install/config/targets/SYSTEM/README.txt
1110
+ - install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt
1111
+ - install/config/targets/SYSTEM/target.txt
1041
1112
  - install/config/tools/cmd_tlm_server/cmd_tlm_server.txt
1042
1113
  - install/config/tools/data_viewer/data_viewer.txt
1043
1114
  - install/config/tools/handbook_creator/default_toc.xsl
@@ -1090,8 +1161,12 @@ files:
1090
1161
  - install/tools/CmdExtractor.bat
1091
1162
  - install/tools/CmdSender
1092
1163
  - install/tools/CmdSender.bat
1164
+ - install/tools/CmdSequence
1165
+ - install/tools/CmdSequence.bat
1093
1166
  - install/tools/CmdTlmServer
1094
1167
  - install/tools/CmdTlmServer.bat
1168
+ - install/tools/ConfigEditor
1169
+ - install/tools/ConfigEditor.bat
1095
1170
  - install/tools/DataViewer
1096
1171
  - install/tools/DataViewer.bat
1097
1172
  - install/tools/HandbookCreator
@@ -1129,6 +1204,11 @@ files:
1129
1204
  - install/tools/mac/CmdSender.app/Contents/MacOS/main.sh
1130
1205
  - install/tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb
1131
1206
  - install/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns
1207
+ - install/tools/mac/CmdSequence.app/Contents/Info.plist
1208
+ - install/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb
1209
+ - install/tools/mac/CmdSequence.app/Contents/MacOS/main.sh
1210
+ - install/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb
1211
+ - install/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns
1132
1212
  - install/tools/mac/CmdTlmServer.app/Contents/Info.plist
1133
1213
  - install/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb
1134
1214
  - install/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh
@@ -1200,11 +1280,11 @@ files:
1200
1280
  - install/tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb
1201
1281
  - install/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns
1202
1282
  - install/tools/tool_launch.rb
1203
- - install/userpath.txt
1204
1283
  - lib/cosmos.rb
1205
1284
  - lib/cosmos/ccsds/ccsds_packet.rb
1206
1285
  - lib/cosmos/ccsds/ccsds_parser.rb
1207
1286
  - lib/cosmos/config/config_parser.rb
1287
+ - lib/cosmos/config/meta_config_parser.rb
1208
1288
  - lib/cosmos/conversions.rb
1209
1289
  - lib/cosmos/conversions/conversion.rb
1210
1290
  - lib/cosmos/conversions/generic_conversion.rb
@@ -1251,6 +1331,7 @@ files:
1251
1331
  - lib/cosmos/gui/dialogs/exception_dialog.rb
1252
1332
  - lib/cosmos/gui/dialogs/exception_list_dialog.rb
1253
1333
  - lib/cosmos/gui/dialogs/find_replace_dialog.rb
1334
+ - lib/cosmos/gui/dialogs/interface_raw_dialog.rb
1254
1335
  - lib/cosmos/gui/dialogs/legal_dialog.rb
1255
1336
  - lib/cosmos/gui/dialogs/packet_log_dialog.rb
1256
1337
  - lib/cosmos/gui/dialogs/progress_dialog.rb
@@ -1261,6 +1342,7 @@ files:
1261
1342
  - lib/cosmos/gui/dialogs/splash.rb
1262
1343
  - lib/cosmos/gui/dialogs/tlm_details_dialog.rb
1263
1344
  - lib/cosmos/gui/dialogs/tlm_edit_dialog.rb
1345
+ - lib/cosmos/gui/dialogs/tlm_graph_dialog.rb
1264
1346
  - lib/cosmos/gui/line_graph/line_graph.rb
1265
1347
  - lib/cosmos/gui/line_graph/line_graph_dialog.rb
1266
1348
  - lib/cosmos/gui/line_graph/line_graph_drawing.rb
@@ -1298,6 +1380,15 @@ files:
1298
1380
  - lib/cosmos/interfaces/cmd_tlm_server_interface.rb
1299
1381
  - lib/cosmos/interfaces/interface.rb
1300
1382
  - lib/cosmos/interfaces/linc_interface.rb
1383
+ - lib/cosmos/interfaces/protocols/burst_protocol.rb
1384
+ - lib/cosmos/interfaces/protocols/crc_protocol.rb
1385
+ - lib/cosmos/interfaces/protocols/fixed_protocol.rb
1386
+ - lib/cosmos/interfaces/protocols/length_protocol.rb
1387
+ - lib/cosmos/interfaces/protocols/override_protocol.rb
1388
+ - lib/cosmos/interfaces/protocols/preidentified_protocol.rb
1389
+ - lib/cosmos/interfaces/protocols/protocol.rb
1390
+ - lib/cosmos/interfaces/protocols/template_protocol.rb
1391
+ - lib/cosmos/interfaces/protocols/terminated_protocol.rb
1301
1392
  - lib/cosmos/interfaces/serial_interface.rb
1302
1393
  - lib/cosmos/interfaces/simulated_target_interface.rb
1303
1394
  - lib/cosmos/interfaces/stream_interface.rb
@@ -1316,12 +1407,10 @@ files:
1316
1407
  - lib/cosmos/io/serial_driver.rb
1317
1408
  - lib/cosmos/io/stderr.rb
1318
1409
  - lib/cosmos/io/stdout.rb
1319
- - lib/cosmos/io/tcpip_server.rb
1320
1410
  - lib/cosmos/io/udp_sockets.rb
1321
1411
  - lib/cosmos/io/win32_serial_driver.rb
1322
1412
  - lib/cosmos/packet_logs.rb
1323
1413
  - lib/cosmos/packet_logs/ccsds_log_reader.rb
1324
- - lib/cosmos/packet_logs/meta_packet_log_writer.rb
1325
1414
  - lib/cosmos/packet_logs/packet_log_reader.rb
1326
1415
  - lib/cosmos/packet_logs/packet_log_writer.rb
1327
1416
  - lib/cosmos/packet_logs/packet_log_writer_pair.rb
@@ -1350,6 +1439,7 @@ files:
1350
1439
  - lib/cosmos/processors/statistics_processor.rb
1351
1440
  - lib/cosmos/processors/watermark_processor.rb
1352
1441
  - lib/cosmos/script.rb
1442
+ - lib/cosmos/script/api_shared.rb
1353
1443
  - lib/cosmos/script/cmd_tlm_server.rb
1354
1444
  - lib/cosmos/script/commands.rb
1355
1445
  - lib/cosmos/script/extract.rb
@@ -1358,24 +1448,20 @@ files:
1358
1448
  - lib/cosmos/script/scripting.rb
1359
1449
  - lib/cosmos/script/telemetry.rb
1360
1450
  - lib/cosmos/script/tools.rb
1361
- - lib/cosmos/streams/burst_stream_protocol.rb
1362
- - lib/cosmos/streams/fixed_stream_protocol.rb
1363
- - lib/cosmos/streams/length_stream_protocol.rb
1364
- - lib/cosmos/streams/preidentified_stream_protocol.rb
1365
1451
  - lib/cosmos/streams/serial_stream.rb
1366
1452
  - lib/cosmos/streams/stream.rb
1367
- - lib/cosmos/streams/stream_protocol.rb
1368
1453
  - lib/cosmos/streams/tcpip_client_stream.rb
1369
1454
  - lib/cosmos/streams/tcpip_socket_stream.rb
1370
- - lib/cosmos/streams/template_stream_protocol.rb
1371
- - lib/cosmos/streams/terminated_stream_protocol.rb
1372
1455
  - lib/cosmos/system.rb
1373
1456
  - lib/cosmos/system/system.rb
1374
1457
  - lib/cosmos/system/target.rb
1375
1458
  - lib/cosmos/tools/cmd_extractor/cmd_extractor.rb
1459
+ - lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb
1376
1460
  - lib/cosmos/tools/cmd_sender/cmd_sender.rb
1377
- - lib/cosmos/tools/cmd_sender/cmd_sender_item_delegate.rb
1378
1461
  - lib/cosmos/tools/cmd_sender/cmd_sender_text_edit.rb
1462
+ - lib/cosmos/tools/cmd_sequence/cmd_sequence.rb
1463
+ - lib/cosmos/tools/cmd_sequence/sequence_item.rb
1464
+ - lib/cosmos/tools/cmd_sequence/sequence_list.rb
1379
1465
  - lib/cosmos/tools/cmd_tlm_server/api.rb
1380
1466
  - lib/cosmos/tools/cmd_tlm_server/background_task.rb
1381
1467
  - lib/cosmos/tools/cmd_tlm_server/background_tasks.rb
@@ -1391,9 +1477,12 @@ files:
1391
1477
  - lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb
1392
1478
  - lib/cosmos/tools/cmd_tlm_server/interface_thread.rb
1393
1479
  - lib/cosmos/tools/cmd_tlm_server/interfaces.rb
1480
+ - lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb
1394
1481
  - lib/cosmos/tools/cmd_tlm_server/packet_logging.rb
1395
1482
  - lib/cosmos/tools/cmd_tlm_server/router_thread.rb
1396
1483
  - lib/cosmos/tools/cmd_tlm_server/routers.rb
1484
+ - lib/cosmos/tools/config_editor/config_editor.rb
1485
+ - lib/cosmos/tools/config_editor/config_editor_frame.rb
1397
1486
  - lib/cosmos/tools/data_viewer/data_viewer.rb
1398
1487
  - lib/cosmos/tools/data_viewer/data_viewer_component.rb
1399
1488
  - lib/cosmos/tools/data_viewer/dump_component.rb
@@ -1510,6 +1599,7 @@ files:
1510
1599
  - lib/cosmos/tools/tlm_viewer/widgets/screenshotbutton_widget.rb
1511
1600
  - lib/cosmos/tools/tlm_viewer/widgets/scrollwindow_widget.rb
1512
1601
  - lib/cosmos/tools/tlm_viewer/widgets/sectionheader_widget.rb
1602
+ - lib/cosmos/tools/tlm_viewer/widgets/spacer_widget.rb
1513
1603
  - lib/cosmos/tools/tlm_viewer/widgets/tabbook_widget.rb
1514
1604
  - lib/cosmos/tools/tlm_viewer/widgets/tabitem_widget.rb
1515
1605
  - lib/cosmos/tools/tlm_viewer/widgets/textbox_widget.rb
@@ -1576,12 +1666,6 @@ files:
1576
1666
  - spec/gui/line_graph/line_clip_spec.rb
1577
1667
  - spec/gui/qt_spec.rb
1578
1668
  - spec/install/config/system/system.txt
1579
- - spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt
1580
- - spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt
1581
- - spec/install/config/targets/COSMOS/cmd_tlm_server.txt
1582
- - spec/install/config/targets/COSMOS/screens/limits_change.txt
1583
- - spec/install/config/targets/COSMOS/screens/version.txt
1584
- - spec/install/config/targets/COSMOS/target.txt
1585
1669
  - spec/install/config/targets/INST/cmd_tlm/inst_cmd_linc.txt
1586
1670
  - spec/install/config/targets/INST/cmd_tlm/inst_cmds.txt
1587
1671
  - spec/install/config/targets/INST/cmd_tlm/inst_tlm.txt
@@ -1589,17 +1673,27 @@ files:
1589
1673
  - spec/install/config/targets/INST/cmd_tlm_server.txt
1590
1674
  - spec/install/config/targets/INST/lib/sim_inst.rb
1591
1675
  - spec/install/config/targets/INST/target.txt
1592
- - spec/install/config/targets/META/cmd_tlm/meta_cmd.txt
1593
- - spec/install/config/targets/META/cmd_tlm/meta_tlm.txt
1594
1676
  - spec/install/config/targets/SYSTEM/cmd_tlm/limits_groups.txt
1677
+ - spec/install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt
1678
+ - spec/install/config/targets/SYSTEM/cmd_tlm/system_cmds.txt
1679
+ - spec/install/config/targets/SYSTEM/cmd_tlm/system_tlm.txt
1680
+ - spec/install/config/targets/SYSTEM/cmd_tlm_server.txt
1681
+ - spec/install/config/targets/SYSTEM/screens/status.txt
1682
+ - spec/install/config/targets/SYSTEM/target.txt
1595
1683
  - spec/install/lib/README.txt
1596
- - spec/install/userpath.txt
1597
1684
  - spec/interfaces/cmd_tlm_server_interface_spec.rb
1598
1685
  - spec/interfaces/interface_spec.rb
1599
1686
  - spec/interfaces/linc_interface_spec.rb
1687
+ - spec/interfaces/protocols/burst_protocol_spec.rb
1688
+ - spec/interfaces/protocols/crc_protocol_spec.rb
1689
+ - spec/interfaces/protocols/fixed_protocol_spec.rb
1690
+ - spec/interfaces/protocols/length_protocol_spec.rb
1691
+ - spec/interfaces/protocols/override_protocol_spec.rb
1692
+ - spec/interfaces/protocols/preidentified_protocol_spec.rb
1693
+ - spec/interfaces/protocols/template_protocol_spec.rb
1694
+ - spec/interfaces/protocols/terminated_protocol_spec.rb
1600
1695
  - spec/interfaces/serial_interface_spec.rb
1601
1696
  - spec/interfaces/simulated_target_interface_spec.rb
1602
- - spec/interfaces/stream_interface_spec.rb
1603
1697
  - spec/interfaces/tcpip_client_interface_spec.rb
1604
1698
  - spec/interfaces/tcpip_server_interface_spec.rb
1605
1699
  - spec/interfaces/udp_interface_spec.rb
@@ -1613,10 +1707,8 @@ files:
1613
1707
  - spec/io/serial_driver_spec.rb
1614
1708
  - spec/io/stderr_spec.rb
1615
1709
  - spec/io/stdout_spec.rb
1616
- - spec/io/tcpip_server_spec.rb
1617
1710
  - spec/io/udp_sockets_spec.rb
1618
1711
  - spec/io/win32_serial_driver_spec.rb
1619
- - spec/packet_logs/meta_packet_log_writer_spec.rb
1620
1712
  - spec/packet_logs/packet_log_reader_spec.rb
1621
1713
  - spec/packet_logs/packet_log_writer_pair_spec.rb
1622
1714
  - spec/packet_logs/packet_log_writer_spec.rb
@@ -1653,17 +1745,10 @@ files:
1653
1745
  - spec/script/telemetry_spec.rb
1654
1746
  - spec/script/tools_spec.rb
1655
1747
  - spec/spec_helper.rb
1656
- - spec/streams/burst_stream_protocol_spec.rb
1657
- - spec/streams/fixed_stream_protocol_spec.rb
1658
- - spec/streams/length_stream_protocol_spec.rb
1659
- - spec/streams/preidentified_stream_protocol_spec.rb
1660
1748
  - spec/streams/serial_stream_spec.rb
1661
- - spec/streams/stream_protocol_spec.rb
1662
1749
  - spec/streams/stream_spec.rb
1663
1750
  - spec/streams/tcpip_client_stream_spec.rb
1664
1751
  - spec/streams/tcpip_socket_stream_spec.rb
1665
- - spec/streams/template_stream_protocol_spec.rb
1666
- - spec/streams/terminated_stream_protocol_spec.rb
1667
1752
  - spec/system/system_spec.rb
1668
1753
  - spec/system/target_spec.rb
1669
1754
  - spec/tools/cmd_tlm_server/api_spec.rb
@@ -1675,6 +1760,7 @@ files:
1675
1760
  - spec/tools/cmd_tlm_server/connections_spec.rb
1676
1761
  - spec/tools/cmd_tlm_server/interface_thread_spec.rb
1677
1762
  - spec/tools/cmd_tlm_server/interfaces_spec.rb
1763
+ - spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb
1678
1764
  - spec/tools/cmd_tlm_server/packet_logging_spec.rb
1679
1765
  - spec/tools/cmd_tlm_server/router_thread_spec.rb
1680
1766
  - spec/tools/cmd_tlm_server/routers_spec.rb
@@ -1904,7 +1990,6 @@ files:
1904
1990
  - test/performance/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb
1905
1991
  - test/performance/tools/mac/TlmViewer.app/Contents/MacOS/main.sh
1906
1992
  - test/performance/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns
1907
- - test/performance/userpath.txt
1908
1993
  homepage: https://github.com/BallAerospace/COSMOS
1909
1994
  licenses:
1910
1995
  - GPL-3.0