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
data/Rakefile CHANGED
@@ -70,7 +70,7 @@ class RakeCrc32
70
70
 
71
71
  end
72
72
 
73
- require 'yard'
73
+ require 'yard' if RUBY_ENGINE == 'ruby'
74
74
 
75
75
  # Import the rake tasks
76
76
  import 'tasks/manifest.rake'
@@ -88,52 +88,56 @@ task :require_version do
88
88
  end
89
89
 
90
90
  task :devkit do
91
- if RUBY_PLATFORM[0..2] == 'x64'
92
- if File.exist?("C:/Devkit64/bin")
93
- ENV['PATH'] = 'C:\\Devkit64\\bin;C:\\Devkit64\\mingw\\bin;' + ENV['PATH']
94
- end
95
- else
96
- if File.exist?("C:/Devkit/bin")
97
- ENV['PATH'] = 'C:\\Devkit\\bin;C:\\Devkit\\mingw\\bin;' + ENV['PATH']
91
+ if RUBY_ENGINE == 'ruby'
92
+ if RUBY_PLATFORM[0..2] == 'x64'
93
+ if File.exist?("C:/Devkit64/bin")
94
+ ENV['PATH'] = 'C:\\Devkit64\\bin;C:\\Devkit64\\mingw\\bin;' + ENV['PATH']
95
+ end
96
+ else
97
+ if File.exist?("C:/Devkit/bin")
98
+ ENV['PATH'] = 'C:\\Devkit\\bin;C:\\Devkit\\mingw\\bin;' + ENV['PATH']
99
+ end
98
100
  end
99
101
  end
100
102
  end
101
103
 
102
104
  task :build => [:devkit] do
103
- _, platform, *_ = RUBY_PLATFORM.split("-")
104
- saved = Dir.pwd
105
- shared_extension = 'so'
106
- shared_extension = 'bundle' if platform =~ /darwin/
107
-
108
- extensions = [
109
- 'crc',
110
- 'low_fragmentation_array',
111
- 'polynomial_conversion',
112
- 'config_parser',
113
- 'string',
114
- 'array',
115
- 'cosmos_io',
116
- 'tabbed_plots_config',
117
- 'telemetry',
118
- 'line_graph',
119
- 'packet',
120
- 'platform',
121
- 'buffered_file']
122
-
123
- extensions.each do |extension_name|
124
- Dir.chdir "ext/cosmos/ext/#{extension_name}"
125
- FileUtils.rm_f Dir.glob('*.o')
126
- FileUtils.rm_f Dir.glob("*.#{shared_extension}")
127
- FileUtils.rm_f Dir.glob('*.def')
128
- FileUtils.rm_f 'Makefile'
129
- system('ruby extconf.rb')
130
- system('make')
131
- FileUtils.copy("#{extension_name}.#{shared_extension}", '../../../../lib/cosmos/ext/.')
132
- FileUtils.rm_f Dir.glob('*.o')
133
- FileUtils.rm_f Dir.glob("*.#{shared_extension}")
134
- FileUtils.rm_f Dir.glob('*.def')
135
- FileUtils.rm_f 'Makefile'
136
- Dir.chdir saved
105
+ if RUBY_ENGINE == 'ruby'
106
+ _, platform, *_ = RUBY_PLATFORM.split("-")
107
+ saved = Dir.pwd
108
+ shared_extension = 'so'
109
+ shared_extension = 'bundle' if platform =~ /darwin/
110
+
111
+ extensions = [
112
+ 'crc',
113
+ 'low_fragmentation_array',
114
+ 'polynomial_conversion',
115
+ 'config_parser',
116
+ 'string',
117
+ 'array',
118
+ 'cosmos_io',
119
+ 'tabbed_plots_config',
120
+ 'telemetry',
121
+ 'line_graph',
122
+ 'packet',
123
+ 'platform',
124
+ 'buffered_file']
125
+
126
+ extensions.each do |extension_name|
127
+ Dir.chdir "ext/cosmos/ext/#{extension_name}"
128
+ FileUtils.rm_f Dir.glob('*.o')
129
+ FileUtils.rm_f Dir.glob("*.#{shared_extension}")
130
+ FileUtils.rm_f Dir.glob('*.def')
131
+ FileUtils.rm_f 'Makefile'
132
+ system('ruby extconf.rb')
133
+ system('make')
134
+ FileUtils.copy("#{extension_name}.#{shared_extension}", '../../../../lib/cosmos/ext/.')
135
+ FileUtils.rm_f Dir.glob('*.o')
136
+ FileUtils.rm_f Dir.glob("*.#{shared_extension}")
137
+ FileUtils.rm_f Dir.glob('*.def')
138
+ FileUtils.rm_f 'Makefile'
139
+ Dir.chdir saved
140
+ end
137
141
  end
138
142
  end
139
143
 
@@ -250,8 +254,10 @@ task :stress do
250
254
  end
251
255
  end
252
256
 
253
- YARD::Rake::YardocTask.new do |t|
254
- t.options = ['--protected'] # See all options by typing 'yardoc --help'
257
+ if RUBY_ENGINE == 'ruby'
258
+ YARD::Rake::YardocTask.new do |t|
259
+ t.options = ['--protected'] # See all options by typing 'yardoc --help'
260
+ end
255
261
  end
256
262
 
257
263
  task :release => [:require_version, :git_checkout_master, :build, :spec, :manifest, :version, :install_crc, :gem]
@@ -4,7 +4,6 @@
4
4
  # AUTO_DECLARE_TARGETS
5
5
  DECLARE_TARGET INST
6
6
  DECLARE_TARGET INST INST2
7
- DECLARE_TARGET COSMOS
8
7
  DECLARE_TARGET META
9
8
  DECLARE_TARGET SYSTEM
10
9
 
@@ -25,10 +24,6 @@ PATH TABLES ./outputs/tables
25
24
  PATH HANDBOOKS ./outputs/handbooks
26
25
  PATH PROCEDURES ./procedures
27
26
 
28
- # Command and Telemetry Database Version (Optional)
29
- # CMD_TLM_VERSION version
30
- CMD_TLM_VERSION "Demo Version"
31
-
32
27
  # DISABLE_DNS
33
28
 
34
29
  ALLOW_ACCESS ALL
@@ -23,7 +23,11 @@ COMMAND INST ABORT BIG_ENDIAN "Aborts a collect on the instrument"
23
23
  PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
24
24
  PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
25
25
  ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
26
- PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
26
+ PARAMETER CCSDSSEQFLAGS 16 2 UINT 0 3 3 "CCSDS primary header sequence flags"
27
+ STATE FIRST 1
28
+ STATE CONT 0
29
+ STATE LAST 2
30
+ STATE NOGROUP 3
27
31
  PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
28
32
  OVERFLOW TRUNCATE
29
33
  PARAMETER CCSDSLENGTH 32 16 UINT 0 65535 1 "CCSDS primary header packet length"
@@ -71,6 +75,7 @@ COMMAND INST ASCIICMD BIG_ENDIAN "Enumerated ASCII command"
71
75
  STATE "NOOP" "NOOP"
72
76
  STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser poses an eye safety hazard."
73
77
  STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING Laser will be fired!"
78
+ APPEND_PARAMETER BINARY 32 STRING 0xDEADBEEF "Binary string"
74
79
 
75
80
  COMMAND INST FLTCMD BIG_ENDIAN "Command with float parameters"
76
81
  PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
@@ -0,0 +1,19 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICALBOX
4
+ LABELVALUE INST EXTRA RECEIVED_TIMESECONDS # COSMOS Received Time (UTC, Floating point, Unix epoch)
5
+ LABELVALUE INST EXTRA RECEIVED_TIMEFORMATTED # COSMOS Received Time (Local time zone, Formatted string)
6
+ LABELVALUE INST EXTRA RECEIVED_COUNT # COSMOS packet received count
7
+ LABELVALUE INST EXTRA CCSDSVER # CCSDS packet version number (See CCSDS 133.0-B-1)
8
+ LABELVALUE INST EXTRA CCSDSTYPE # CCSDS packet type (command or telemetry)
9
+ LABELVALUE INST EXTRA CCSDSSHF # CCSDS secondary header flag
10
+ LABELVALUE INST EXTRA CCSDSAPID # CCSDS application process id
11
+ LABELVALUE INST EXTRA CCSDSSEQFLAGS # CCSDS sequence flags
12
+ LABELVALUE INST EXTRA CCSDSSEQCNT # CCSDS packet sequence count
13
+ LABELVALUE INST EXTRA CCSDSLENGTH # CCSDS packet data length
14
+ LABELVALUE INST EXTRA TIMESEC # Seconds since epoch (January 1st, 1970, midnight)
15
+ LABELVALUE INST EXTRA TIMEUS # Microseconds of second
16
+ LABELVALUE INST EXTRA PKTID # Packet id (The combination of CCSDS_APID and PACKET_ID identify the packet)
17
+ LABELVALUE INST EXTRA VALUE # Value
18
+ END
19
+
@@ -0,0 +1 @@
1
+ COMMAND "60" "INST ABORT"
@@ -0,0 +1,12 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICALBOX
4
+ LABELVALUE META DATA RECEIVED_TIMESECONDS # COSMOS Received Time (UTC, Floating point, Unix epoch)
5
+ LABELVALUE META DATA RECEIVED_TIMEFORMATTED # COSMOS Received Time (Local time zone, Formatted string)
6
+ LABELVALUE META DATA RECEIVED_COUNT # COSMOS packet received count
7
+ LABELVALUE META DATA TEST_COUNT # Test Count
8
+ LABELVALUE META DATA TEST_ANGLE # Test Angle
9
+ LABELVALUE META DATA TEST_TYPE # Test Type
10
+ LABELVALUE META DATA VERSION # Version Metadata
11
+ END
12
+
@@ -0,0 +1,16 @@
1
+ TELEMETRY SYSTEM META BIG_ENDIAN "System Meta Data Telemetry Packet"
2
+ APPEND_ID_ITEM PKTID 8 UINT 1 "Packet Id"
3
+ APPEND_ITEM CONFIG 256 STRING "Configuration Name"
4
+ APPEND_ITEM COSMOS_VERSION 240 STRING "COSMOS Version"
5
+ APPEND_ITEM USER_VERSION 240 STRING "User Project Version"
6
+ APPEND_ITEM RUBY_VERSION 240 STRING "Ruby Version"
7
+ APPEND_ITEM OPERATOR_NAME 512 STRING "Operator Name"
8
+
9
+ COMMAND SYSTEM META BIG_ENDIAN "System Meta Data Command Packet"
10
+ DISABLED
11
+ APPEND_ID_PARAMETER PKTID 8 UINT 1 1 1 "Packet Id"
12
+ APPEND_PARAMETER CONFIG 256 STRING "" "Configuration Name"
13
+ APPEND_PARAMETER COSMOS_VERSION 240 STRING "" "COSMOS Version"
14
+ APPEND_PARAMETER USER_VERSION 240 STRING "" "User Project Version"
15
+ APPEND_PARAMETER RUBY_VERSION 240 STRING "" "Ruby Version"
16
+ APPEND_PARAMETER OPERATOR_NAME 512 STRING "" "Operator Name"
@@ -1,39 +1,39 @@
1
- COMMAND COSMOS STARTLOGGING BIG_ENDIAN "Starts logging both commands and telemetry for an interface"
1
+ COMMAND SYSTEM STARTLOGGING BIG_ENDIAN "Starts logging both commands and telemetry for an interface"
2
2
  APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
3
3
  APPEND_ID_PARAMETER OPCODE 32 UINT 2 2 2 "COSMOS Command Opcode"
4
4
  APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
5
5
  APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to start logging on - ALL starts logging on all interfaces"
6
6
  APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
7
-
8
- COMMAND COSMOS STARTCMDLOG BIG_ENDIAN "Starts logging commands for an interface"
7
+
8
+ COMMAND SYSTEM STARTCMDLOG BIG_ENDIAN "Starts logging commands for an interface"
9
9
  APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
10
10
  APPEND_ID_PARAMETER OPCODE 32 UINT 3 3 3 "COSMOS Command Opcode"
11
11
  APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
12
12
  APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to start logging on - ALL starts logging on all interfaces"
13
13
  APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
14
14
 
15
- COMMAND COSMOS STARTTLMLOG BIG_ENDIAN "Starts logging telemetry for an interface"
15
+ COMMAND SYSTEM STARTTLMLOG BIG_ENDIAN "Starts logging telemetry for an interface"
16
16
  APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
17
17
  APPEND_ID_PARAMETER OPCODE 32 UINT 4 4 4 "COSMOS Command Opcode"
18
18
  APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
19
19
  APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to start logging on - ALL starts logging on all interfaces"
20
20
  APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
21
-
22
- COMMAND COSMOS STOPLOGGING BIG_ENDIAN "Stops logging both commands and telemetry for an interface"
21
+
22
+ COMMAND SYSTEM STOPLOGGING BIG_ENDIAN "Stops logging both commands and telemetry for an interface"
23
23
  APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
24
24
  APPEND_ID_PARAMETER OPCODE 32 UINT 5 5 5 "COSMOS Command Opcode"
25
25
  APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
26
26
  APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to stop logging on - ALL stops logging on all interfaces"
27
27
  APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
28
28
 
29
- COMMAND COSMOS STOPCMDLOG BIG_ENDIAN "Stops logging commands for an interface"
29
+ COMMAND SYSTEM STOPCMDLOG BIG_ENDIAN "Stops logging commands for an interface"
30
30
  APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
31
31
  APPEND_ID_PARAMETER OPCODE 32 UINT 6 6 6 "COSMOS Command Opcode"
32
32
  APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
33
33
  APPEND_PARAMETER INTERFACE 256 STRING "ALL" "Interface to stop logging on - ALL stops logging on all interfaces"
34
34
  APPEND_PARAMETER LABEL 0 STRING "" "Optional label to place on log files"
35
35
 
36
- COMMAND COSMOS STOPTLMLOG BIG_ENDIAN "Stops logging telemetry for an interface"
36
+ COMMAND SYSTEM STOPTLMLOG BIG_ENDIAN "Stops logging telemetry for an interface"
37
37
  APPEND_PARAMETER SYNC 32 UINT 0x1ACFFC1D 0x1ACFFC1D 0x1ACFFC1D "COSMOS Command Sync Pattern"
38
38
  APPEND_ID_PARAMETER OPCODE 32 UINT 7 7 7 "COSMOS Command Opcode"
39
39
  APPEND_PARAMETER LENGTH 32 UINT 0 65536 3 "COSMOS Command Length of Command Data in Bytes"
@@ -0,0 +1,7 @@
1
+ TELEMETRY SYSTEM LIMITS_CHANGE BIG_ENDIAN "COSMOS limits change"
2
+ APPEND_ID_ITEM PKT_ID 8 UINT 2 "Packet Id"
3
+ APPEND_ITEM TARGET 240 STRING "Target name"
4
+ APPEND_ITEM PACKET 240 STRING "Packet name"
5
+ APPEND_ITEM ITEM 240 STRING "Item that changed limits state"
6
+ APPEND_ITEM OLD_STATE 240 STRING "The old limit state"
7
+ APPEND_ITEM NEW_STATE 240 STRING "The new limit state"
@@ -0,0 +1,14 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICALBOX
4
+ LABELVALUE SYSTEM LIMITS_CHANGE RECEIVED_TIMESECONDS # COSMOS Received Time (UTC, Floating point, Unix epoch)
5
+ LABELVALUE SYSTEM LIMITS_CHANGE RECEIVED_TIMEFORMATTED # COSMOS Received Time (Local time zone, Formatted string)
6
+ LABELVALUE SYSTEM LIMITS_CHANGE RECEIVED_COUNT # COSMOS packet received count
7
+ LABELVALUE SYSTEM LIMITS_CHANGE PKT_ID # Packet Id
8
+ LABELVALUE SYSTEM LIMITS_CHANGE TARGET # Target name
9
+ LABELVALUE SYSTEM LIMITS_CHANGE PACKET # Packet name
10
+ LABELVALUE SYSTEM LIMITS_CHANGE ITEM # Item that changed limits state
11
+ LABELVALUE SYSTEM LIMITS_CHANGE OLD_STATE # The old limit state
12
+ LABELVALUE SYSTEM LIMITS_CHANGE NEW_STATE # The new limit state
13
+ END
14
+
@@ -0,0 +1,14 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ VERTICALBOX
4
+ LABELVALUE SYSTEM META RECEIVED_TIMESECONDS # COSMOS Received Time (UTC, Floating point, Unix epoch)
5
+ LABELVALUE SYSTEM META RECEIVED_TIMEFORMATTED # COSMOS Received Time (Local time zone, Formatted string)
6
+ LABELVALUE SYSTEM META RECEIVED_COUNT # COSMOS packet received count
7
+ LABELVALUE SYSTEM META PKTID # Packet Id
8
+ LABELVALUE SYSTEM META CONFIG # Configuration Name
9
+ LABELVALUE SYSTEM META COSMOS_VERSION # COSMOS Version
10
+ LABELVALUE SYSTEM META USER_VERSION # User Project Version
11
+ LABELVALUE SYSTEM META RUBY_VERSION # Ruby Version
12
+ LABELVALUE SYSTEM META OPERATOR_NAME # Operator Name
13
+ END
14
+
@@ -0,0 +1,12 @@
1
+ # Ignored Parameters
2
+ IGNORE_PARAMETER PKTID
3
+ IGNORE_PARAMETER CONFIG
4
+ IGNORE_PARAMETER COSMOS_VERSION
5
+ IGNORE_PARAMETER USER_VERSION
6
+ IGNORE_PARAMETER RUBY_VERSION
7
+
8
+ # Ignored Items
9
+ IGNORE_ITEM PKTID
10
+ IGNORE_ITEM RECEIVED_COUNT
11
+ IGNORE_ITEM RECEIVED_TIMESECONDS
12
+ IGNORE_ITEM RECEIVED_TIMEFORMATTED
@@ -11,8 +11,8 @@ INTERFACE INST2_INT simulated_target_interface.rb sim_inst.rb
11
11
  TARGET INST2
12
12
  DONT_LOG
13
13
 
14
- INTERFACE COSMOS_INT cmd_tlm_server_interface.rb
15
- TARGET COSMOS
14
+ INTERFACE SYSTM_INT cmd_tlm_server_interface.rb
15
+ TARGET SYSTEM
16
16
  DISABLE_DISCONNECT
17
17
  LOG COSMOSLOG
18
18
 
@@ -5,7 +5,7 @@ LOOP_TESTING TRUE
5
5
  BREAK_LOOP_AFTER_ERROR TRUE
6
6
  IGNORE_TEST 'ExampleTest'
7
7
  IGNORE_TEST_SUITE 'ExampleTestSuite'
8
- COLLECT_METADATA META DATA
8
+ COLLECT_METADATA
9
9
  LINE_DELAY 0
10
10
  MONITOR_LIMITS
11
11
  PAUSE_ON_RED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ascii-8bit
3
+
4
+ # Copyright 2015 Ball Aerospace & Technologies Corp.
5
+ # All Rights Reserved.
6
+ #
7
+ # This program is free software; you can modify and/or redistribute it
8
+ # under the terms of the GNU General Public License
9
+ # as published by the Free Software Foundation; version 3 with
10
+ # attribution addendums as found in the LICENSE.txt
11
+
12
+ require 'cosmos'
13
+ require 'cosmos/tools/cmd_sequence/cmd_sequence'
14
+ Cosmos::CmdSequence.run
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ascii-8bit
3
+
4
+ # Copyright 2014 Ball Aerospace & Technologies Corp.
5
+ # All Rights Reserved.
6
+ #
7
+ # This program is free software; you can modify and/or redistribute it
8
+ # under the terms of the GNU General Public License
9
+ # as published by the Free Software Foundation; version 3 with
10
+ # attribution addendums as found in the LICENSE.txt
11
+
12
+ require_relative 'autohotkey.rb'
13
+ autohotkey('CmdSequence', 'cmd_sequence.ahk') do
14
+ require 'cosmos/tools/cmd_sequence/cmd_sequence'
15
+ require 'cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui'
16
+ Cosmos::CmdSequence.run
17
+ end
18
+
19
+ # Remove generated sequences
20
+ %w(sequence.txt test_sequence.txt).each do |filename|
21
+ path = File.join("autohotkey", "outputs", "sequences", filename)
22
+ File.delete path if File.exist? path
23
+ end
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ascii-8bit
3
+
4
+ # Copyright 2014 Ball Aerospace & Technologies Corp.
5
+ # All Rights Reserved.
6
+ #
7
+ # This program is free software; you can modify and/or redistribute it
8
+ # under the terms of the GNU General Public License
9
+ # as published by the Free Software Foundation; version 3 with
10
+ # attribution addendums as found in the LICENSE.txt
11
+
12
+ require_relative 'autohotkey.rb'
13
+ autohotkey('CmdSequence2', 'cmd_sequence2.ahk') do
14
+ require 'cosmos/tools/cmd_sequence/cmd_sequence'
15
+ Cosmos::CmdSequence.run
16
+ end
@@ -44,7 +44,7 @@ WinWaitActive Log File
44
44
  Sleep 2000
45
45
  Send {Enter} ; Done
46
46
  WinWaitActive Packet Counts
47
- Click 500 10 ; Close packet counts window
47
+ Sleep 500
48
+ Send {Esc} ; Close packet counts window
48
49
  WinWaitActive Command Extractor
49
50
  Send ^q
50
-
@@ -1,15 +1,15 @@
1
1
  SetWinDelay 1000
2
2
  WinWaitActive Command Sender
3
- Sleep 2000
3
+ Sleep 500
4
4
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
5
- Sleep 2000
5
+ Sleep 4000
6
6
  WinActivate Command Sender
7
7
  Sleep 500
8
8
  Click 60 600 ; Click in the Command History
9
9
  Sleep 500
10
10
  Send cmd( ; Cause a popup completion
11
11
  Sleep 500
12
- Send {Down 2}{Enter} ; INST
12
+ Send {Down 1}{Enter} ; INST
13
13
  Sleep 500
14
14
  Send {Enter} ; ABORT
15
15
  Sleep 500
@@ -34,8 +34,6 @@ WinWaitActive Command Sender
34
34
  Sleep 500
35
35
  Click 85 75 ; Target dropdown CMD-1
36
36
  Sleep 500
37
- Click 75 103 ; INST
38
- Sleep 500
39
37
  Click 610 75 ; Send CMD-2
40
38
  Sleep 500
41
39
  Click 365 75 ; Command dropdown CMD-1
@@ -141,7 +139,7 @@ WinWaitActive Command Sender
141
139
  Sleep 500
142
140
  Click 85 75 ; Target dropdown
143
141
  Sleep 500
144
- Click 75 115 ; INST2
142
+ Click 75 103 ; INST2
145
143
  Sleep 500
146
144
  Click 365 75 ; Command dropdown
147
145
  Sleep 500
@@ -0,0 +1,215 @@
1
+ SetWinDelay 1000
2
+ WinWaitActive Command Sequence
3
+ Run ruby.exe %A_ScriptDir%/CmdTlmServer
4
+ Sleep 4000
5
+ WinActivate Command Sequence
6
+
7
+ Send ^o ; Open
8
+ WinWaitActive Select
9
+ Send bad_sequence.txt{Enter}
10
+ WinWaitActive Error
11
+ Send {Enter}
12
+ WinWaitActive Command Sequence
13
+
14
+ Send ^o ; Open
15
+ WinWaitActive Select
16
+ Send bad_sequence2.txt{Enter}
17
+ WinWaitActive Error
18
+ Send {Enter}
19
+ WinWaitActive Command Sequence
20
+
21
+ Send ^o ; Open
22
+ WinWaitActive Select
23
+ Send saved_sequence.txt{Enter}
24
+ WinWaitActive Command Sequence
25
+
26
+ Send !f ; File menu
27
+ Sleep 500
28
+ Send a ; Save As
29
+ WinWaitActive Save
30
+ Send test_sequence.txt{Enter}
31
+ WinWaitActive Command Sequence
32
+
33
+ Send !a ; Actions menu
34
+ Sleep 500
35
+ Send e ; Expand All
36
+ Sleep 1000
37
+ Send !a ; Actions menu
38
+ Sleep 500
39
+ Send d ; Display state values in hex
40
+ Sleep 1000
41
+ Send !a ; Actions menu
42
+ Sleep 500
43
+ Send s ; Show ignored items
44
+ Sleep 1000
45
+ Send !a ; Actions menu
46
+ Sleep 500
47
+ Send c ; Collapse all
48
+ Sleep 1000
49
+ Click 300 210 ; Click on sequence item to display it
50
+ Sleep 1000
51
+ Send !a ; Actions menu
52
+ Sleep 500
53
+ Send d ; Display state values in hex
54
+ Sleep 500
55
+ Send !a ; Actions menu
56
+ Sleep 500
57
+ Send s ; Show ignored items
58
+ Sleep 500
59
+
60
+ Click right 170 309 ; Right click collect type
61
+ Sleep 500
62
+ Send {Tab}{Enter}
63
+ WinWaitActive INST
64
+ Sleep 500
65
+ Send {Enter}
66
+ WinWaitActive Command Sequence
67
+
68
+ Click right 170 309 ; Right click collect type
69
+ Sleep 500
70
+ Send {Tab 2}{Enter} ; Insert filename
71
+ WinWaitActive Insert
72
+ Sleep 500
73
+ Send {Esc}
74
+ WinWaitActive Command Sequence
75
+
76
+ Click 260 311 2 ; Double click the collect type manual entry
77
+ Sleep 500
78
+ Send 9{Enter}
79
+ Sleep 500
80
+
81
+ Click 170 309 2 ; Double click the collect Type
82
+ Sleep 500
83
+ Click ; Click again to activate the drop down
84
+ Sleep 500
85
+ Send {Up}{Enter} ; Choose SPECIAL collect
86
+ Sleep 1000
87
+
88
+ Send ^t ; Disconnect mode
89
+ WinWaitActive Server
90
+ Send +{Tab}{Enter} ; Cancel
91
+ WinWaitActive Command Sequence
92
+
93
+ Send ^t ; Disconnect mode
94
+ WinWaitActive Server
95
+ Send {Tab}{Enter} ; Select
96
+ WinWaitActive Select
97
+ Send cmd_tlm_server.txt{Enter}
98
+ WinWaitActive Server
99
+ Send {Tab}{Enter} ; Confirm dialog
100
+ WinWaitActive Command Sequence
101
+
102
+ Click 450 70 ; Start
103
+ WinWaitActive Save
104
+ Send {Tab 2}{Enter} ; No
105
+ ; Script should execute and complete
106
+ WinWaitActive Command Sequence
107
+
108
+ Send ^t ; Toggle off disconnect mode
109
+ Sleep 500
110
+ Send ^n ; New sequence
111
+ WinWaitActive Save
112
+ Send {Tab}{Enter} ; Yes
113
+ WinWaitActive Command Sequence
114
+
115
+ Click 100 100 ; Click the Target dropdown
116
+ Sleep 500
117
+ Send {Down}{Enter} ; Change the target
118
+ Sleep 500
119
+ Click 610 100 ; Add Abort command
120
+ Sleep 500
121
+ Click 633 155 ; Delete the command
122
+ Sleep 500
123
+ Click 610 100 ; Add Abort command
124
+ Sleep 500
125
+ Click 610 100 ; Add Abort command
126
+ Sleep 500
127
+ Click 450 100 ; Click the command dropdown
128
+ Sleep 500
129
+ Send {Down 2}{Enter} ; ASCIICMD
130
+ Sleep 500
131
+ Click 610 100 ; Add ASCIICMD
132
+ Sleep 500
133
+ Click 300 210 ; Click on the ASCIICMD to expand it
134
+ Sleep 500
135
+
136
+ Click 170 330 2 ; Click in the BINARY field
137
+ Send testtest{Enter}
138
+ WinWaitActive Error
139
+ Send {Enter}
140
+ WinWaitActive Command Sequence
141
+
142
+ Click 170 330 2 ; Double click in the BINARY field
143
+ Sleep 500
144
+ Send test{Enter}
145
+ Sleep 500
146
+
147
+ Click 170 330 2 ; Double click in the BINARY field
148
+ Sleep 500
149
+ Send 0xDEADBEEF{Enter}
150
+ Sleep 500
151
+
152
+ Click 450 70 ; Click Start
153
+ WinWaitActive Save
154
+ Send {Enter} ; Cancel
155
+ WinWaitActive Command Sequence
156
+
157
+ Click 450 70 ; Click Start
158
+ WinWaitActive Save
159
+ Send {Tab 2}{Enter} ; No
160
+ ; Script should execute and complete
161
+
162
+ Click 80 155 ; First command Time field
163
+ Sleep 500
164
+ Send {Backspace 5}2.5{Enter} ; 2.5s delay
165
+ Click right 85 180
166
+ WinWaitActive Select
167
+ Send {Esc} ; Cancel absolute time select
168
+ WinWaitActive Command Sequence
169
+ Click right 80 180
170
+ WinWaitActive Select
171
+ Min := 1 + A_Min ; One minute in the future
172
+ Send {Tab 2}%Min%{Enter} ; Set the future time
173
+ WinWaitActive Command Sequence
174
+ Click right 80 210
175
+ WinWaitActive Select
176
+ Send {Tab 5}{Enter} ; Select time now
177
+ WinWaitActive Command Sequence
178
+
179
+ Send ^s ; Save
180
+ WinWaitActive Save
181
+ Send {Enter}
182
+ Sleep 500
183
+ ; If the file already exists a dialog comes up
184
+ ; so we tab enter to switch from default No to Yes
185
+ Send {Tab}{Enter}
186
+ WinWaitActive Command Sequence
187
+
188
+ Click 450 70 ; Click Start
189
+ Sleep 65000 ; Allow the minute to go by and the sequence to complete
190
+
191
+ Click 450 70 ; Click Start
192
+ Sleep 1000
193
+ Click 530 70 ; Click Pause
194
+ Sleep 2000
195
+ Click 450 70 ; Click Start
196
+ Sleep 2000
197
+ Click 450 70 ; Click Go and the sequence should complete
198
+ Sleep 1000
199
+
200
+ Click 450 70 ; Click Start
201
+ Sleep 1000
202
+ Click 610 70 ; Click Stop
203
+ Sleep 2000
204
+
205
+ ; Shut down the CTS
206
+ WinActivate Command and Telemetry Server
207
+ WinWaitActive Command and Telemetry Server
208
+ Sleep 500
209
+ Send ^q
210
+ WinWaitActive Confirm Close
211
+ Sleep 500
212
+ Send {Enter}
213
+
214
+ WinActivate Command Sequence
215
+ Send ^q