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
Binary file
@@ -1,57 +1,67 @@
1
- "lib/scpi_target.rb" 0x227D06B7
2
- "lib/example_background_task.rb" 0x79DC711F
3
- "lib/example_target.rb" 0xFBEF2AE3
1
+ "lib/scpi_target.rb" 0x6C94AB0D
2
+ "lib/example_background_task.rb" 0xB753C15E
3
+ "lib/example_target.rb" 0x50EC8E71
4
4
  "lib/user_version.rb" 0x8F282EE9
5
- "config/targets/SYSTEM/screens/status.txt" 0x89B616E5
5
+ "config/targets/SYSTEM/target.txt" 0x07E82776
6
+ "config/targets/SYSTEM/screens/status.txt" 0xDB93FFA7
7
+ "config/targets/SYSTEM/cmd_tlm_server.txt" 0x8D42D962
8
+ "config/targets/SYSTEM/cmd_tlm/system_cmds.txt" 0xD1F6BA0F
6
9
  "config/targets/SYSTEM/cmd_tlm/override.txt" 0x8FE016FF
7
- "config/targets/SYSTEM/cmd_tlm/limits_groups.txt" 0x16AF4BA3
8
- "config/targets/TEMPLATED/target.txt" 0xDE6DDA2D
9
- "config/targets/TEMPLATED/cmd_tlm_server.txt" 0x727CDBEB
10
+ "config/targets/SYSTEM/cmd_tlm/system_tlm.txt" 0xC44F7A0C
11
+ "config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt" 0xE876EADC
12
+ "config/targets/SYSTEM/cmd_tlm/limits_groups.txt" 0x64426D51
13
+ "config/targets/SYSTEM/lib/limits_groups.rb" 0xB2D5A8DA
14
+ "config/targets/TEMPLATED/target.txt" 0x4A59ED64
15
+ "config/targets/TEMPLATED/cmd_tlm_server.txt" 0xC53BB649
10
16
  "config/targets/TEMPLATED/cmd_tlm/templated_cmds.txt" 0x36D65799
11
17
  "config/targets/TEMPLATED/cmd_tlm/templated_tlm.txt" 0x4E6360AA
12
- "config/targets/TEMPLATED/lib/templated_interface.rb" 0x924A3AFE
13
- "config/targets/INST/target.txt" 0x3C3A6F4A
18
+ "config/targets/TEMPLATED/lib/templated_interface.rb" 0x471A587C
19
+ "config/targets/INST/sequences/sequence.tsv" 0xB7E64406
20
+ "config/targets/INST/target.txt" 0x0CA2BFF2
14
21
  "config/targets/INST/screens/hs.txt" 0x1D5F0FCE
15
22
  "config/targets/INST/screens/graphs.txt" 0x82EF35B4
16
- "config/targets/INST/screens/commanding.txt" 0x0068B504
23
+ "config/targets/INST/screens/commanding.txt" 0x8BFA8984
17
24
  "config/targets/INST/screens/array.txt" 0x4E9CE715
18
25
  "config/targets/INST/screens/_footer.txt" 0xB6C0BC08
26
+ "config/targets/INST/screens/spacing_box.txt" 0xEAB60B6D
19
27
  "config/targets/INST/screens/latest.txt" 0x9ED55CAF
20
28
  "config/targets/INST/screens/limits.txt" 0x98430974
21
29
  "config/targets/INST/screens/ground.txt" 0x2D89624D
22
30
  "config/targets/INST/screens/block.txt" 0x77C3F2F0
23
- "config/targets/INST/screens/adcs.txt" 0x73D61F93
31
+ "config/targets/INST/screens/adcs.txt" 0x5509CA55
32
+ "config/targets/INST/screens/spacing_grid.txt" 0x3F3738B9
24
33
  "config/targets/INST/screens/other.txt" 0x2F7A1014
25
- "config/targets/INST/screens/tabs.txt" 0x8C8BB548
34
+ "config/targets/INST/screens/tabs.txt" 0x8DC3114B
26
35
  "config/targets/INST/cmd_tlm_server.txt" 0x3FC45604
27
36
  "config/targets/INST/procedures/collect.rb" 0xD4CDF449
28
37
  "config/targets/INST/procedures/disconnect.rb" 0x5F3A18E5
29
38
  "config/targets/INST/procedures/checks.rb" 0x34EEF3E2
30
39
  "config/targets/INST/procedures/utilities/collect.rb" 0xEEA73928
31
40
  "config/targets/INST/procedures/utilities/clear.rb" 0x5B3C1279
41
+ "config/targets/INST/tables/McConfigTable.csv" 0x5D6A65C1
42
+ "config/targets/INST/tables/McConfigTable.dat" 0x313A1EFE
43
+ "config/targets/INST/tables/EventAction.dat" 0x5466D332
44
+ "config/targets/INST/tables/EventAction.csv" 0xBE69C024
32
45
  "config/targets/INST/doc/README.txt" 0x93B2C07E
46
+ "config/targets/INST/tools/table_manager/EventAction_def.txt" 0x9B5528B4
47
+ "config/targets/INST/tools/table_manager/McConfigTable_def.txt" 0x5B6FA631
48
+ "config/targets/INST/tools/data_viewer/data_viewer2.txt" 0x7FFA3A8A
49
+ "config/targets/INST/tools/data_viewer/data_viewer.txt" 0xB25E2644
33
50
  "config/targets/INST/cmd_tlm/inst_tlm.txt" 0x7D6393F9
34
51
  "config/targets/INST/cmd_tlm/_ccsds_tlm.txt" 0xE833D935
35
- "config/targets/INST/cmd_tlm/inst_cmds.txt" 0x00AF5B29
52
+ "config/targets/INST/cmd_tlm/inst_cmds.txt" 0x71B51763
36
53
  "config/targets/INST/cmd_tlm/_ccsds_cmd.txt" 0x7F5572F3
37
54
  "config/targets/INST/lib/example_limits_response.rb" 0xB4A746B1
55
+ "config/targets/INST/lib/inst_dump_component.rb" 0x709905AE
38
56
  "config/targets/INST/lib/sim_inst.rb" 0xD0EE5040
39
- "config/targets/COSMOS/target.txt" 0xB39D9281
40
- "config/targets/COSMOS/screens/limits_change.txt" 0xE8C47C54
41
- "config/targets/COSMOS/screens/version.txt" 0x393D4F72
42
- "config/targets/COSMOS/cmd_tlm_server.txt" 0xE53A4164
43
- "config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt" 0xC667CCD6
44
- "config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt" 0xE2F62B11
45
- "config/targets/EXAMPLE/target.txt" 0x4ED5B5BC
57
+ "config/targets/EXAMPLE/target.txt" 0xC3682EBF
46
58
  "config/targets/EXAMPLE/cmd_tlm_server.txt" 0x6139204A
47
59
  "config/targets/EXAMPLE/cmd_tlm/example_tlm.txt" 0x65BF425A
48
60
  "config/targets/EXAMPLE/cmd_tlm/example_cmds.txt" 0xB1A6D401
49
- "config/targets/EXAMPLE/lib/example_interface.rb" 0x126C4586
50
- "config/targets/META/cmd_tlm/meta_tlm.txt" 0x5FC12229
51
- "config/targets/META/cmd_tlm/meta_cmd.txt" 0x674D6D66
61
+ "config/targets/EXAMPLE/lib/example_interface.rb" 0x87C1C9E0
52
62
  "config/data/satellite.gif" 0x26888D25
53
63
  "config/data/poweroff.gif" 0xF67A83D3
54
- "config/data/meta_init.txt" 0xFF5B7C60
64
+ "config/data/meta_init.txt" 0x1B132ACE
55
65
  "config/data/groundoff.gif" 0x7BA45A4D
56
66
  "config/data/poweron.gif" 0x137C8043
57
67
  "config/data/hselecton.gif" 0xA824E4FC
@@ -65,30 +75,31 @@
65
75
  "config/data/hselectoff.gif" 0x8A0C192E
66
76
  "config/data/groundon.gif" 0x97D9A501
67
77
  "config/data/vswitchon.gif" 0xD747AC45
68
- "config/system/system.txt" 0xFA24EDAA
69
- "config/system/system2.txt" 0xC75EBA65
78
+ "config/system/system.txt" 0x65DF1B08
79
+ "config/system/system2.txt" 0xCFADBD94
70
80
  "config/tools/launcher/launcher2.css" 0x69DA47AB
71
- "config/tools/launcher/launcher.txt" 0x1B96FE7C
72
- "config/tools/launcher/launcher2.txt" 0xB0B9B1D1
81
+ "config/tools/launcher/launcher.txt" 0xE0CF56C9
82
+ "config/tools/launcher/launcher2.txt" 0x697956FC
73
83
  "config/tools/launcher/launcher.css" 0x6314C0C0
84
+ "config/tools/launcher/launcher_mini.txt" 0x46F8054C
74
85
  "config/tools/example_application.css" 0x2987FE3F
75
- "config/tools/table_manager/MCConfigurationTable_fsw1_def.txt" 0x6531613A
86
+ "config/tools/table_manager/MCConfigurationTable_fsw1_def.txt" 0x12A3E04A
76
87
  "config/tools/table_manager/ConfigTables_def.txt" 0xC38DCB2A
77
88
  "config/tools/table_manager/ExampleTableDefinition.txt" 0x59060429
78
- "config/tools/table_manager/MCConfigurationTable_fsw2_def.txt" 0x76BCD307
89
+ "config/tools/table_manager/MCConfigurationTable_fsw2_def.txt" 0x0074F5CD
79
90
  "config/tools/table_manager/PPSSelectionTable_def.txt" 0x9D9BFDB9
80
91
  "config/tools/table_manager/TLMMonitoringTable_def.txt" 0xF8136D31
81
- "config/tools/tlm_viewer/tlm_viewer.txt" 0x825AF31C
82
- "config/tools/data_viewer/data_viewer.txt" 0xCAC3B017
83
- "config/tools/test_runner/test_runner.txt" 0x1EB7E49C
92
+ "config/tools/tlm_viewer/tlm_viewer.txt" 0x6E6DBC7A
93
+ "config/tools/data_viewer/data_viewer.txt" 0xC62699E8
94
+ "config/tools/test_runner/test_runner.txt" 0x7987DB88
84
95
  "config/tools/test_runner/test_runner.css" 0x06987062
85
96
  "config/tools/tlm_extractor/tlm_extractor4.txt" 0x068824C2
86
97
  "config/tools/tlm_extractor/tlm_extractor3.txt" 0x475006AA
87
98
  "config/tools/tlm_extractor/tlm_extractor.txt" 0x0B97FA7D
88
99
  "config/tools/tlm_extractor/_adcs_time.txt" 0x3DAD5094
89
100
  "config/tools/tlm_extractor/tlm_extractor2.txt" 0x5C780BD2
90
- "config/tools/cmd_tlm_server/cmd_tlm_server2.txt" 0x20C1091B
91
- "config/tools/cmd_tlm_server/cmd_tlm_server.txt" 0xFAE90F35
101
+ "config/tools/cmd_tlm_server/cmd_tlm_server2.txt" 0xC5AC2AE0
102
+ "config/tools/cmd_tlm_server/cmd_tlm_server.txt" 0x9347D9D9
92
103
  "config/tools/tlm_grapher/README.txt" 0x93B2C07E
93
104
  "config/tools/opengl_builder/README.txt" 0x93B2C07E
94
105
  "config/tools/limits_monitor/README.txt" 0x93B2C07E
@@ -110,11 +121,13 @@
110
121
  "config/tools/script_runner/script_runner.txt" 0x1EECD803
111
122
  "tools/TlmExtractor.bat" 0x2B98E027
112
123
  "tools/Launcher" 0xFD4E356C
124
+ "tools/CmdSequence" 0x4A13C82C
113
125
  "tools/TlmViewer" 0xFE723189
114
126
  "tools/CmdTlmServer" 0x4C7A4FCB
115
127
  "tools/ScriptRunner" 0x20F38758
116
128
  "tools/tool_launch.rb" 0x0BDB6696
117
129
  "tools/LimitsMonitor" 0x04FD96D8
130
+ "tools/ConfigEditor.bat" 0x2B98E027
118
131
  "tools/Replay.bat" 0x2B98E027
119
132
  "tools/ScpiTarget.bat" 0x357107FB
120
133
  "tools/CmdExtractor.bat" 0x2B98E027
@@ -125,6 +138,7 @@
125
138
  "tools/Replay" 0xAC00D2AD
126
139
  "tools/HandbookCreator.bat" 0x2B98E027
127
140
  "tools/PacketViewer" 0xF23A40BB
141
+ "tools/ConfigEditor" 0xD1205371
128
142
  "tools/TlmGrapher" 0x9464F502
129
143
  "tools/DataViewer.bat" 0x2B98E027
130
144
  "tools/LimitsMonitor.bat" 0x2B98E027
@@ -163,6 +177,11 @@
163
177
  "tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
164
178
  "tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb" 0x10346CF4
165
179
  "tools/mac/CmdSender.app/Contents/MacOS/main.sh" 0x707CA873
180
+ "tools/mac/CmdSequence.app/Contents/Info.plist" 0xF9BF98AD
181
+ "tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns" 0xF819EAD4
182
+ "tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
183
+ "tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb" 0x4A13C82C
184
+ "tools/mac/CmdSequence.app/Contents/MacOS/main.sh" 0x11671716
166
185
  "tools/mac/TlmViewer.app/Contents/Info.plist" 0x821041E0
167
186
  "tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns" 0x1CBA8EB3
168
187
  "tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb" 0xFE723189
@@ -214,6 +233,7 @@
214
233
  "tools/CmdSender" 0x10346CF4
215
234
  "tools/OpenGLBuilder.bat" 0x2B98E027
216
235
  "tools/TableManager" 0x71F21C88
236
+ "tools/CmdSequence.bat" 0x2B98E027
217
237
  "tools/TestRunner" 0x0B0E0B8B
218
238
  "tools/ScpiTarget" 0x48836AD3
219
239
  "tools/TlmGrapher.bat" 0x2B98E027
@@ -226,7 +246,7 @@
226
246
  "tools/CmdExtractor" 0x96E82AC3
227
247
  "tools/OpenGLBuilder" 0x585EA691
228
248
  "tools/CmdSender.bat" 0x2B98E027
229
- "procedures/cosmos_api_test.rb" 0x54B5DC56
249
+ "procedures/cosmos_api_test.rb" 0x40001906
230
250
  "procedures/example_test.rb" 0xEB8B8E79
231
251
  "procedures/test.rb" 0xCE4DA55A
232
252
  "procedures/plot_test.rb" 0xF311D562
@@ -1,4 +1 @@
1
- TEST_COUNT 123
2
- TEST_ANGLE 5.67
3
- TEST_TYPE EMI
4
- VERSION 'test'
1
+ OPERATOR_NAME 'Unspecified'
@@ -6,14 +6,25 @@ DECLARE_TARGET INST
6
6
  DECLARE_TARGET INST INST2
7
7
  DECLARE_TARGET EXAMPLE
8
8
  DECLARE_TARGET TEMPLATED
9
- DECLARE_TARGET COSMOS
10
- DECLARE_TARGET META
11
9
  DECLARE_TARGET SYSTEM
12
10
 
11
+ # Listen Hosts - Ip addresses or hostnames to listen on when running the tools
12
+ LISTEN_HOST CTS_API 127.0.0.1
13
+ LISTEN_HOST TLMVIEWER_API 127.0.0.1
14
+ LISTEN_HOST CTS_PREIDENTIFIED 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
15
+ LISTEN_HOST CTS_CMD_ROUTER 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
16
+
17
+ # Connect Hosts - Ip addresses or hostnames to connect to when running the tools
18
+ CONNECT_HOST CTS_API 127.0.0.1
19
+ CONNECT_HOST TLMVIEWER_API 127.0.0.1
20
+ CONNECT_HOST CTS_PREIDENTIFIED 127.0.0.1
21
+ CONNECT_HOST CTS_CMD_ROUTER 127.0.0.1
22
+
13
23
  # Ethernet Ports
14
24
  PORT CTS_API 7777
15
25
  PORT TLMVIEWER_API 7778
16
26
  PORT CTS_PREIDENTIFIED 7779
27
+ PORT CTS_CMD_ROUTER 7780
17
28
 
18
29
  # Default Packet Log Writer and Reader
19
30
  DEFAULT_PACKET_LOG_WRITER packet_log_writer.rb
@@ -32,4 +43,5 @@ ALLOW_ACCESS ALL
32
43
  ENABLE_SOUND
33
44
  # DISABLE_DNS
34
45
  # STALENESS_SECONDS 30
35
- # CMD_TLM_VERSION version
46
+
47
+ ADD_MD5_FILE lib/user_version.rb
@@ -5,14 +5,25 @@
5
5
  DECLARE_TARGET INST
6
6
  DECLARE_TARGET INST INST2
7
7
  DECLARE_TARGET EXAMPLE
8
- DECLARE_TARGET COSMOS
9
- DECLARE_TARGET META
10
8
  DECLARE_TARGET SYSTEM
11
9
 
10
+ # Listen Hosts - Ip addresses or hostnames to listen on when running the tools
11
+ LISTEN_HOST CTS_API 127.0.0.1
12
+ LISTEN_HOST TLMVIEWER_API 127.0.0.1
13
+ LISTEN_HOST CTS_PREIDENTIFIED 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
14
+ LISTEN_HOST CTS_CMD_ROUTER 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
15
+
16
+ # Connect Hosts - Ip addresses or hostnames to connect to when running the tools
17
+ CONNECT_HOST CTS_API 127.0.0.1
18
+ CONNECT_HOST TLMVIEWER_API 127.0.0.1
19
+ CONNECT_HOST CTS_PREIDENTIFIED 127.0.0.1
20
+ CONNECT_HOST CTS_CMD_ROUTER 127.0.0.1
21
+
12
22
  # Ethernet Ports
13
23
  PORT CTS_API 8777
14
24
  PORT TLMVIEWER_API 8778
15
25
  PORT CTS_PREIDENTIFIED 8779
26
+ PORT CTS_CMD_ROUTER 7780
16
27
 
17
28
  # Default Packet Log Writer and Reader
18
29
  DEFAULT_PACKET_LOG_WRITER packet_log_writer.rb
@@ -30,4 +41,3 @@ ALLOW_ACCESS ALL
30
41
 
31
42
  # DISABLE_DNS
32
43
  # STALENESS_SECONDS 30
33
- # CMD_TLM_VERSION version
@@ -1,6 +1,6 @@
1
1
  # encoding: ascii-8bit
2
2
 
3
- # Copyright 2014 Ball Aerospace & Technologies Corp.
3
+ # Copyright 2017 Ball Aerospace & Technologies Corp.
4
4
  # All Rights Reserved.
5
5
  #
6
6
  # This program is free software; you can modify and/or redistribute it
@@ -13,10 +13,6 @@ require 'cosmos/interfaces/tcpip_client_interface'
13
13
 
14
14
  class ExampleInterface < Cosmos::TcpipClientInterface
15
15
  def initialize (hostname, port, write_timeout = 10.0, read_timeout = nil)
16
- super(hostname, port, port, write_timeout, read_timeout, 'LENGTH', 0, 32, 4, 1, 'BIG_ENDIAN', 4)
17
- end
18
-
19
- def pre_write_packet(packet)
20
- [packet.length].pack('N') << packet.buffer
16
+ super(hostname, port, port, write_timeout, read_timeout, 'LENGTH', 0, 32, 4, 1, 'BIG_ENDIAN', 4, nil, nil, true)
21
17
  end
22
18
  end
@@ -1,7 +1,9 @@
1
+ REQUIRE example_interface.rb
2
+
1
3
  # Ignored Parameters
2
4
  # IGNORE_PARAMETER parameter_name
3
5
  IGNORE_PARAMETER PACKET_ID
4
6
 
5
7
  IGNORE_ITEM RECEIVED_COUNT
6
8
  IGNORE_ITEM RECEIVED_TIMESECONDS
7
- IGNORE_ITEM RECEIVED_TIMEFORMATTED
9
+ IGNORE_ITEM RECEIVED_TIMEFORMATTED
@@ -38,6 +38,7 @@ COMMAND INST ASCIICMD BIG_ENDIAN "Enumerated ASCII command"
38
38
  STATE "NOOP" "NOOP"
39
39
  STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser poses an eye safety hazard."
40
40
  STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING Laser will be fired!"
41
+ APPEND_PARAMETER BINARY 32 STRING 0xDEADBEEF "Binary string"
41
42
 
42
43
  COMMAND INST FLTCMD BIG_ENDIAN "Command with float parameters"
43
44
  <%= render "_ccsds_cmd.txt", locals: {id: 6} %>
@@ -0,0 +1,34 @@
1
+ # encoding: ascii-8bit
2
+
3
+ # Copyright 2014 Ball Aerospace & Technologies Corp.
4
+ # All Rights Reserved.
5
+ #
6
+ # This program is free software; you can modify and/or redistribute it
7
+ # under the terms of the GNU General Public License
8
+ # as published by the Free Software Foundation; version 3 with
9
+ # attribution addendums as found in the LICENSE.txt
10
+
11
+ require 'cosmos'
12
+ require 'cosmos/tools/data_viewer/data_viewer_component'
13
+
14
+ module Cosmos
15
+ # This class displays packets as raw hex values
16
+ class InstDumpComponent < DataViewerComponent
17
+
18
+ # Processes the given packet. No gui interaction should be done in this
19
+ # method. Override this method for other components.
20
+ def process_packet (packet)
21
+ processed_text = ''
22
+ processed_text << '*' * 80 << "\n"
23
+ processed_text << "* #{packet.target_name} #{packet.packet_name}\n"
24
+ processed_text << "* Received Time: #{packet.received_time.formatted}\n" if packet.received_time
25
+ processed_text << "* Received Count: #{packet.received_count}\n"
26
+ processed_text << '*' * 80 << "\n"
27
+ processed_text << packet.buffer.formatted << "\n"
28
+ # Ensure that queue does not grow infinitely while paused
29
+ if @processed_queue.length < 1000
30
+ @processed_queue << processed_text
31
+ end
32
+ end
33
+ end
34
+ end
@@ -8,24 +8,36 @@ VERTICAL
8
8
  VERTICALBOX
9
9
  SECTIONHEADER "Position and Velocity"
10
10
 
11
- LABELVALUE INST ADCS POSX WITH_UNITS 20
12
- LABELVALUE INST ADCS POSY WITH_UNITS 20
13
- LABELVALUE INST ADCS POSZ WITH_UNITS 20
11
+ LABELVALUE INST ADCS POSX WITH_UNITS 20 CENTER
12
+ LABELVALUE INST ADCS POSY WITH_UNITS 22 CENTER
13
+ LABELVALUE INST ADCS POSZ WITH_UNITS 24 CENTER
14
14
  LABELVALUE INST ADCS VELX WITH_UNITS 20
15
- LABELVALUE INST ADCS VELY WITH_UNITS 20
16
- LABELVALUE INST ADCS VELZ WITH_UNITS 20
15
+ LABELVALUE INST ADCS VELY WITH_UNITS 22
16
+ LABELVALUE INST ADCS VELZ WITH_UNITS 24
17
17
  END
18
18
 
19
19
  VERTICALBOX
20
20
  SECTIONHEADER "Attitude"
21
21
 
22
- LABELVALUE INST ADCS Q1
23
- LABELVALUE INST ADCS Q2
24
- LABELVALUE INST ADCS Q3
25
- LABELVALUE INST ADCS Q4
26
- LABELVALUE INST ADCS BIASX
27
- LABELVALUE INST ADCS BIASY
28
- LABELVALUE INST ADCS BIASZ
22
+ LABELVALUE INST ADCS Q1 WITH_UNITS 12 RIGHT
23
+ SETTING TEXTALIGN LEFT
24
+ SETTING TEXTCOLOR RED
25
+ LABELVALUE INST ADCS Q2 WITH_UNITS 12 RIGHT
26
+ SETTING TEXTALIGN LEFT
27
+ SUBSETTING 0 TEXTCOLOR BLUE
28
+ SUBSETTING 1 TEXTCOLOR GREEN
29
+ LABELVALUE INST ADCS Q3 WITH_UNITS 12 RIGHT
30
+ SETTING TEXTALIGN LEFT
31
+ SETTING BACKCOLOR PURPLE
32
+ LABELVALUE INST ADCS Q4 WITH_UNITS 12 RIGHT
33
+ SETTING TEXTALIGN LEFT
34
+ SUBSETTING 0 BACKCOLOR ORANGE
35
+ LABELVALUE INST ADCS BIASX WITH_UNITS 12 RIGHT
36
+ SETTING TEXTALIGN LEFT
37
+ LABELVALUE INST ADCS BIASY WITH_UNITS 12 RIGHT
38
+ SETTING TEXTALIGN LEFT
39
+ LABELVALUE INST ADCS BIASZ WITH_UNITS 12 RIGHT
40
+ SETTING TEXTALIGN LEFT
29
41
  END
30
42
 
31
43
  VERTICALBOX
@@ -33,14 +45,26 @@ VERTICAL
33
45
 
34
46
  LABELPROGRESSBAR INST ADCS POSPROGRESS
35
47
  LABELPROGRESSBAR INST ADCS ATTPROGRESS
48
+
49
+ LABEL ""
50
+ LABEL "LEFT"
51
+ SETTING PADDING 5
52
+ SETTING TEXTALIGN LEFT
53
+ SETTING BACKCOLOR RED
54
+ LABEL "CENTER"
55
+ SETTING PADDING 5
56
+ SETTING TEXTALIGN CENTER
57
+ SETTING BACKCOLOR WHITE
58
+ LABEL "RIGHT"
59
+ SETTING PADDING 5
60
+ SETTING TEXTALIGN RIGHT
61
+ SETTING TEXTCOLOR WHITE
62
+ SETTING BACKCOLOR BLUE
36
63
  END
37
64
  END
38
65
 
39
66
  VERTICALBOX
40
67
  LABELVALUE INST ADCS TIMEFORMATTED WITH_UNITS 30
41
68
  END
42
-
43
69
  END
44
70
 
45
-
46
-
@@ -3,28 +3,35 @@ SCREEN AUTO AUTO 0.5
3
3
  VERTICAL
4
4
  TITLE "Commanding Examples"
5
5
 
6
+ LABELVALUE INST HEALTH_STATUS COLLECTS
7
+ LABELVALUE INST HEALTH_STATUS COLLECT_TYPE
8
+ LABELVALUE INST HEALTH_STATUS DURATION
9
+
6
10
  VERTICALBOX
7
- VERTICALBOX
8
- SECTIONHEADER "Send Collect Command:"
9
- HORIZONTAL
10
- LABEL "Type: "
11
- NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL
12
- LABEL " Duration: "
13
- NAMED_WIDGET DURATION TEXTFIELD 12 "10.0"
14
- BUTTON 'Start Collect' 'target_name = get_target_name("INST"); cmd("#{target_name} COLLECT with TYPE #{get_named_widget("COLLECT_TYPE").text}, DURATION #{get_named_widget("DURATION").text.to_f}")'
15
- END
16
- END
17
- LABELVALUE INST HEALTH_STATUS COLLECTS
18
- LABELVALUE INST HEALTH_STATUS COLLECT_TYPE
19
- LABELVALUE INST HEALTH_STATUS DURATION
20
- VERTICALBOX
21
- SECTIONHEADER "Parameter-less Commands:"
22
- NAMED_WIDGET ABORT RADIOBUTTON 'Abort' CHECKED
23
- NAMED_WIDGET CLEAR RADIOBUTTON 'Clear' UNCHECKED
24
- NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED
25
- BUTTON 'Send' 'target_name = get_target_name("INST"); if get_named_widget("ABORT").checked? then cmd("#{target_name} ABORT") else if get_named_widget("CHECK").checked? then cmd_no_hazardous_check("#{target_name} CLEAR") else cmd("#{target_name} CLEAR") end end'
11
+ SECTIONHEADER "Send Collect Command:"
12
+ HORIZONTAL
13
+ LABEL "Type: "
14
+ NAMED_WIDGET COLLECT_TYPE COMBOBOX NORMAL SPECIAL
15
+ LABEL " Duration: "
16
+ NAMED_WIDGET DURATION TEXTFIELD 12 "10.0"
17
+ BUTTON 'Start Collect' 'target_name = get_target_name("INST"); cmd("#{target_name} COLLECT with TYPE #{get_named_widget("COLLECT_TYPE").text}, DURATION #{get_named_widget("DURATION").text.to_f}")'
26
18
  END
19
+ END
20
+ SETTING BACKCOLOR 163 185 163
27
21
 
22
+ VERTICALBOX
23
+ SECTIONHEADER "Parameter-less Commands:"
24
+ NAMED_WIDGET ABORT RADIOBUTTON 'Abort' CHECKED
25
+ NAMED_WIDGET CLEAR RADIOBUTTON 'Clear' UNCHECKED
26
+ NAMED_WIDGET CHECK CHECKBUTTON 'Ignore Hazardous Checks' # No option is by default UNCHECKED
27
+ BUTTON 'Send' 'target_name = get_target_name("INST"); if get_named_widget("ABORT").checked? then cmd("#{target_name} ABORT") else if get_named_widget("CHECK").checked? then cmd_no_hazardous_check("#{target_name} CLEAR") else cmd("#{target_name} CLEAR") end end'
28
+ END
29
+ SETTING BACKCOLOR 163 185 163
30
+
31
+ VERTICALBOX
32
+ SECTIONHEADER "Run Script:"
33
+ NAMED_WIDGET SCRIPTNAME COMBOBOX <%= Dir["#{Cosmos::System.paths['PROCEDURES'][0]}/*"].map {|x| File.basename(x) }.join(' ') %>
34
+ BUTTON 'Run Script' 'Cosmos.run_process("#{Cosmos::USERPATH}/tools/ScriptRunner -r #{get_named_widget("SCRIPTNAME").text}")'
28
35
  END
29
36
  SETTING BACKCOLOR 163 185 163
30
37
  END