cosmos 3.9.2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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