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,117 @@
1
+ ---
2
+ TITLE:
3
+ summary: Sets the title of the COSMOS Launcher
4
+ parameters:
5
+ - name: Title
6
+ required: true
7
+ description: Launcher title. Default is "COSMOS Launcher".
8
+ values: .+
9
+ TOOL_FONT:
10
+ summary: Sets the font used for tool buttons
11
+ warning: Only set the TOOL_FONT once as the last encountered setting will apply
12
+ to all button labels
13
+ parameters:
14
+ - name: Font Family
15
+ required: true
16
+ description: The font family to use
17
+ values: ["Arial", "Calibri", "Cambria", "Candara", "Castellar", "Centaur", "Century", "Chiller", "Consolas", "Constantia", "Courier", "Courier New", "Dotum", "Elephant", "Euphemia", "Fixedsys", "Georgia", "Impact", "Lucida", "Papyrus", "Rockwell", "Rod", "System", "Tahoma", "Terminal", "Times New Roman", "Verdana", "Wide Latin"]
18
+ - name: Font Size
19
+ required: true
20
+ description: The size of the font in standard points
21
+ values: \d+
22
+ LABEL_FONT:
23
+ summary: Sets the font used for labels
24
+ warning: Only set the LABEL_FONT once as the last encountered setting will apply
25
+ to all text labels
26
+ parameters:
27
+ - name: Font Family
28
+ required: true
29
+ description: The font family to use
30
+ values: ["Arial", "Calibri", "Cambria", "Candara", "Castellar", "Centaur", "Century", "Chiller", "Consolas", "Constantia", "Courier", "Courier New", "Dotum", "Elephant", "Euphemia", "Fixedsys", "Georgia", "Impact", "Lucida", "Papyrus", "Rockwell", "Rod", "System", "Tahoma", "Terminal", "Times New Roman", "Verdana", "Wide Latin"]
31
+ - name: Font Size
32
+ required: true
33
+ description: The size of the font in standard points
34
+ values: \d+
35
+ LABEL:
36
+ summary: Creates a label of text in the current font style
37
+ parameters:
38
+ - name: Text
39
+ required: true
40
+ description: The text of the label
41
+ values: .+
42
+ DIVIDER:
43
+ summary: Creates a horizontal line between tools
44
+ NUM_COLUMNS:
45
+ summary: Specifies how many launcher buttons should be created per row
46
+ parameters:
47
+ - name: Columns
48
+ required: true
49
+ description: The number of launcher buttons per row before Launcher automatically
50
+ creates a new row of buttons. Default is 4.
51
+ values: \d+
52
+ TOOL:
53
+ summary: Create a new tool launcher button
54
+ parameters:
55
+ - name: Button Text
56
+ required: true
57
+ description: Label that is put on the button that launches the tool
58
+ values: .+
59
+ - name: Shell Command
60
+ required: true
61
+ description: Command that is executed to launch the tool. (The same thing you
62
+ would type at a command terminal). Note that you can include tool parameters
63
+ here which will be applied when the tool starts.
64
+ values: .+
65
+ - name: Icon Filename
66
+ required: false
67
+ description: Filename of a an icon located in the data directory. Passing 'nil'
68
+ or an empty string '' will result in Launcher using the default COSMOS icon.
69
+ values: .*
70
+ - name: Tool Parameters
71
+ required: false
72
+ description: Tool parameters as you would type on the command line.
73
+ Specifying parameters here rather than in the 'Shell Command' parameter
74
+ will cause a dialog box to appear which allows the user to edit parameters
75
+ if desired. Expected to be in parameter name/parameter value pairs,
76
+ e.g. --config filename.txt.
77
+ values: .*
78
+ warning: The full configuration option name must be used rather than the short
79
+ name. These parameters will override any parameters specified in the Shell
80
+ Command.
81
+ modifiers:
82
+ DONT_CAPTURE_IO:
83
+ summary: Don't capture IO when running the command
84
+ MULTITOOL_START:
85
+ summary: Creates a button which launches multiple tools
86
+ parameters:
87
+ - name: Button Text
88
+ required: true
89
+ description: Label that is put on the button that launches the tools
90
+ values: .+
91
+ - name: Icon Filename
92
+ required: false
93
+ description: Filename of a an icon located in the data directory. Passing 'nil'
94
+ or an empty string '' will result in Launcher using the default COSMOS icon.
95
+ values: .*
96
+ modifiers:
97
+ TOOL:
98
+ summary: Create a new tool launcher button
99
+ parameters:
100
+ - name: Shell Command
101
+ required: true
102
+ description: Command that is executed to launch the tool. (The same thing you
103
+ would type at a command terminal). Note that you can include tool parameters
104
+ here which will be applied when the tool starts.
105
+ values: .+
106
+ modifiers:
107
+ DONT_CAPTURE_IO:
108
+ summary: Don't capture IO when running the command
109
+ DELAY:
110
+ summary: Inserts a delay between launching multiple tools
111
+ parameters:
112
+ - name: Delay
113
+ required: true
114
+ description: Delay time in seconds
115
+ values: \d+
116
+ MULTITOOL_END:
117
+ summary: Ends the creation of a multi-tool button
@@ -0,0 +1,53 @@
1
+ ---
2
+ IGNORE_ITEM:
3
+ summary: Ignore a particular telemetry item
4
+ parameters:
5
+ - name: Target Name
6
+ required: true
7
+ description: Name of the telemetry target
8
+ values: <%= System.targets.keys %>
9
+ - name: Packet Name
10
+ required: true
11
+ description: Name of the telemetry packet
12
+ values: .+
13
+ - name: Item Name
14
+ required: true
15
+ description: Name of the telemetry item
16
+ values: .+
17
+ IGNORE_PACKET:
18
+ summary: Ignore all telemetry items for a specified packet
19
+ parameters:
20
+ - name: Target Name
21
+ required: true
22
+ description: Name of the telemetry target
23
+ values: <%= System.targets.keys %>
24
+ - name: Packet Name
25
+ required: true
26
+ description: Name of the telemetry packet
27
+ values: .+
28
+ IGNORE_STALE:
29
+ summary: Ignore the staleness of a specified packet
30
+ description: Note that only the packet staleness is ignored. If the packet is
31
+ received and an item is out-of-limits, that will still count against the overall
32
+ system limits state unless the item or packet is separately ignored with the
33
+ IGNORE_ITEM or IGNORE_PACKET keyword.
34
+ since: 4.0.0
35
+ parameters:
36
+ - name: Target Name
37
+ required: true
38
+ description: Name of the telemetry target
39
+ values: <%= System.targets.keys %>
40
+ - name: Packet Name
41
+ required: true
42
+ description: Name of the telemetry packet
43
+ values: .+
44
+ COLOR_BLIND:
45
+ summary: Use a color-blind accessibility mode
46
+ description: Color blind mode causes the value for out-of-limits items to have
47
+ a code appended to indicate the limits status. The code is r = red low,
48
+ y = yellow low, g = green low, B = blue, G = green or green high,
49
+ Y = yellow high, R = red high.
50
+ IGNORE_OPERATIONAL_LIMITS:
51
+ summary: Ignore GREEN_HIGH or GREEN_LOW limits states
52
+ description: Items with operational limits will only show up in limits monitor
53
+ if they go yellow or red
@@ -0,0 +1,30 @@
1
+ ---
2
+ # Require data_object to access the COLOR_LIST
3
+ <% require 'cosmos/tools/tlm_grapher/data_objects/data_object' %>
4
+ HORIZONTAL_LINE:
5
+ summary: Create a horizontal line on the plot
6
+ parameters:
7
+ - name: Y Intercept
8
+ required: true
9
+ description: Y Intercept of the horizontal line
10
+ values: '[0-9]*\.?[0-9]+'
11
+ - name: Color
12
+ required: true
13
+ description: Line color
14
+ values: <%= DataObject::COLOR_LIST %>
15
+ Y_OFFSET:
16
+ summary: Offset all graph values by this amount when drawing
17
+ parameters:
18
+ - name: Value
19
+ required: true
20
+ description: Offset value
21
+ values: '[0-9]*\.?[0-9]+'
22
+ Y_AXIS:
23
+ summary: Which axis to associate the graph with
24
+ description: Graphs can be associated with either the left or right Y axis and
25
+ the scale will be adjusted accordingly
26
+ parameters:
27
+ - name: Axis
28
+ required: true
29
+ description: Which axis to associcate the graph with
30
+ values: ['LEFT', 'RIGHT']
@@ -0,0 +1,106 @@
1
+ ---
2
+ TITLE:
3
+ summary: Set the plot title
4
+ parameters:
5
+ - name: Title
6
+ required: true
7
+ description: Title text to display at the top of the plot
8
+ values: .+
9
+ X_AXIS_TITLE:
10
+ summary: Set the title for the X axis
11
+ parameters:
12
+ - name: Title
13
+ required: true
14
+ description: Text to display under the X axis
15
+ values: .+
16
+ Y_AXIS_TITLE:
17
+ summary: Set the title for the Y axis
18
+ parameters:
19
+ - name: Title
20
+ required: true
21
+ description: Text to display vertically along the Y axis
22
+ values: .+
23
+ - name: Axis
24
+ required: false
25
+ description: Which axis to associate the title with
26
+ values: ['LEFT','RIGHT']
27
+ SHOW_ABS_X_GRID_LABELS:
28
+ summary: Show absolute X grid labels
29
+ parameters:
30
+ - name: Show
31
+ required: true
32
+ description: Show absolute X grid labels
33
+ values: ['TRUE','FALSE']
34
+ SHOW_X_GRID_LINES:
35
+ summary: Show X grid lines
36
+ parameters:
37
+ - name: Show
38
+ required: true
39
+ description: Show X grid lines
40
+ values: ['TRUE','FALSE']
41
+ SHOW_Y_GRID_LINES:
42
+ summary: Show Y grid lines
43
+ parameters:
44
+ - name: Show
45
+ required: true
46
+ description: Show Y grid lines
47
+ values: ['TRUE','FALSE']
48
+ POINT_SIZE:
49
+ summary: Point size of all graph points
50
+ parameters:
51
+ - name: Size
52
+ required: true
53
+ description: Point size
54
+ values: \d+
55
+ SHOW_LINES:
56
+ summary: Whether to draw lines connecting graph points
57
+ parameters:
58
+ - name: Show
59
+ required: true
60
+ description: Show lines connecting graph points
61
+ values: ['TRUE','FALSE']
62
+ SHOW_LEGEND:
63
+ summary: Whether to draw the graph legend
64
+ parameters:
65
+ - name: Show
66
+ required: true
67
+ description: Show graph legend
68
+ values: ['TRUE','FALSE']
69
+ MANUAL_Y_AXIS_SCALE:
70
+ summary: Manually scale the Y axis
71
+ parameters:
72
+ - name: Minimum
73
+ required: true
74
+ description: Y axis minimum value
75
+ values: '[0-9]*\.?[0-9]+'
76
+ - name: Maximum
77
+ required: true
78
+ description: Y axis maximum value
79
+ values: '[0-9]*\.?[0-9]+'
80
+ - name: Axis
81
+ required: false
82
+ description: Which Y axis to Scale. Default is Left.
83
+ values: ['LEFT','RIGHT']
84
+ MANUAL_X_GRID_LINE_SCALE:
85
+ summary: Manually scale the X axis grid lines
86
+ parameters:
87
+ - name: Scale
88
+ required: true
89
+ description: X axis grid line scale
90
+ values: '[0-9]*\.?[0-9]+'
91
+ MANUAL_Y_GRID_LINE_SCALE:
92
+ summary: Manually scale the Y axis grid lines
93
+ parameters:
94
+ - name: Scale
95
+ required: true
96
+ description: Y axis grid line scale
97
+ values: '[0-9]*\.?[0-9]+'
98
+ UNIX_EPOCH_X_VALUES:
99
+ summary: Whether to use UNIX epoch X values
100
+ parameters:
101
+ - name: UNIX Epoch
102
+ required: true
103
+ description: UNIX epoch X values
104
+ values: ['TRUE','FALSE']
105
+ UTC_TIME:
106
+ summary: Whether to use UTC time on the X axis
@@ -0,0 +1,128 @@
1
+ ---
2
+ NO_PDF:
3
+ summary: Indicates this page should not be generated when building the PDF
4
+ description: Handbook Creator can create webpages and export them to PDFs. Use
5
+ this keyword when you have an index webpage or another page for which you do not
6
+ want a PDF created.
7
+ PDF_COVER:
8
+ summary: Defines an HTML ERB template which is used to create the PDF cover page
9
+ description: The template is simply HTML tags which can reference 'title'
10
+ set by this keyword from ERB context
11
+ parameters:
12
+ - name: Filename
13
+ required: true
14
+ description: Name of the HTML ERB template file which is found in the
15
+ config/tools/handbook_creator/templates directory.
16
+ values: .+
17
+ - name: Title Text
18
+ required: true
19
+ description: Title text which is accessable in the template
20
+ values: .+
21
+ PDF_TOC:
22
+ summary: Insert the PDF table of contents
23
+ description: The table of contents is generated from the XSL templated found
24
+ in config/tools/handbook_creator/default_toc.xsl
25
+ PDF_HEADER:
26
+ summary: Defines an HTML ERB template which is used to create the header on each PDF page
27
+ description: The template is simply HTML tags which can reference 'title'
28
+ set by this keyword from ERB context
29
+ parameters:
30
+ - name: Filename
31
+ required: true
32
+ description: Name of the HTML ERB template file which is found in the
33
+ config/tools/handbook_creator/templates directory.
34
+ values: .+
35
+ - name: Title Text
36
+ required: true
37
+ description: Title text which is accessable in the template
38
+ values: .+
39
+ PDF_FOOTER:
40
+ summary: Defines an HTML ERB template which is used to create the footer on each PDF page
41
+ description: The template is simply HTML tags which can reference 'title'
42
+ set by this keyword from ERB context
43
+ parameters:
44
+ - name: Filename
45
+ required: true
46
+ description: Name of the HTML ERB template file which is found in the
47
+ config/tools/handbook_creator/templates directory.
48
+ values: .+
49
+ - name: Title Text
50
+ required: true
51
+ description: Title text which is accessable in the template
52
+ values: .+
53
+ PDF_TOP_MARGIN:
54
+ summary: The margin from the top of the PDF page before the header
55
+ parameters:
56
+ - name: Margin
57
+ required: true
58
+ description: The margin in pixels
59
+ values: \d+
60
+ PDF_BOTTOM_MARGIN:
61
+ summary: The margin below the footer to the bottom of the PDF page
62
+ parameters:
63
+ - name: Margin
64
+ required: true
65
+ description: The margin in pixels
66
+ values: \d+
67
+ PDF_SIDE_MARGIN:
68
+ summary: The margin on both sides on the PDF page
69
+ parameters:
70
+ - name: Margin
71
+ required: true
72
+ description: The margin in pixels
73
+ values: \d+
74
+ TARGET:
75
+ summary: Specify a target which this page is generated for
76
+ parameters:
77
+ - name: Target
78
+ required: true
79
+ description: The target name
80
+ values: <%= System.targets.keys %>
81
+ SECTION:
82
+ summary: Define a page SECTION
83
+ parameters:
84
+ - name: Filename
85
+ required: true
86
+ description: Name of the HTML ERB template file which is found in the
87
+ config/tools/handbook_creator/templates directory.
88
+ values: .+
89
+ - name: Output
90
+ required: true
91
+ description: What output formats should contain this section
92
+ values: ['ALl', 'HTML', 'PDF']
93
+ - name: Title Text
94
+ required: false
95
+ description: Title text which is accessable in the template
96
+ values: .+
97
+ CMD_SECTION:
98
+ summary: Define a page SECTION which is generated for all command packets
99
+ parameters:
100
+ - name: Filename
101
+ required: true
102
+ description: Name of the HTML ERB template file which is found in the
103
+ config/tools/handbook_creator/templates directory.
104
+ values: .+
105
+ - name: Output
106
+ required: true
107
+ description: What output formats should contain this section
108
+ values: ['ALl', 'HTML', 'PDF']
109
+ - name: Title Text
110
+ required: false
111
+ description: Title text which is accessable in the template
112
+ values: .+
113
+ TLM_SECTION:
114
+ summary: Define a page SECTION which is generated for all telemetry packets
115
+ parameters:
116
+ - name: Filename
117
+ required: true
118
+ description: Name of the HTML ERB template file which is found in the
119
+ config/tools/handbook_creator/templates directory.
120
+ values: .+
121
+ - name: Output
122
+ required: true
123
+ description: What output formats should contain this section
124
+ values: ['ALl', 'HTML', 'PDF']
125
+ - name: Title Text
126
+ required: false
127
+ description: Title text which is accessable in the template
128
+ values: .+
@@ -0,0 +1,41 @@
1
+ ---
2
+ FORMAT_STRING:
3
+ summary: Adds printf style formatting
4
+ parameters:
5
+ - name: Format
6
+ required: true
7
+ description: How to format using printf syntax.
8
+ For example, '0x%0X' will display the value in hex.
9
+ values: .*
10
+ UNITS:
11
+ summary: Add displayed units
12
+ parameters:
13
+ - name: Full Name
14
+ required: true
15
+ description: Full name of the units type, e.g. Celcius
16
+ values: .*
17
+ - name: Abbreviated
18
+ required: true
19
+ description: Abbreviation for the units, e.g. C
20
+ values: .*
21
+ DESCRIPTION:
22
+ summary: Override the defined description
23
+ parameters:
24
+ - name: Value
25
+ required: true
26
+ description: The new description
27
+ values: .*
28
+ META:
29
+ summary: Stores custom user metadata
30
+ description: Meta data is user specific data that can be used by custom tools
31
+ for various purposes. One example is to store additional information needed
32
+ to generate source code header files.
33
+ parameters:
34
+ - name: Meta Name
35
+ required: true
36
+ description: Name of the metadata to store
37
+ values: .*
38
+ - name: Meta Values
39
+ required: false
40
+ description: One or more values to be stored for this Meta Name
41
+ values: .*