cosmos 3.9.2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +23 -0
  3. data/.travis.yml +1 -0
  4. data/.yardopts +3 -0
  5. data/Gemfile +1 -1
  6. data/Manifest.txt +137 -52
  7. data/Rakefile +50 -44
  8. data/autohotkey/config/system/system.txt +0 -5
  9. data/autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt +6 -1
  10. data/autohotkey/config/targets/INST/screens/extra.txt +19 -0
  11. data/autohotkey/config/targets/INST/sequences/run_sequence.txt +1 -0
  12. data/autohotkey/config/targets/META/screens/data.txt +12 -0
  13. data/autohotkey/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
  14. data/autohotkey/config/targets/{COSMOS/cmd_tlm/cosmos_server_cmds.txt → SYSTEM/cmd_tlm/system_cmds.txt} +8 -8
  15. data/autohotkey/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
  16. data/autohotkey/config/targets/SYSTEM/screens/limits_change.txt +14 -0
  17. data/autohotkey/config/targets/SYSTEM/screens/meta.txt +14 -0
  18. data/autohotkey/config/targets/SYSTEM/target.txt +12 -0
  19. data/autohotkey/config/tools/cmd_tlm_server/cmd_tlm_server.txt +2 -2
  20. data/autohotkey/config/tools/test_runner/test_runner2.txt +1 -1
  21. data/autohotkey/tools/CmdSequence +14 -0
  22. data/autohotkey/tools/CmdSequenceAHK +23 -0
  23. data/autohotkey/tools/CmdSequenceAHK2 +16 -0
  24. data/autohotkey/tools/cmd_extractor.ahk +2 -2
  25. data/autohotkey/tools/cmd_sender.ahk +4 -6
  26. data/autohotkey/tools/cmd_sequence.ahk +215 -0
  27. data/autohotkey/tools/cmd_sequence2.ahk +23 -0
  28. data/autohotkey/tools/data_viewer.ahk +2 -3
  29. data/autohotkey/tools/limits_monitor.ahk +9 -11
  30. data/autohotkey/tools/open_gl_builder.ahk +1 -2
  31. data/autohotkey/tools/packet_viewer.ahk +51 -35
  32. data/autohotkey/tools/replay.ahk +1 -2
  33. data/autohotkey/tools/script_runner.ahk +1 -2
  34. data/autohotkey/tools/script_runner2.ahk +1 -2
  35. data/autohotkey/tools/test_runner2.ahk +1 -5
  36. data/autohotkey/tools/test_runner3.ahk +1 -3
  37. data/autohotkey/tools/tlm_grapher.ahk +1 -3
  38. data/autohotkey/tools/tlm_grapher3.ahk +1 -2
  39. data/autohotkey/tools/tlm_viewer.ahk +8 -3
  40. data/autohotkey/tools/tlm_viewer2.ahk +2 -3
  41. data/autohotkey/tools/tlm_viewer5.ahk +1 -2
  42. data/cosmos.gemspec +26 -20
  43. data/data/cmd_sequence.png +0 -0
  44. data/data/config/_array_params.yaml +23 -0
  45. data/data/config/_id_items.yaml +24 -0
  46. data/data/config/_id_params.yaml +58 -0
  47. data/data/config/_interfaces.yaml +206 -0
  48. data/data/config/_items.yaml +20 -0
  49. data/data/config/_params.yaml +58 -0
  50. data/data/config/cmd_tlm_server.yaml +110 -0
  51. data/data/config/command.yaml +38 -0
  52. data/data/config/command_modifiers.yaml +127 -0
  53. data/data/config/command_telemetry.yaml +3 -0
  54. data/data/config/data_viewer.yaml +43 -0
  55. data/data/config/handbook_creator.yaml +23 -0
  56. data/data/config/housekeeping_params.yaml +71 -0
  57. data/data/config/interface_modifiers.yaml +44 -0
  58. data/data/config/item_modifiers.yaml +172 -0
  59. data/data/config/launcher.yaml +117 -0
  60. data/data/config/limits_monitor.yaml +53 -0
  61. data/data/config/linegraph_params.yaml +30 -0
  62. data/data/config/linegraph_plot.yaml +106 -0
  63. data/data/config/page_modifiers.yaml +128 -0
  64. data/data/config/param_item_modifiers.yaml +41 -0
  65. data/data/config/parameter_modifiers.yaml +144 -0
  66. data/data/config/protocols.yaml +257 -0
  67. data/data/config/screen.yaml +151 -0
  68. data/data/config/script_runner.yaml +15 -0
  69. data/data/config/system.yaml +153 -0
  70. data/data/config/table_manager.yaml +76 -0
  71. data/data/config/table_parameter_modifiers.yaml +9 -0
  72. data/data/config/target.yaml +71 -0
  73. data/data/config/telemetry.yaml +73 -0
  74. data/data/config/telemetry_modifiers.yaml +129 -0
  75. data/data/config/test_runner.yaml +118 -0
  76. data/data/config/tlm_extractor.yaml +109 -0
  77. data/data/config/tlm_grapher.yaml +78 -0
  78. data/data/config/tlm_viewer.yaml +107 -0
  79. data/data/config/unknown.yaml +3 -0
  80. data/data/config/widgets.yaml +1339 -0
  81. data/data/config/xy_params.yaml +50 -0
  82. data/data/config/xy_plot.yaml +12 -0
  83. data/data/config_editor.png +0 -0
  84. data/data/crc.txt +172 -161
  85. data/data/delete.png +0 -0
  86. data/demo/config/data/crc.txt +56 -36
  87. data/demo/config/data/meta_init.txt +1 -4
  88. data/demo/config/system/system.txt +15 -3
  89. data/demo/config/system/system2.txt +13 -3
  90. data/demo/config/targets/EXAMPLE/lib/example_interface.rb +2 -6
  91. data/demo/config/targets/EXAMPLE/target.txt +3 -1
  92. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -0
  93. data/demo/config/targets/INST/lib/inst_dump_component.rb +34 -0
  94. data/demo/config/targets/INST/screens/adcs.txt +39 -15
  95. data/demo/config/targets/INST/screens/commanding.txt +26 -19
  96. data/demo/config/targets/INST/screens/spacing_box.txt +44 -0
  97. data/demo/config/targets/INST/screens/spacing_grid.txt +78 -0
  98. data/demo/config/targets/INST/screens/tabs.txt +0 -2
  99. data/demo/config/targets/INST/sequences/sequence.tsv +3 -0
  100. data/demo/config/targets/INST/tables/EventAction.csv +9 -0
  101. data/demo/config/targets/INST/tables/EventAction.dat +0 -0
  102. data/demo/config/targets/INST/tables/McConfigTable.csv +20 -0
  103. data/demo/config/targets/INST/tables/McConfigTable.dat +0 -0
  104. data/demo/config/targets/INST/target.txt +4 -0
  105. data/demo/config/targets/INST/tools/data_viewer/data_viewer.txt +2 -0
  106. data/demo/config/targets/INST/tools/data_viewer/data_viewer2.txt +2 -0
  107. data/demo/config/targets/INST/tools/table_manager/EventAction_def.txt +6 -0
  108. data/demo/config/targets/INST/tools/table_manager/McConfigTable_def.txt +38 -0
  109. data/demo/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +7 -3
  110. data/demo/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
  111. data/demo/config/targets/{COSMOS/cmd_tlm/cosmos_server_cmds.txt → SYSTEM/cmd_tlm/system_cmds.txt} +8 -8
  112. data/demo/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
  113. data/demo/config/targets/{COSMOS → SYSTEM}/cmd_tlm_server.txt +2 -2
  114. data/demo/config/targets/SYSTEM/lib/limits_groups.rb +39 -0
  115. data/demo/config/targets/SYSTEM/screens/status.txt +1 -1
  116. data/demo/config/targets/SYSTEM/target.txt +12 -0
  117. data/demo/config/targets/TEMPLATED/cmd_tlm_server.txt +1 -1
  118. data/demo/config/targets/TEMPLATED/lib/templated_interface.rb +8 -5
  119. data/demo/config/targets/TEMPLATED/target.txt +2 -0
  120. data/demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt +15 -6
  121. data/demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt +13 -5
  122. data/demo/config/tools/data_viewer/data_viewer.txt +9 -0
  123. data/demo/config/tools/launcher/launcher.txt +9 -6
  124. data/demo/config/tools/launcher/launcher2.txt +16 -13
  125. data/demo/config/tools/launcher/launcher_mini.txt +45 -0
  126. data/demo/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +12 -11
  127. data/demo/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +12 -11
  128. data/demo/config/tools/test_runner/test_runner.txt +1 -1
  129. data/demo/config/tools/tlm_viewer/tlm_viewer.txt +5 -5
  130. data/demo/lib/example_background_task.rb +9 -5
  131. data/demo/lib/example_target.rb +5 -15
  132. data/demo/lib/scpi_target.rb +4 -10
  133. data/demo/procedures/cosmos_api_test.rb +17 -0
  134. data/demo/tools/CmdSequence +16 -0
  135. data/demo/tools/CmdSequence.bat +9 -0
  136. data/demo/tools/ConfigEditor +16 -0
  137. data/demo/tools/ConfigEditor.bat +9 -0
  138. data/demo/tools/mac/CmdSequence.app/Contents/Info.plist +38 -0
  139. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +16 -0
  140. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +10 -0
  141. data/demo/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +38 -0
  142. data/demo/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
  143. data/ext/cosmos/ext/packet/packet.c +5 -5
  144. data/install/config/data/crc.txt +12 -8
  145. data/install/config/system/system.txt +13 -3
  146. data/install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +14 -0
  147. data/install/config/targets/SYSTEM/target.txt +12 -0
  148. data/install/tools/CmdSequence +16 -0
  149. data/install/tools/CmdSequence.bat +9 -0
  150. data/install/tools/ConfigEditor +16 -0
  151. data/install/tools/ConfigEditor.bat +9 -0
  152. data/install/tools/mac/CmdSequence.app/Contents/Info.plist +38 -0
  153. data/install/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +16 -0
  154. data/install/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +10 -0
  155. data/install/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +38 -0
  156. data/install/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
  157. data/lib/cosmos.rb +1 -1
  158. data/lib/cosmos/config/config_parser.rb +147 -59
  159. data/lib/cosmos/config/meta_config_parser.rb +57 -0
  160. data/lib/cosmos/conversions/polynomial_conversion.rb +20 -4
  161. data/lib/cosmos/conversions/unix_time_conversion.rb +4 -4
  162. data/lib/cosmos/core_ext/array.rb +45 -5
  163. data/lib/cosmos/core_ext/cosmos_io.rb +31 -15
  164. data/lib/cosmos/core_ext/file.rb +2 -2
  165. data/lib/cosmos/core_ext/kernel.rb +1 -6
  166. data/lib/cosmos/core_ext/objectspace.rb +0 -2
  167. data/lib/cosmos/core_ext/string.rb +27 -4
  168. data/lib/cosmos/core_ext/time.rb +39 -10
  169. data/lib/cosmos/gui/choosers/combobox_chooser.rb +37 -26
  170. data/lib/cosmos/gui/choosers/file_chooser.rb +23 -6
  171. data/lib/cosmos/gui/choosers/float_chooser.rb +13 -11
  172. data/lib/cosmos/gui/choosers/integer_chooser.rb +13 -11
  173. data/lib/cosmos/gui/choosers/string_chooser.rb +18 -36
  174. data/lib/cosmos/gui/choosers/telemetry_chooser.rb +64 -64
  175. data/lib/cosmos/gui/choosers/value_chooser.rb +15 -15
  176. data/lib/cosmos/gui/dialogs/about_dialog.rb +18 -13
  177. data/lib/cosmos/gui/dialogs/calendar_dialog.rb +11 -3
  178. data/lib/cosmos/gui/dialogs/cmd_tlm_raw_dialog.rb +1 -1
  179. data/lib/cosmos/gui/dialogs/details_dialog.rb +1 -1
  180. data/lib/cosmos/gui/dialogs/exception_dialog.rb +7 -7
  181. data/lib/cosmos/gui/dialogs/find_replace_dialog.rb +20 -15
  182. data/lib/cosmos/gui/dialogs/interface_raw_dialog.rb +143 -0
  183. data/lib/cosmos/gui/dialogs/legal_dialog.rb +6 -5
  184. data/lib/cosmos/gui/dialogs/packet_log_dialog.rb +5 -2
  185. data/lib/cosmos/gui/dialogs/progress_dialog.rb +1 -1
  186. data/lib/cosmos/gui/dialogs/pry_dialog.rb +4 -4
  187. data/lib/cosmos/gui/dialogs/scroll_text_dialog.rb +3 -0
  188. data/lib/cosmos/gui/dialogs/set_tlm_dialog.rb +7 -6
  189. data/lib/cosmos/gui/dialogs/splash.rb +1 -1
  190. data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +1 -1
  191. data/lib/cosmos/gui/dialogs/tlm_graph_dialog.rb +114 -0
  192. data/lib/cosmos/gui/line_graph/line_graph.rb +9 -10
  193. data/lib/cosmos/gui/line_graph/line_graph_dialog.rb +7 -5
  194. data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +3 -7
  195. data/lib/cosmos/gui/line_graph/line_graph_popups.rb +3 -8
  196. data/lib/cosmos/gui/line_graph/line_graph_scaling.rb +2 -7
  197. data/lib/cosmos/gui/line_graph/overview_graph.rb +6 -1
  198. data/lib/cosmos/gui/opengl/earth_model.rb +6 -3
  199. data/lib/cosmos/gui/opengl/gl_bounds.rb +11 -23
  200. data/lib/cosmos/gui/opengl/gl_light.rb +3 -4
  201. data/lib/cosmos/gui/opengl/gl_material.rb +3 -4
  202. data/lib/cosmos/gui/opengl/gl_scene.rb +10 -4
  203. data/lib/cosmos/gui/opengl/gl_shape.rb +6 -2
  204. data/lib/cosmos/gui/opengl/gl_viewer.rb +5 -5
  205. data/lib/cosmos/gui/opengl/gl_viewport.rb +11 -12
  206. data/lib/cosmos/gui/opengl/moon_model.rb +6 -3
  207. data/lib/cosmos/gui/opengl/stl_reader.rb +8 -9
  208. data/lib/cosmos/gui/opengl/stl_shape.rb +4 -5
  209. data/lib/cosmos/gui/opengl/texture_mapped_sphere.rb +7 -7
  210. data/lib/cosmos/gui/qt.rb +1 -1
  211. data/lib/cosmos/gui/qt_tool.rb +21 -10
  212. data/lib/cosmos/gui/text/completion.rb +23 -2
  213. data/lib/cosmos/gui/text/completion_text_edit.rb +38 -23
  214. data/lib/cosmos/gui/utilities/analyze_log.rb +1 -1
  215. data/lib/cosmos/gui/utilities/screenshot.rb +2 -2
  216. data/lib/cosmos/gui/widgets/full_text_search_line_edit.rb +11 -1
  217. data/lib/cosmos/gui/widgets/packet_log_frame.rb +19 -6
  218. data/lib/cosmos/interfaces.rb +10 -0
  219. data/lib/cosmos/interfaces/cmd_tlm_server_interface.rb +28 -47
  220. data/lib/cosmos/interfaces/interface.rb +240 -22
  221. data/lib/cosmos/interfaces/linc_interface.rb +3 -5
  222. data/lib/cosmos/interfaces/protocols/burst_protocol.rb +173 -0
  223. data/lib/cosmos/interfaces/protocols/crc_protocol.rb +141 -0
  224. data/lib/cosmos/{streams/fixed_stream_protocol.rb → interfaces/protocols/fixed_protocol.rb} +40 -37
  225. data/lib/cosmos/{streams/length_stream_protocol.rb → interfaces/protocols/length_protocol.rb} +55 -48
  226. data/lib/cosmos/interfaces/protocols/override_protocol.rb +52 -0
  227. data/lib/cosmos/interfaces/protocols/preidentified_protocol.rb +141 -0
  228. data/lib/cosmos/interfaces/protocols/protocol.rb +60 -0
  229. data/lib/cosmos/interfaces/protocols/template_protocol.rb +209 -0
  230. data/lib/cosmos/interfaces/protocols/terminated_protocol.rb +81 -0
  231. data/lib/cosmos/interfaces/serial_interface.rb +28 -23
  232. data/lib/cosmos/interfaces/simulated_target_interface.rb +27 -16
  233. data/lib/cosmos/interfaces/stream_interface.rb +36 -108
  234. data/lib/cosmos/interfaces/tcpip_client_interface.rb +21 -21
  235. data/lib/cosmos/interfaces/tcpip_server_interface.rb +555 -94
  236. data/lib/cosmos/interfaces/udp_interface.rb +51 -83
  237. data/lib/cosmos/io/buffered_file.rb +92 -2
  238. data/lib/cosmos/io/json_drb.rb +2 -2
  239. data/lib/cosmos/io/posix_serial_driver.rb +3 -1
  240. data/lib/cosmos/io/raw_logger.rb +3 -3
  241. data/lib/cosmos/io/serial_driver.rb +14 -5
  242. data/lib/cosmos/io/win32_serial_driver.rb +16 -4
  243. data/lib/cosmos/packet_logs.rb +0 -1
  244. data/lib/cosmos/packet_logs/packet_log_reader.rb +11 -1
  245. data/lib/cosmos/packet_logs/packet_log_writer.rb +31 -13
  246. data/lib/cosmos/packets/binary_accessor.rb +599 -32
  247. data/lib/cosmos/packets/commands.rb +48 -24
  248. data/lib/cosmos/packets/packet.rb +140 -54
  249. data/lib/cosmos/packets/packet_config.rb +0 -2
  250. data/lib/cosmos/packets/parsers/packet_item_parser.rb +10 -2
  251. data/lib/cosmos/packets/structure.rb +81 -33
  252. data/lib/cosmos/packets/structure_item.rb +45 -5
  253. data/lib/cosmos/packets/telemetry.rb +149 -55
  254. data/lib/cosmos/script/api_shared.rb +1000 -0
  255. data/lib/cosmos/script/commands.rb +2 -2
  256. data/lib/cosmos/script/extract.rb +19 -4
  257. data/lib/cosmos/script/limits.rb +2 -0
  258. data/lib/cosmos/script/script.rb +1 -1
  259. data/lib/cosmos/script/scripting.rb +4 -784
  260. data/lib/cosmos/script/telemetry.rb +44 -23
  261. data/lib/cosmos/script/tools.rb +15 -69
  262. data/lib/cosmos/streams/serial_stream.rb +12 -19
  263. data/lib/cosmos/streams/stream.rb +2 -11
  264. data/lib/cosmos/streams/tcpip_socket_stream.rb +3 -13
  265. data/lib/cosmos/system/system.rb +187 -31
  266. data/lib/cosmos/system/target.rb +11 -2
  267. data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +12 -11
  268. data/lib/cosmos/tools/cmd_sender/{cmd_sender_item_delegate.rb → cmd_param_table_item_delegate.rb} +11 -10
  269. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +209 -164
  270. data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +652 -0
  271. data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +510 -0
  272. data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +194 -0
  273. data/lib/cosmos/tools/cmd_tlm_server/api.rb +179 -5
  274. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +31 -14
  275. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +23 -16
  276. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +92 -20
  277. data/lib/cosmos/tools/cmd_tlm_server/commanding.rb +1 -1
  278. data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +17 -4
  279. data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +0 -5
  280. data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +1 -2
  281. data/lib/cosmos/tools/cmd_tlm_server/interfaces.rb +4 -4
  282. data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +121 -0
  283. data/lib/cosmos/tools/cmd_tlm_server/routers.rb +8 -4
  284. data/lib/cosmos/tools/config_editor/config_editor.rb +720 -0
  285. data/lib/cosmos/tools/config_editor/config_editor_frame.rb +675 -0
  286. data/lib/cosmos/tools/data_viewer/data_viewer.rb +44 -27
  287. data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +8 -22
  288. data/lib/cosmos/tools/launcher/launcher.rb +29 -12
  289. data/lib/cosmos/tools/launcher/launcher_config.rb +1 -1
  290. data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +153 -42
  291. data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +44 -6
  292. data/lib/cosmos/tools/replay/replay.rb +36 -20
  293. data/lib/cosmos/tools/replay/replay_server.rb +1 -1
  294. data/lib/cosmos/tools/script_runner/script_runner_config.rb +1 -1
  295. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +31 -21
  296. data/lib/cosmos/tools/table_manager/table_config.rb +9 -3
  297. data/lib/cosmos/tools/table_manager/table_manager.rb +27 -7
  298. data/lib/cosmos/tools/test_runner/results_writer.rb +6 -6
  299. data/lib/cosmos/tools/test_runner/test_runner.rb +4 -6
  300. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +4 -5
  301. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +1 -1
  302. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +1 -1
  303. data/lib/cosmos/tools/tlm_grapher/data_object_adders/housekeeping_data_object_adder.rb +23 -6
  304. data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +44 -3
  305. data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +20 -7
  306. data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +1 -1
  307. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +11 -4
  308. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_plot_editor.rb +2 -2
  309. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_realtime_thread.rb +1 -1
  310. data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +16 -0
  311. data/lib/cosmos/tools/tlm_viewer/screen.rb +36 -32
  312. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +59 -50
  313. data/lib/cosmos/tools/tlm_viewer/tlm_viewer_config.rb +2 -2
  314. data/lib/cosmos/tools/tlm_viewer/widgets.rb +1 -0
  315. data/lib/cosmos/tools/tlm_viewer/widgets/canvasvalue_widget.rb +1 -0
  316. data/lib/cosmos/tools/tlm_viewer/widgets/labelvalue_widget.rb +22 -4
  317. data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +9 -0
  318. data/lib/cosmos/tools/tlm_viewer/widgets/spacer_widget.rb +55 -0
  319. data/lib/cosmos/tools/tlm_viewer/widgets/vertical_widget.rb +3 -2
  320. data/lib/cosmos/tools/tlm_viewer/widgets/verticalbox_widget.rb +3 -2
  321. data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +12 -12
  322. data/lib/cosmos/top_level.rb +34 -24
  323. data/lib/cosmos/utilities/crc.rb +108 -6
  324. data/lib/cosmos/utilities/csv.rb +68 -14
  325. data/lib/cosmos/utilities/logger.rb +2 -2
  326. data/lib/cosmos/utilities/low_fragmentation_array.rb +9 -1
  327. data/lib/cosmos/version.rb +6 -6
  328. data/lib/cosmos/win32/win32_main.rb +50 -46
  329. data/run_gui_tests.bat +3 -1
  330. data/spec/conversions/unix_time_formatted_conversion_spec.rb +2 -2
  331. data/spec/conversions/unix_time_seconds_conversion_spec.rb +2 -2
  332. data/spec/core_ext/file_spec.rb +1 -1
  333. data/spec/core_ext/objectspace_spec.rb +12 -9
  334. data/spec/core_ext/string_spec.rb +6 -0
  335. data/spec/core_ext/time_spec.rb +10 -0
  336. data/spec/gui/line_graph/line_clip_spec.rb +226 -224
  337. data/spec/gui/qt_spec.rb +81 -79
  338. data/spec/install/config/system/system.txt +0 -6
  339. data/spec/install/config/targets/INST/cmd_tlm/inst_cmd_linc.txt +5 -5
  340. data/spec/install/config/targets/INST/cmd_tlm/inst_tlm_linc.txt +8 -8
  341. data/spec/install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
  342. data/{install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt → spec/install/config/targets/SYSTEM/cmd_tlm/system_cmds.txt} +8 -8
  343. data/spec/install/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
  344. data/spec/install/config/targets/{COSMOS → SYSTEM}/cmd_tlm_server.txt +2 -2
  345. data/spec/install/config/targets/SYSTEM/screens/status.txt +12 -0
  346. data/spec/install/config/targets/SYSTEM/target.txt +12 -0
  347. data/spec/interfaces/cmd_tlm_server_interface_spec.rb +9 -13
  348. data/spec/interfaces/interface_spec.rb +402 -18
  349. data/spec/interfaces/linc_interface_spec.rb +37 -39
  350. data/spec/interfaces/protocols/burst_protocol_spec.rb +300 -0
  351. data/spec/interfaces/protocols/crc_protocol_spec.rb +709 -0
  352. data/spec/interfaces/protocols/fixed_protocol_spec.rb +119 -0
  353. data/spec/interfaces/protocols/length_protocol_spec.rb +499 -0
  354. data/spec/interfaces/protocols/override_protocol_spec.rb +158 -0
  355. data/spec/interfaces/protocols/preidentified_protocol_spec.rb +149 -0
  356. data/spec/interfaces/protocols/template_protocol_spec.rb +218 -0
  357. data/spec/interfaces/protocols/terminated_protocol_spec.rb +174 -0
  358. data/spec/interfaces/serial_interface_spec.rb +35 -34
  359. data/spec/interfaces/simulated_target_interface_spec.rb +13 -13
  360. data/spec/interfaces/tcpip_client_interface_spec.rb +21 -16
  361. data/spec/interfaces/tcpip_server_interface_spec.rb +66 -69
  362. data/spec/interfaces/udp_interface_spec.rb +120 -55
  363. data/spec/io/serial_driver_spec.rb +41 -39
  364. data/spec/io/udp_sockets_spec.rb +13 -8
  365. data/spec/io/win32_serial_driver_spec.rb +62 -59
  366. data/spec/packet_logs/packet_log_reader_spec.rb +68 -47
  367. data/spec/packet_logs/packet_log_writer_spec.rb +7 -5
  368. data/spec/packets/commands_spec.rb +5 -5
  369. data/spec/packets/packet_spec.rb +2 -14
  370. data/spec/script/extract_spec.rb +21 -7
  371. data/spec/script/scripting_spec.rb +261 -6
  372. data/spec/script/telemetry_spec.rb +17 -9
  373. data/spec/spec_helper.rb +26 -10
  374. data/spec/streams/serial_stream_spec.rb +87 -82
  375. data/spec/streams/tcpip_client_stream_spec.rb +12 -4
  376. data/spec/streams/tcpip_socket_stream_spec.rb +5 -0
  377. data/spec/system/system_spec.rb +66 -50
  378. data/spec/system/target_spec.rb +33 -11
  379. data/spec/tools/cmd_tlm_server/api_spec.rb +5 -5
  380. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +75 -15
  381. data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +125 -5
  382. data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +244 -232
  383. data/spec/tools/cmd_tlm_server/commanding_spec.rb +18 -18
  384. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +124 -29
  385. data/spec/tools/cmd_tlm_server/interfaces_spec.rb +2 -2
  386. data/spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb +145 -0
  387. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +50 -10
  388. data/spec/tools/table_manager/tablemanager_core_spec.rb +0 -1
  389. data/spec/top_level/top_level_spec.rb +39 -11
  390. data/spec/utilities/csv_spec.rb +62 -20
  391. data/tasks/gemfile_stats.rake +6 -3
  392. data/test/performance/config/system/system_packets.txt +0 -1
  393. data/test/performance/config/system/system_threads.txt +0 -1
  394. metadata +177 -92
  395. data/autohotkey/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
  396. data/autohotkey/config/targets/COSMOS/cmd_tlm_server.txt +0 -6
  397. data/autohotkey/config/targets/COSMOS/target.txt +0 -5
  398. data/autohotkey/userpath.txt +0 -1
  399. data/demo/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
  400. data/demo/config/targets/COSMOS/screens/limits_change.txt +0 -20
  401. data/demo/config/targets/COSMOS/screens/version.txt +0 -19
  402. data/demo/config/targets/COSMOS/target.txt +0 -11
  403. data/demo/config/targets/META/cmd_tlm/meta_cmd.txt +0 -10
  404. data/demo/config/targets/META/cmd_tlm/meta_tlm.txt +0 -13
  405. data/demo/userpath.txt +0 -1
  406. data/install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
  407. data/install/config/targets/COSMOS/cmd_tlm_server.txt +0 -6
  408. data/install/config/targets/COSMOS/screens/limits_change.txt +0 -20
  409. data/install/config/targets/COSMOS/screens/version.txt +0 -19
  410. data/install/config/targets/COSMOS/target.txt +0 -9
  411. data/install/config/targets/SYSTEM/README.txt +0 -1
  412. data/install/userpath.txt +0 -1
  413. data/lib/cosmos/io/tcpip_server.rb +0 -571
  414. data/lib/cosmos/packet_logs/meta_packet_log_writer.rb +0 -107
  415. data/lib/cosmos/streams/burst_stream_protocol.rb +0 -25
  416. data/lib/cosmos/streams/preidentified_stream_protocol.rb +0 -118
  417. data/lib/cosmos/streams/stream_protocol.rb +0 -373
  418. data/lib/cosmos/streams/template_stream_protocol.rb +0 -140
  419. data/lib/cosmos/streams/terminated_stream_protocol.rb +0 -85
  420. data/spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +0 -41
  421. data/spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
  422. data/spec/install/config/targets/COSMOS/screens/limits_change.txt +0 -20
  423. data/spec/install/config/targets/COSMOS/screens/version.txt +0 -19
  424. data/spec/install/config/targets/COSMOS/target.txt +0 -5
  425. data/spec/install/config/targets/META/cmd_tlm/meta_cmd.txt +0 -4
  426. data/spec/install/config/targets/META/cmd_tlm/meta_tlm.txt +0 -4
  427. data/spec/install/userpath.txt +0 -1
  428. data/spec/interfaces/stream_interface_spec.rb +0 -157
  429. data/spec/io/tcpip_server_spec.rb +0 -338
  430. data/spec/packet_logs/meta_packet_log_writer_spec.rb +0 -170
  431. data/spec/streams/burst_stream_protocol_spec.rb +0 -32
  432. data/spec/streams/fixed_stream_protocol_spec.rb +0 -113
  433. data/spec/streams/length_stream_protocol_spec.rb +0 -300
  434. data/spec/streams/preidentified_stream_protocol_spec.rb +0 -121
  435. data/spec/streams/stream_protocol_spec.rb +0 -346
  436. data/spec/streams/template_stream_protocol_spec.rb +0 -156
  437. data/spec/streams/terminated_stream_protocol_spec.rb +0 -127
  438. data/test/performance/userpath.txt +0 -1
@@ -8,95 +8,97 @@
8
8
  # as published by the Free Software Foundation; version 3 with
9
9
  # attribution addendums as found in the LICENSE.txt
10
10
 
11
- require 'spec_helper'
12
- require 'cosmos/gui/qt'
11
+ if RUBY_ENGINE == 'ruby'
12
+ require 'spec_helper'
13
+ require 'cosmos/gui/qt'
13
14
 
14
- module Cosmos
15
+ module Cosmos
15
16
 
16
- describe Qt do
17
- describe "Cosmos.getColor" do
18
- it "returns a Qt::Color when given a Qt::Color" do
19
- expect(Cosmos.getColor(Qt::Color.new('red'))).to be_instance_of(Qt::Color)
20
- end
21
-
22
- it "returns a Qt::Pen when given a Qt::Pen" do
23
- expect(Cosmos.getColor(Qt::Pen.new)).to be_instance_of(Qt::Pen)
24
- end
25
-
26
- it "returns a Qt::LinearGradient when given a Qt::LinearGradient" do
27
- expect(Cosmos.getColor(Qt::LinearGradient.new)).to be_instance_of(Qt::LinearGradient)
28
- end
29
-
30
- context "when given a string" do
31
- it "processes 'white'" do
32
- expect(Cosmos.getColor('white')).to be_instance_of(Qt::Color)
33
- expect(Cosmos.getColor('white').rgb()).to eql 0xFFFFFFFF
17
+ describe Qt do
18
+ describe "Cosmos.getColor" do
19
+ it "returns a Qt::Color when given a Qt::Color" do
20
+ expect(Cosmos.getColor(Qt::Color.new('red'))).to be_instance_of(Qt::Color)
34
21
  end
35
- it "processes 'black'" do
36
- expect(Cosmos.getColor('black')).to be_instance_of(Qt::Color)
37
- expect(Cosmos.getColor('black').rgb()).to eql 0xFF000000
38
- end
39
- it "processes 'red'" do
40
- expect(Cosmos.getColor('red')).to be_instance_of(Qt::Color)
41
- expect(Cosmos.getColor('red').rgb()).to eql 0xFFFF0000
42
- end
43
- it "processes 'lime'" do
44
- expect(Cosmos.getColor('lime')).to be_instance_of(Qt::Color)
45
- expect(Cosmos.getColor('lime').rgb()).to eql 0xFF00FF00
46
- end
47
- it "processes 'blue'" do
48
- expect(Cosmos.getColor('blue')).to be_instance_of(Qt::Color)
49
- expect(Cosmos.getColor('blue').rgb()).to eql 0xFF0000FF
50
- end
51
- end
52
22
 
53
- context "when given a Qt::Enum" do
54
- it "processes Qt::white" do
55
- expect(Cosmos.getColor(Qt::white)).to be_instance_of(Qt::Color)
56
- expect(Cosmos.getColor(Qt::white).rgb()).to eql 0xFFFFFFFF
23
+ it "returns a Qt::Pen when given a Qt::Pen" do
24
+ expect(Cosmos.getColor(Qt::Pen.new)).to be_instance_of(Qt::Pen)
57
25
  end
58
- it "processes Qt::black" do
59
- expect(Cosmos.getColor(Qt::black)).to be_instance_of(Qt::Color)
60
- expect(Cosmos.getColor(Qt::black).rgb()).to eql 0xFF000000
61
- end
62
- it "processes Qt::red" do
63
- expect(Cosmos.getColor(Qt::red)).to be_instance_of(Qt::Color)
64
- expect(Cosmos.getColor(Qt::red).rgb()).to eql 0xFFFF0000
65
- end
66
- it "processes Qt::green" do
67
- expect(Cosmos.getColor(Qt::green)).to be_instance_of(Qt::Color)
68
- expect(Cosmos.getColor(Qt::green).rgb()).to eql 0xFF00FF00
69
- end
70
- it "processes Qt::blue" do
71
- expect(Cosmos.getColor(Qt::blue)).to be_instance_of(Qt::Color)
72
- expect(Cosmos.getColor(Qt::blue).rgb()).to eql 0xFF0000FF
73
- end
74
- end
75
26
 
76
- context "when given rgb values" do
77
- it "processes FF,FF,FF" do
78
- expect(Cosmos.getColor(0xFF,0xFF,0xFF)).to be_instance_of(Qt::Color)
79
- expect(Cosmos.getColor(0xFF,0xFF,0xFF).rgb()).to eql 0xFFFFFFFF
80
- end
81
- it "processes 00,00,00 " do
82
- expect(Cosmos.getColor(0,0,0)).to be_instance_of(Qt::Color)
83
- expect(Cosmos.getColor(0,0,0).rgb()).to eql 0xFF000000
27
+ it "returns a Qt::LinearGradient when given a Qt::LinearGradient" do
28
+ expect(Cosmos.getColor(Qt::LinearGradient.new)).to be_instance_of(Qt::LinearGradient)
84
29
  end
85
- it "processes FF,00,00" do
86
- expect(Cosmos.getColor(0xFF,0,0)).to be_instance_of(Qt::Color)
87
- expect(Cosmos.getColor(0xFF,0,0).rgb()).to eql 0xFFFF0000
30
+
31
+ context "when given a string" do
32
+ it "processes 'white'" do
33
+ expect(Cosmos.getColor('white')).to be_instance_of(Qt::Color)
34
+ expect(Cosmos.getColor('white').rgb()).to eql 0xFFFFFFFF
35
+ end
36
+ it "processes 'black'" do
37
+ expect(Cosmos.getColor('black')).to be_instance_of(Qt::Color)
38
+ expect(Cosmos.getColor('black').rgb()).to eql 0xFF000000
39
+ end
40
+ it "processes 'red'" do
41
+ expect(Cosmos.getColor('red')).to be_instance_of(Qt::Color)
42
+ expect(Cosmos.getColor('red').rgb()).to eql 0xFFFF0000
43
+ end
44
+ it "processes 'lime'" do
45
+ expect(Cosmos.getColor('lime')).to be_instance_of(Qt::Color)
46
+ expect(Cosmos.getColor('lime').rgb()).to eql 0xFF00FF00
47
+ end
48
+ it "processes 'blue'" do
49
+ expect(Cosmos.getColor('blue')).to be_instance_of(Qt::Color)
50
+ expect(Cosmos.getColor('blue').rgb()).to eql 0xFF0000FF
51
+ end
88
52
  end
89
- it "processes 00,FF,00" do
90
- expect(Cosmos.getColor(0,0xFF,0)).to be_instance_of(Qt::Color)
91
- expect(Cosmos.getColor(0,0xFF,0).rgb()).to eql 0xFF00FF00
53
+
54
+ context "when given a Qt::Enum" do
55
+ it "processes Qt::white" do
56
+ expect(Cosmos.getColor(Qt::white)).to be_instance_of(Qt::Color)
57
+ expect(Cosmos.getColor(Qt::white).rgb()).to eql 0xFFFFFFFF
58
+ end
59
+ it "processes Qt::black" do
60
+ expect(Cosmos.getColor(Qt::black)).to be_instance_of(Qt::Color)
61
+ expect(Cosmos.getColor(Qt::black).rgb()).to eql 0xFF000000
62
+ end
63
+ it "processes Qt::red" do
64
+ expect(Cosmos.getColor(Qt::red)).to be_instance_of(Qt::Color)
65
+ expect(Cosmos.getColor(Qt::red).rgb()).to eql 0xFFFF0000
66
+ end
67
+ it "processes Qt::green" do
68
+ expect(Cosmos.getColor(Qt::green)).to be_instance_of(Qt::Color)
69
+ expect(Cosmos.getColor(Qt::green).rgb()).to eql 0xFF00FF00
70
+ end
71
+ it "processes Qt::blue" do
72
+ expect(Cosmos.getColor(Qt::blue)).to be_instance_of(Qt::Color)
73
+ expect(Cosmos.getColor(Qt::blue).rgb()).to eql 0xFF0000FF
74
+ end
92
75
  end
93
- it "processes 00,00,FF" do
94
- expect(Cosmos.getColor(0,0,0xFF)).to be_instance_of(Qt::Color)
95
- expect(Cosmos.getColor(0,0,0xFF).rgb()).to eql 0xFF0000FF
76
+
77
+ context "when given rgb values" do
78
+ it "processes FF,FF,FF" do
79
+ expect(Cosmos.getColor(0xFF,0xFF,0xFF)).to be_instance_of(Qt::Color)
80
+ expect(Cosmos.getColor(0xFF,0xFF,0xFF).rgb()).to eql 0xFFFFFFFF
81
+ end
82
+ it "processes 00,00,00 " do
83
+ expect(Cosmos.getColor(0,0,0)).to be_instance_of(Qt::Color)
84
+ expect(Cosmos.getColor(0,0,0).rgb()).to eql 0xFF000000
85
+ end
86
+ it "processes FF,00,00" do
87
+ expect(Cosmos.getColor(0xFF,0,0)).to be_instance_of(Qt::Color)
88
+ expect(Cosmos.getColor(0xFF,0,0).rgb()).to eql 0xFFFF0000
89
+ end
90
+ it "processes 00,FF,00" do
91
+ expect(Cosmos.getColor(0,0xFF,0)).to be_instance_of(Qt::Color)
92
+ expect(Cosmos.getColor(0,0xFF,0).rgb()).to eql 0xFF00FF00
93
+ end
94
+ it "processes 00,00,FF" do
95
+ expect(Cosmos.getColor(0,0,0xFF)).to be_instance_of(Qt::Color)
96
+ expect(Cosmos.getColor(0,0,0xFF).rgb()).to eql 0xFF0000FF
97
+ end
96
98
  end
97
- end
98
99
 
100
+ end
99
101
  end
100
- end
101
102
 
102
- end # module Cosmos
103
+ end # module Cosmos
104
+ end
@@ -3,8 +3,6 @@
3
3
 
4
4
  # AUTO_DECLARE_TARGETS
5
5
  DECLARE_TARGET INST
6
- DECLARE_TARGET COSMOS
7
- DECLARE_TARGET META
8
6
  DECLARE_TARGET SYSTEM
9
7
 
10
8
  # Ethernet Ports
@@ -24,10 +22,6 @@ PATH TABLES ./outputs/tables
24
22
  PATH HANDBOOKS ./outputs/handbooks
25
23
  PATH PROCEDURES ./procedures
26
24
 
27
- # Command and Telemetry Database Version (Optional)
28
- # CMD_TLM_VERSION version
29
- CMD_TLM_VERSION "Demo Version"
30
-
31
25
  # DISABLE_DNS
32
26
 
33
27
  ALLOW_ACCESS ALL
@@ -1,28 +1,28 @@
1
- COMMAND INST COSMOS_ERROR_IGNORE LITTLE_ENDIAN
1
+ COMMAND INST COSMOS_ERROR_IGNORE BIG_ENDIAN
2
2
  PARAMETER GSE_HDR_LEN 0 16 UINT 0 65535 20
3
3
  ID_PARAMETER GSE_HDR_ID 16 16 UINT 0 65535 1001
4
4
  PARAMETER GSE_HDR_GUID 32 128 BLOCK ""
5
5
  PARAMETER CODE 160 32 INT -2147483648 2147483647 0 "Error Code"
6
6
 
7
- COMMAND INST COSMOS_ERROR_HANDLE LITTLE_ENDIAN
7
+ COMMAND INST COSMOS_ERROR_HANDLE BIG_ENDIAN
8
8
  PARAMETER GSE_HDR_LEN 0 16 UINT 0 65535 20
9
9
  ID_PARAMETER GSE_HDR_ID 16 16 UINT 0 65535 1002
10
10
  PARAMETER GSE_HDR_GUID 32 128 BLOCK ""
11
11
  PARAMETER CODE 160 32 INT -2147483648 2147483647 0 "Error Code"
12
12
 
13
- COMMAND INST COSMOS_HANDSHAKE_EN LITTLE_ENDIAN
13
+ COMMAND INST COSMOS_HANDSHAKE_EN BIG_ENDIAN
14
14
  PARAMETER GSE_HDR_LEN 0 16 UINT 0 65535 17
15
15
  ID_PARAMETER GSE_HDR_ID 16 16 UINT 0 65535 1003
16
16
  PARAMETER GSE_HDR_GUID 32 128 BLOCK ""
17
17
  PARAMETER DUMMY 160 8 UINT 0 255 0
18
18
 
19
- COMMAND INST COSMOS_HANDSHAKE_DS LITTLE_ENDIAN
19
+ COMMAND INST COSMOS_HANDSHAKE_DS BIG_ENDIAN
20
20
  PARAMETER GSE_HDR_LEN 0 16 UINT 0 65535 17
21
21
  ID_PARAMETER GSE_HDR_ID 16 16 UINT 0 65535 1004
22
22
  PARAMETER GSE_HDR_GUID 32 128 BLOCK ""
23
23
  PARAMETER DUMMY 160 8 UINT 0 255 0
24
24
 
25
- COMMAND INST LINC_COMMAND LITTLE_ENDIAN
25
+ COMMAND INST LINC_COMMAND BIG_ENDIAN
26
26
  PARAMETER GSE_HDR_LEN 0 16 UINT 0 65535 17
27
27
  ID_PARAMETER GSE_HDR_ID 16 16 UINT 0 65535 1005
28
28
  PARAMETER GSE_HDR_GUID 32 128 BLOCK ""
@@ -1,25 +1,25 @@
1
- TELEMETRY INST HANDSHAKE LITTLE_ENDIAN
1
+ TELEMETRY INST HANDSHAKE BIG_ENDIAN
2
2
  ITEM GSE_HDR_LEN 0 16 UINT
3
3
  ID_ITEM GSE_HDR_ID 16 16 UINT 1001
4
4
  ITEM GSE_HDR_GUID 32 128 BLOCK
5
5
  ITEM ORIGIN 160 8 UINT
6
- STATE "RMT" 0
7
- STATE "LCL" 1
6
+ STATE RMT 0
7
+ STATE LCL 1
8
8
  ITEM STATUS 168 8 UINT
9
- STATE "OK" 0
10
- STATE "ERROR" 1
9
+ STATE OK 0
10
+ STATE ERROR 1
11
11
  ITEM CODE 176 32 INT
12
12
  ITEM TIME_SECONDS 208 32 UINT "Timestamp seconds (UNIX epoch)"
13
13
  ITEM TIME_MICROSECONDS 240 32 UINT "Timestamp microseconds."
14
14
  ITEM DATA 272 0 BLOCK "Command data."
15
15
 
16
- TELEMETRY INST ERROR LITTLE_ENDIAN "Standard LabVIEW Error Cluster."
16
+ TELEMETRY INST ERROR BIG_ENDIAN "Standard LabVIEW Error Cluster."
17
17
  ITEM GSE_HDR_LEN 0 16 UINT
18
18
  ID_ITEM GSE_HDR_ID 16 16 UINT 1002
19
19
  ITEM GSE_HDR_GUID 32 128 BLOCK
20
20
  ITEM STATUS 160 8 UINT "TRUE if an error occurred or FALSE to indicate a warning or that no error occurred."
21
- STATE "OK" 0
22
- STATE "ERROR" 1
21
+ STATE OK 0
22
+ STATE ERROR 1
23
23
  ITEM CODE 168 32 INT "The error or warning code."
24
24
  ITEM SOURCE 200 0 STRING "Describes the origin of the error or warning."
25
25
 
@@ -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"
@@ -1,6 +1,6 @@
1
1
  # This is a segment of the main cmd_tlm_server.txt that will be used with
2
2
  # AUTO_INTERFACE_TARGETS or INTERFACE_TARGET
3
3
 
4
- INTERFACE COSMOSINT cmd_tlm_server_interface.rb
5
- TARGET COSMOS
4
+ INTERFACE SYSTEM_INT cmd_tlm_server_interface.rb
5
+ TARGET SYSTEM
6
6
  DISABLE_DISCONNECT
@@ -0,0 +1,12 @@
1
+ SCREEN AUTO AUTO 0.5
2
+
3
+ VERTICAL
4
+
5
+ TITLE "Status"
6
+
7
+ LABELVALUE SYSTEM META COSMOS_VERSION
8
+ LABELVALUE INST HEALTH_STATUS COLLECTS
9
+ LABELVALUE INST2 HEALTH_STATUS COLLECTS
10
+ END
11
+
12
+
@@ -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
@@ -68,7 +68,7 @@ module Cosmos
68
68
  end
69
69
 
70
70
  describe "read" do
71
- it "returns the COSMOS VERSION packet and then COSMOS LIMITS_CHANGE" do
71
+ it "returns SYSTEM LIMITS_CHANGE" do
72
72
  @ctsi.connect
73
73
 
74
74
  pkt = Packet.new("TGT","PKT")
@@ -77,9 +77,6 @@ module Cosmos
77
77
  pi.limits.state = :GREEN
78
78
  @cts.limits_change_callback(pkt, pi, :RED, 100, true)
79
79
 
80
- result = @ctsi.read
81
- expect(result.read('CTDB')).to eql "Demo Version"
82
-
83
80
  result = @ctsi.read
84
81
  expect(result.read('TARGET')).to eql "TGT"
85
82
  expect(result.read('PACKET')).to eql "PKT"
@@ -91,54 +88,54 @@ module Cosmos
91
88
 
92
89
  describe "write" do
93
90
  it "raises an error if the packet is not identified" do
94
- pkt = Packet.new("COSMOS","STARTLOGGING")
91
+ pkt = Packet.new("COSMOS", "STARTLOGGING")
95
92
  pkt.buffer = "\x00\x00\x00\x00\x00\x00\x00\x00"
96
93
  expect { @ctsi.write(pkt) }.to raise_error(/Unknown command/)
97
94
  end
98
95
 
99
96
  it "raises an error if the command is not recognized" do
100
- pkt = Packet.new("COSMOS","DOSOMETHING")
97
+ pkt = Packet.new("COSMOS", "DOSOMETHING")
101
98
  pkt.buffer = "\x00\x00\x00\x00\x00\x00\x00\x00"
102
99
  expect { @ctsi.write(pkt) }.to raise_error(/Unknown command/)
103
100
  end
104
101
 
105
102
  it "accepts STARTLOGGING" do
106
- pkt = System.commands.packet("COSMOS","STARTLOGGING")
103
+ pkt = System.commands.packet("SYSTEM","STARTLOGGING")
107
104
  pkt.restore_defaults
108
105
  pkt.write('INTERFACE','DEFAULT')
109
106
  @ctsi.write(pkt)
110
107
  end
111
108
 
112
109
  it "accepts STARTCMDLOG" do
113
- pkt = System.commands.packet("COSMOS","STARTCMDLOG")
110
+ pkt = System.commands.packet("SYSTEM","STARTCMDLOG")
114
111
  pkt.restore_defaults
115
112
  pkt.write('INTERFACE','DEFAULT')
116
113
  @ctsi.write(pkt)
117
114
  end
118
115
 
119
116
  it "accepts STARTTLMLOG" do
120
- pkt = System.commands.packet("COSMOS","STARTTLMLOG")
117
+ pkt = System.commands.packet("SYSTEM","STARTTLMLOG")
121
118
  pkt.restore_defaults
122
119
  pkt.write('INTERFACE','DEFAULT')
123
120
  @ctsi.write(pkt)
124
121
  end
125
122
 
126
123
  it "accepts STOPLOGGING" do
127
- pkt = System.commands.packet("COSMOS","STOPLOGGING")
124
+ pkt = System.commands.packet("SYSTEM","STOPLOGGING")
128
125
  pkt.restore_defaults
129
126
  pkt.write('INTERFACE','DEFAULT')
130
127
  @ctsi.write(pkt)
131
128
  end
132
129
 
133
130
  it "accepts STOPCMDLOG" do
134
- pkt = System.commands.packet("COSMOS","STOPCMDLOG")
131
+ pkt = System.commands.packet("SYSTEM","STOPCMDLOG")
135
132
  pkt.restore_defaults
136
133
  pkt.write('INTERFACE','DEFAULT')
137
134
  @ctsi.write(pkt)
138
135
  end
139
136
 
140
137
  it "accepts STOPTLMLOG" do
141
- pkt = System.commands.packet("COSMOS","STOPTLMLOG")
138
+ pkt = System.commands.packet("SYSTEM","STOPTLMLOG")
142
139
  pkt.restore_defaults
143
140
  pkt.write('INTERFACE','DEFAULT')
144
141
  @ctsi.write(pkt)
@@ -147,4 +144,3 @@ module Cosmos
147
144
 
148
145
  end
149
146
  end
150
-