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
@@ -0,0 +1,44 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ LABEL "Drag the tlm screen border to change its"
4
+ LABEL "size to see the effect of SPACER widgets"
5
+
6
+ # NOTE: The "vPack" flag must be set to false for the VERTICALBOX,
7
+ # or the vertical spacers will not be respected because a "stretch"
8
+ # will be added at the bottom of the widget.
9
+ VERTICALBOX "" 3 false
10
+
11
+ HORIZONTALBOX
12
+ SPACER 100 0 FIXED PREFERRED
13
+ LABEL "<- H Fixed | H Expanding ->"
14
+ SPACER 100 0 EXPANDING PREFERRED
15
+ LABEL "<- H Expanding"
16
+ END
17
+ SETTING BORDERCOLOR red
18
+
19
+ LABEL "V Fixed below"
20
+ SPACER 0 100 PREFERRED FIXED
21
+ Label "V Fixed above"
22
+
23
+ HORIZONTALBOX
24
+ LABEL "H Expanding ->"
25
+ SPACER 100 0 EXPANDING PREFERRED
26
+ LABEL "<- H Expanding"
27
+ END
28
+ SETTING BORDERCOLOR blue
29
+
30
+ LABEL "V Expanding below"
31
+ SPACER 0 100 PREFERRED EXPANDING
32
+ LABEL "V Expanding above"
33
+
34
+ HORIZONTALBOX
35
+ SPACER 100 0 EXPANDING PREFERRED
36
+ LABEL "<- H Expanding | H Fixed ->"
37
+ SPACER 100 0 FIXED PREFERRED
38
+ LABEL "<- H Fixed | H Expanding ->"
39
+ SPACER 100 0 EXPANDING PREFERRED
40
+ END
41
+ SETTING BORDERCOLOR green
42
+
43
+ END
44
+ SETTING BORDERCOLOR black
@@ -0,0 +1,78 @@
1
+ SCREEN AUTO AUTO 1.0
2
+
3
+ LABEL "Drag the tlm screen border to change its"
4
+ LABEL "size to see the effect of SPACER widgets"
5
+
6
+ MATRIXBYCOLUMNS 3
7
+
8
+ # ROW 1
9
+ HORIZONTALBOX
10
+ LABEL "H Minimum ->"
11
+ END
12
+ SETTING BORDERCOLOR blue
13
+
14
+ SPACER 300 200 MINIMUM MINIMUM
15
+
16
+ HORIZONTALBOX
17
+ LABEL "<- H Minimum "
18
+ END
19
+ SETTING BORDERCOLOR red
20
+
21
+ # ROW 2
22
+ HORIZONTALBOX
23
+ LABEL ""
24
+ END
25
+ SETTING BORDERCOLOR green
26
+
27
+ HORIZONTALBOX
28
+ LABEL "V Minimum above"
29
+ END
30
+ SETTING BORDERCOLOR red
31
+
32
+ HORIZONTALBOX
33
+ LABEL ""
34
+ END
35
+ SETTING BORDERCOLOR blue
36
+
37
+ # ROW 3
38
+ HORIZONTALBOX
39
+ LABEL "V Expanding below"
40
+ END
41
+ SETTING BORDERCOLOR red
42
+
43
+ HORIZONTALBOX
44
+ LABEL "V Expanding below"
45
+ END
46
+ SETTING BORDERCOLOR blue
47
+
48
+ HORIZONTALBOX
49
+ LABEL "V Expanding below"
50
+ END
51
+ SETTING BORDERCOLOR green
52
+
53
+ # ROW 4
54
+ SPACER 0 50 FIXED EXPANDING
55
+
56
+ SPACER 0 50 FIXED EXPANDING
57
+
58
+ SPACER 0 50 FIXED EXPANDING
59
+
60
+ # ROW 5
61
+ HORIZONTALBOX
62
+ LABEL "V Expanding above"
63
+ END
64
+ SETTING BORDERCOLOR green
65
+
66
+ HORIZONTALBOX
67
+ LABEL "V Expanding above"
68
+ END
69
+ SETTING BORDERCOLOR red
70
+
71
+ HORIZONTALBOX
72
+ LABEL "V Expanding above"
73
+ END
74
+ SETTING BORDERCOLOR blue
75
+
76
+ END
77
+
78
+
@@ -38,7 +38,6 @@ TABBOOK
38
38
 
39
39
  VERTICALBOX
40
40
  LABELVALUE INST ADCS TIMEFORMATTED WITH_UNITS 30
41
- LABELVALUE COSMOS VERSION COSMOS
42
41
  END
43
42
  END
44
43
 
@@ -62,7 +61,6 @@ TABBOOK
62
61
 
63
62
  VERTICALBOX
64
63
  LABELVALUE INST HEALTH_STATUS TIMEFORMATTED WITH_UNITS 30
65
- LABELVALUE COSMOS VERSION COSMOS
66
64
  END
67
65
  END
68
66
  END
@@ -0,0 +1,3 @@
1
+ COMMAND "0.00" "INST ABORT"
2
+ COMMAND "0.00" "INST CLEAR"
3
+ COMMAND "0.00" "INST COLLECT with TYPE 'NORMAL', DURATION 10.0, OPCODE 0, TEMP 12.0"
@@ -0,0 +1,9 @@
1
+ File Definition, C:\git\COSMOS\demo\config\targets\INST\tools\table_manager\EventAction_def.txt
2
+ File Binary, C:\git\COSMOS\demo\config\targets\INST\tables/EventAction.dat
3
+
4
+ EVENT ACTION
5
+ Item, EVENT, ACTION
6
+ 1, 0, NEW,
7
+ 2, 0, NEW,
8
+ 3, 0, NEW,
9
+
@@ -0,0 +1,20 @@
1
+ File Definition, C:\git\COSMOS\demo\config\targets\INST\tools\table_manager\McConfigTable_def.txt
2
+ File Binary, C:\git\COSMOS\demo\config\targets\INST\tables/McConfigTable.dat
3
+
4
+ MC CONFIGURATION
5
+ Label, Value
6
+ SCRUB REGION 1 START ADDR, 0x0,
7
+ SCRUB REGION 1 END ADDR, 0x3FFFFFF,
8
+ SCRUB REGION 1 ERROR CHECK SIZE, 0x10000,
9
+ SCRUB REGION 1 THROTTLE COUNT, 0x1770,
10
+ SCRUB REGION 1 THROTTLE TICKS, 0x2,
11
+ SCRUB REGION 2 START ADDR, 0x0,
12
+ SCRUB REGION 2 END ADDR, 0x3FFFFF,
13
+ SCRUB REGION 2 ERROR CHECK SIZE, 0x10000,
14
+ SCRUB REGION 2 THROTTLE COUNT, 6000,
15
+ SCRUB REGION 2 THROTTLE TICKS, 2,
16
+ DUMP PACKET THROTTLE (SEC), 2,
17
+ PAD1, 4294967295,
18
+ MEMORY SCRUBBING, ENABLE,
19
+ SIOC MEMORY CONFIG, 3,
20
+
@@ -1,5 +1,6 @@
1
1
  # Requires for limits responses and custom conversion classes
2
2
  REQUIRE example_limits_response.rb
3
+ REQUIRE sim_inst.rb
3
4
 
4
5
  # Ignored Parameters
5
6
  # IGNORE_PARAMETER parameter_name
@@ -31,3 +32,6 @@ IGNORE_ITEM RECEIVED_TIMEFORMATTED
31
32
  # alphabetical order
32
33
  COMMANDS inst_cmds.txt
33
34
  TELEMETRY inst_tlm.txt
35
+
36
+ # Automatically substitute the target name in screen definitions
37
+ AUTO_SCREEN_SUBSTITUTE
@@ -0,0 +1,2 @@
1
+ COMPONENT "INST Health Status" inst_dump_component.rb
2
+ PACKET INST HEALTH_STATUS
@@ -0,0 +1,2 @@
1
+ COMPONENT "INST2 Health Status" inst_dump_component.rb
2
+ PACKET INST2 HEALTH_STATUS
@@ -0,0 +1,6 @@
1
+ TABLE "Event Action" LITTLE_ENDIAN TWO_DIMENSIONAL 3
2
+ APPEND_PARAMETER "Event" 16 UINT MIN MAX 0
3
+ APPEND_PARAMETER "Action" 32 INT 1 2 2
4
+ STATE OLD 1
5
+ STATE NEW 2
6
+
@@ -0,0 +1,38 @@
1
+ TABLE "MC Configuration" BIG_ENDIAN ONE_DIMENSIONAL "Memory Control Configuration Table"
2
+ APPEND_PARAMETER "Scrub Region 1 Start Addr" 32 UINT 0 0x03FFFFFB 0
3
+ FORMAT_STRING "0x%0X"
4
+ APPEND_PARAMETER "Scrub Region 1 End Addr" 32 UINT 0 0x03FFFFFF 0x03FFFFFF
5
+ FORMAT_STRING "0x%0X"
6
+ APPEND_PARAMETER "Scrub Region 1 Error Check Size" 32 UINT 0 0x03FFFFFB 0x10000
7
+ FORMAT_STRING "0x%0X"
8
+ APPEND_PARAMETER "Scrub Region 1 Throttle Count" 32 UINT 0 0x03FFFFFF 6000
9
+ FORMAT_STRING "0x%0X"
10
+ APPEND_PARAMETER "Scrub Region 1 Throttle Ticks" 32 UINT 0 0x0FFFFFFFF 2
11
+ FORMAT_STRING "0x%0X"
12
+ APPEND_PARAMETER "Scrub Region 2 Start Addr" 32 UINT 0 0x03FFFFB 0
13
+ FORMAT_STRING "0x%0X"
14
+ APPEND_PARAMETER "Scrub Region 2 End Addr" 32 UINT 0 0x03FFFFF 0x03FFFFF
15
+ FORMAT_STRING "0x%0X"
16
+ APPEND_PARAMETER "Scrub Region 2 Error Check Size" 32 UINT 0 0x03FFFFF 0x10000
17
+ FORMAT_STRING "0x%0X"
18
+ APPEND_PARAMETER "Scrub Region 2 Throttle Count" 32 UINT 0 0x03FFFFF 6000
19
+ APPEND_PARAMETER "Scrub Region 2 Throttle Ticks" 32 UINT 0 0x0FFFFFFFF 2
20
+ APPEND_PARAMETER "Dump Packet Throttle (sec)" 32 UINT 0 0x0FFFFFFFF 2 "Number of seconds to wait between dumping large packets"
21
+ APPEND_PARAMETER "Pad1" 32 UINT MIN MAX 0xFFFFFFFF
22
+ HIDDEN
23
+ APPEND_PARAMETER "Memory Scrubbing" 8 UINT 0 1 1
24
+ STATE DISABLE 0
25
+ STATE ENABLE 1
26
+ APPEND_PARAMETER "SIOC Memory Config" 8 UINT 1 3 3
27
+ GENERIC_WRITE_CONVERSION_START
28
+ if packet.read("Memory Scrubbing") == 'DISABLE'
29
+ packet.get_item("SIOC Memory Config").range = (10..20)
30
+ else
31
+ packet.get_item("SIOC Memory Config").range = (1..3)
32
+ end
33
+ value
34
+ GENERIC_WRITE_CONVERSION_END
35
+ APPEND_PARAMETER "String" 32 String 'TEST'
36
+ APPEND_PARAMETER "Pad" 16 UINT 0 0 0
37
+ HIDDEN
38
+
@@ -1,7 +1,11 @@
1
- LIMITS_GROUP FIRST
1
+ LIMITS_GROUP TEMP1
2
2
  LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1
3
- LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3
4
3
 
5
- LIMITS_GROUP SECOND
4
+ LIMITS_GROUP TEMP234
6
5
  LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2
6
+ LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3
7
7
  LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP4
8
+
9
+ LIMITS_GROUP GROUND
10
+ LIMITS_GROUP_ITEM INST HEALTH_STATUS GROUND1STATUS
11
+ LIMITS_GROUP_ITEM INST HEALTH_STATUS GROUND2STATUS
@@ -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,39 @@
1
+ # encoding: ascii-8bit
2
+
3
+ # Copyright 2014 Ball Aerospace & Technologies Corp.
4
+ # All Rights Reserved.
5
+ #
6
+ # This program is free software; you can modify and/or redistribute it
7
+ # under the terms of the GNU General Public License
8
+ # as published by the Free Software Foundation; version 3 with
9
+ # attribution addendums as found in the LICENSE.txt
10
+
11
+ require 'cosmos/tools/cmd_tlm_server/limits_groups_background_task'
12
+
13
+ module Cosmos
14
+ class LimitsGroups < LimitsGroupsBackgroundTask
15
+ def initialize(initial_delay)
16
+ super(initial_delay)
17
+ @temp1_enable_code = Proc.new do
18
+ enable_limits_group('GROUND')
19
+ end
20
+ @temp1_disable_code = Proc.new do
21
+ disable_limits_group('GROUND')
22
+ end
23
+ end
24
+
25
+ def check_temp1
26
+ process_group(3, @temp1_enable_code, @temp1_disable_code) do
27
+ tlm("INST HEALTH_STATUS TEMP1") > 0
28
+ end
29
+ end
30
+
31
+ def check_temp234
32
+ process_group(5) do
33
+ (tlm("INST HEALTH_STATUS TEMP2") > 0) ||
34
+ (tlm("INST HEALTH_STATUS TEMP3") > 0) ||
35
+ (tlm("INST HEALTH_STATUS TEMP4") > 0)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -4,7 +4,7 @@ VERTICAL
4
4
 
5
5
  TITLE "Status"
6
6
 
7
- LABELVALUE COSMOS VERSION COSMOS
7
+ LABELVALUE SYSTEM META COSMOS_VERSION
8
8
  LABELVALUE INST HEALTH_STATUS COLLECTS
9
9
  LABELVALUE INST2 HEALTH_STATUS COLLECTS
10
10
  END
@@ -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
@@ -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 TEMPLATED_INT templated_interface.rb localhost 5025 5025 5.0 5.0 TEMPLATE 0xA 0xA
4
+ INTERFACE TEMPLATED_INT templated_interface.rb localhost 5025 5025 5.0 nil TEMPLATE 0xA 0xA
5
5
  TARGET TEMPLATED
6
6
  DONT_CONNECT
@@ -28,7 +28,11 @@ module Cosmos
28
28
  @sleeper = Sleeper.new
29
29
  @polling_thread = Thread.current
30
30
  begin
31
- while connected?
31
+ # Wait for the connection to actually occur
32
+ while !connected?
33
+ @sleeper.sleep(1)
34
+ end
35
+ loop do
32
36
  cmd("#{@target_names[0]} GET_SETPT_VOLTAGE")
33
37
  break if @sleeper.sleep(1)
34
38
  end
@@ -42,8 +46,8 @@ module Cosmos
42
46
 
43
47
  def disconnect
44
48
  super()
45
- # Note: This must be after super or the disconnect process will be interrupted by killing
46
- # the thread
49
+ # Note: This must be after super or the disconnect process
50
+ # will be interrupted by killing the thread
47
51
  Cosmos.kill_thread(self, @polling_thread) if Thread.current != @polling_thread
48
52
  @polling_thread = nil
49
53
  end
@@ -52,5 +56,4 @@ module Cosmos
52
56
  @sleeper.cancel
53
57
  end
54
58
  end
55
-
56
- end # module Cosmos
59
+ end