cosmos 4.3.0 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (288) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +30 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  4. data/.github/ISSUE_TEMPLATE/help---usage---general-question.md +12 -0
  5. data/.gitignore +1 -0
  6. data/.travis.yml +5 -5
  7. data/Manifest.txt +81 -44
  8. data/Rakefile +9 -0
  9. data/appveyor.yml +2 -1
  10. data/autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -1
  11. data/autohotkey/config/targets/INST/cmd_tlm/inst_tlm.txt +5 -5
  12. data/autohotkey/config/targets/INST/lib/sim_inst.rb +3 -1
  13. data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap-theme.css +397 -0
  14. data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +7 -0
  15. data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap.css +7118 -0
  16. data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap.min.css +7 -0
  17. data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  18. data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  19. data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  20. data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  21. data/autohotkey/config/tools/handbook_creator/assets/js/bootstrap.js +2006 -0
  22. data/autohotkey/config/tools/handbook_creator/assets/js/bootstrap.min.js +7 -0
  23. data/autohotkey/config/tools/table_manager/ConfigTables_def.txt +2 -4
  24. data/autohotkey/config/tools/table_manager/SubTables/OneDimensionalSubTable_def.txt +31 -0
  25. data/autohotkey/config/tools/table_manager/SubTables/TwoDimensionalSubTable_def.txt +28 -0
  26. data/autohotkey/config/tools/test_runner/test_runner.txt +1 -1
  27. data/autohotkey/config/tools/test_runner/test_runner2.txt +1 -1
  28. data/autohotkey/config/tools/test_runner/test_runner3.txt +1 -1
  29. data/autohotkey/config/tools/test_runner/test_runner4.txt +1 -1
  30. data/autohotkey/tools/limits_monitor.ahk +1 -1
  31. data/autohotkey/tools/packet_viewer.ahk +1 -1
  32. data/autohotkey/tools/script_runner.ahk +16 -4
  33. data/bin/cosmos +1 -1
  34. data/bin/xtce_converter +1 -1
  35. data/cosmos.gemspec +5 -7
  36. data/data/config/_interfaces.yaml +4 -0
  37. data/data/config/cmd_sequence.yaml +14 -0
  38. data/data/config/housekeeping_params.yaml +14 -0
  39. data/data/config/interface_modifiers.yaml +11 -0
  40. data/data/config/item_modifiers.yaml +2 -1
  41. data/data/config/launcher.yaml +12 -2
  42. data/data/config/param_item_modifiers.yaml +2 -2
  43. data/data/config/parameter_modifiers.yaml +20 -0
  44. data/data/config/screen.yaml +2 -0
  45. data/data/config/script_runner.yaml +9 -0
  46. data/data/config/system.yaml +47 -10
  47. data/data/config/table_manager.yaml +7 -0
  48. data/data/config/target.yaml +12 -0
  49. data/data/config/telemetry_modifiers.yaml +3 -1
  50. data/data/config/test_runner.yaml +10 -9
  51. data/data/config/widgets.yaml +174 -11
  52. data/data/crc.txt +128 -125
  53. data/demo/Gemfile +1 -1
  54. data/demo/Launcher.bat +1 -9
  55. data/demo/Launcher2.bat +1 -0
  56. data/demo/LauncherMini.bat +1 -0
  57. data/demo/config/data/crc.txt +40 -20
  58. data/demo/config/system/system.txt +1 -1
  59. data/demo/config/system/system_alt_ports.txt +1 -1
  60. data/demo/config/targets/EXAMPLE/cmd_tlm_server.txt +1 -0
  61. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +2 -1
  62. data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +7 -7
  63. data/demo/config/targets/INST/cmd_tlm_server.txt +2 -0
  64. data/demo/config/targets/INST/lib/sim_inst.rb +15 -3
  65. data/demo/config/targets/INST/screens/adcs.txt +2 -2
  66. data/demo/config/targets/INST/screens/block.txt +1 -1
  67. data/demo/config/targets/INST/screens/commanding.txt +1 -1
  68. data/demo/config/targets/INST/screens/ground.txt +27 -5
  69. data/demo/config/targets/INST/screens/ground_error.gif +0 -0
  70. data/demo/config/{data/groundoff.gif → targets/INST/screens/ground_off.gif} +0 -0
  71. data/demo/config/{data/groundon.gif → targets/INST/screens/ground_on.gif} +0 -0
  72. data/demo/config/targets/INST/screens/limits.txt +69 -31
  73. data/demo/config/targets/INST/screens/other.txt +13 -3
  74. data/demo/config/targets/INST/screens/params.txt +54 -0
  75. data/demo/config/targets/INST/screens/satellite.gif +0 -0
  76. data/demo/config/tools/data_viewer/data_viewer.txt +3 -0
  77. data/demo/config/tools/handbook_creator/assets/css/bootstrap-theme.css +397 -0
  78. data/demo/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +7 -0
  79. data/demo/config/tools/handbook_creator/assets/css/bootstrap.css +7118 -0
  80. data/demo/config/tools/handbook_creator/assets/css/bootstrap.min.css +7 -0
  81. data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  82. data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  83. data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  84. data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  85. data/demo/config/tools/handbook_creator/assets/img/ball_logo.bmp +0 -0
  86. data/demo/config/tools/handbook_creator/assets/img/ball_logo.gif +0 -0
  87. data/demo/config/tools/handbook_creator/assets/img/ball_logo.jpg +0 -0
  88. data/demo/config/tools/handbook_creator/assets/js/bootstrap.js +2006 -0
  89. data/demo/config/tools/handbook_creator/assets/js/bootstrap.min.js +7 -0
  90. data/demo/config/tools/handbook_creator/assets/js/html5shiv.js +8 -0
  91. data/demo/config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js +6 -0
  92. data/demo/config/tools/handbook_creator/assets/js/respond.min.js +6 -0
  93. data/demo/config/tools/script_runner/script_runner.txt +1 -2
  94. data/demo/config/tools/test_runner/test_runner.txt +3 -1
  95. data/demo/lib/example_background_task.rb +1 -0
  96. data/demo/procedures/cosmos_api_test.rb +1 -1
  97. data/demo/procedures/interactive.rb +22 -0
  98. data/ext/cosmos/ext/packet/packet.c +0 -77
  99. data/install/Gemfile +1 -1
  100. data/install/Launcher.bat +1 -9
  101. data/install/config/data/crc.txt +17 -1
  102. data/install/config/system/system.txt +1 -1
  103. data/install/config/tools/handbook_creator/assets/css/bootstrap-theme.css +397 -0
  104. data/install/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +7 -0
  105. data/install/config/tools/handbook_creator/assets/css/bootstrap.css +7118 -0
  106. data/install/config/tools/handbook_creator/assets/css/bootstrap.min.css +7 -0
  107. data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  108. data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  109. data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  110. data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  111. data/install/config/tools/handbook_creator/assets/img/ball_logo.bmp +0 -0
  112. data/install/config/tools/handbook_creator/assets/img/ball_logo.gif +0 -0
  113. data/install/config/tools/handbook_creator/assets/img/ball_logo.jpg +0 -0
  114. data/install/config/tools/handbook_creator/assets/js/bootstrap.js +2006 -0
  115. data/install/config/tools/handbook_creator/assets/js/bootstrap.min.js +7 -0
  116. data/install/config/tools/handbook_creator/assets/js/html5shiv.js +8 -0
  117. data/install/config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js +6 -0
  118. data/install/config/tools/handbook_creator/assets/js/respond.min.js +6 -0
  119. data/lib/cosmos/config/config_parser.rb +4 -5
  120. data/lib/cosmos/dart/lib/dart_common.rb +1 -1
  121. data/lib/cosmos/gui/dialogs/details_dialog.rb +16 -1
  122. data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +1 -0
  123. data/lib/cosmos/gui/dialogs/tlm_graph_dialog.rb +4 -2
  124. data/lib/cosmos/gui/opengl/earth_model.rb +1 -1
  125. data/lib/cosmos/gui/qt.rb +3 -1
  126. data/lib/cosmos/gui/qt_tool.rb +46 -23
  127. data/lib/cosmos/gui/text/ruby_editor.rb +44 -41
  128. data/lib/cosmos/gui/utilities/screenshot.rb +1 -1
  129. data/lib/cosmos/gui/utilities/script_module_gui.rb +92 -92
  130. data/lib/cosmos/interfaces.rb +1 -0
  131. data/lib/cosmos/interfaces/interface.rb +5 -1
  132. data/lib/cosmos/interfaces/protocols/fixed_protocol.rb +40 -18
  133. data/lib/cosmos/interfaces/protocols/template_protocol.rb +6 -1
  134. data/lib/cosmos/interfaces/simulated_target_interface.rb +14 -5
  135. data/lib/cosmos/io/json_drb.rb +11 -7
  136. data/lib/cosmos/packets/commands.rb +28 -11
  137. data/lib/cosmos/packets/packet.rb +69 -32
  138. data/lib/cosmos/packets/packet_config.rb +34 -1
  139. data/lib/cosmos/packets/parsers/state_parser.rb +0 -1
  140. data/lib/cosmos/packets/parsers/xtce_converter.rb +2 -0
  141. data/lib/cosmos/packets/parsers/xtce_parser.rb +4 -3
  142. data/lib/cosmos/packets/structure.rb +4 -2
  143. data/lib/cosmos/packets/telemetry.rb +19 -3
  144. data/lib/cosmos/script/api_shared.rb +12 -9
  145. data/lib/cosmos/script/scripting.rb +16 -14
  146. data/lib/cosmos/system/system.rb +39 -20
  147. data/lib/cosmos/system/target.rb +39 -9
  148. data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +94 -35
  149. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +3 -0
  150. data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +1 -1
  151. data/lib/cosmos/tools/cmd_tlm_server/background_tasks.rb +2 -0
  152. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +30 -4
  153. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +1 -0
  154. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +9 -12
  155. data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +5 -2
  156. data/lib/cosmos/tools/cmd_tlm_server/routers.rb +2 -0
  157. data/lib/cosmos/tools/config_editor/config_editor.rb +80 -24
  158. data/lib/cosmos/tools/config_editor/config_editor_frame.rb +2 -0
  159. data/lib/cosmos/tools/data_viewer/data_viewer.rb +15 -9
  160. data/lib/cosmos/tools/data_viewer/dump_component.rb +2 -9
  161. data/lib/cosmos/tools/data_viewer/text_component.rb +77 -0
  162. data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +64 -38
  163. data/lib/cosmos/tools/launcher/launcher.rb +1 -0
  164. data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +31 -17
  165. data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +8 -6
  166. data/lib/cosmos/tools/script_runner/script_runner.rb +87 -29
  167. data/lib/cosmos/tools/script_runner/script_runner_config.rb +14 -0
  168. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +41 -7
  169. data/lib/cosmos/tools/table_manager/table_config.rb +5 -3
  170. data/lib/cosmos/tools/table_manager/table_manager.rb +6 -3
  171. data/lib/cosmos/tools/test_runner/test_runner.rb +14 -9
  172. data/lib/cosmos/tools/test_runner/test_runner_chooser.rb +21 -9
  173. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +3 -3
  174. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_realtime_thread.rb +5 -8
  175. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tool.rb +11 -8
  176. data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +9 -15
  177. data/lib/cosmos/tools/tlm_viewer/screen.rb +3 -1
  178. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +19 -13
  179. data/lib/cosmos/tools/tlm_viewer/widgets.rb +2 -0
  180. data/lib/cosmos/tools/tlm_viewer/widgets/aging_widget.rb +4 -5
  181. data/lib/cosmos/tools/tlm_viewer/widgets/array_widget.rb +3 -4
  182. data/lib/cosmos/tools/tlm_viewer/widgets/block_widget.rb +4 -5
  183. data/lib/cosmos/tools/tlm_viewer/widgets/canvas_clickable.rb +16 -2
  184. data/lib/cosmos/tools/tlm_viewer/widgets/canvas_widget.rb +17 -3
  185. data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +1 -2
  186. data/lib/cosmos/tools/tlm_viewer/widgets/canvasellipse_widget.rb +1 -1
  187. data/lib/cosmos/tools/tlm_viewer/widgets/canvasimage_widget.rb +12 -7
  188. data/lib/cosmos/tools/tlm_viewer/widgets/canvasimagevalue_widget.rb +79 -29
  189. data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabel_widget.rb +1 -0
  190. data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabelvalue_widget.rb +2 -1
  191. data/lib/cosmos/tools/tlm_viewer/widgets/canvasline_widget.rb +2 -0
  192. data/lib/cosmos/tools/tlm_viewer/widgets/canvaslinevalue_widget.rb +4 -0
  193. data/lib/cosmos/tools/tlm_viewer/widgets/canvasvalue_widget.rb +33 -25
  194. data/lib/cosmos/tools/tlm_viewer/widgets/checkbutton_widget.rb +5 -3
  195. data/lib/cosmos/tools/tlm_viewer/widgets/combobox_widget.rb +5 -3
  196. data/lib/cosmos/tools/tlm_viewer/widgets/formatfontvalue_widget.rb +1 -1
  197. data/lib/cosmos/tools/tlm_viewer/widgets/formatvalue_widget.rb +4 -7
  198. data/lib/cosmos/tools/tlm_viewer/widgets/horizontal_widget.rb +5 -5
  199. data/lib/cosmos/tools/tlm_viewer/widgets/horizontalbox_widget.rb +6 -7
  200. data/lib/cosmos/tools/tlm_viewer/widgets/horizontalline_widget.rb +2 -4
  201. data/lib/cosmos/tools/tlm_viewer/widgets/label_widget.rb +10 -8
  202. data/lib/cosmos/tools/tlm_viewer/widgets/labelformatvalue_widget.rb +2 -3
  203. data/lib/cosmos/tools/tlm_viewer/widgets/labelled_widget.rb +58 -0
  204. data/lib/cosmos/tools/tlm_viewer/widgets/labelprogressbar_widget.rb +3 -4
  205. data/lib/cosmos/tools/tlm_viewer/widgets/labeltrendlimitsbar_widget.rb +2 -4
  206. data/lib/cosmos/tools/tlm_viewer/widgets/labelvalue_widget.rb +2 -1
  207. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluedesc_widget.rb +3 -5
  208. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluelimitsbar_widget.rb +2 -3
  209. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluelimitscolumn_widget.rb +2 -3
  210. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangebar_widget.rb +2 -3
  211. data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangecolumn_widget.rb +2 -3
  212. data/lib/cosmos/tools/tlm_viewer/widgets/layout_widget.rb +3 -5
  213. data/lib/cosmos/tools/tlm_viewer/widgets/led_widget.rb +108 -0
  214. data/lib/cosmos/tools/tlm_viewer/widgets/limits_widget.rb +60 -10
  215. data/lib/cosmos/tools/tlm_viewer/widgets/limitsbar_widget.rb +22 -8
  216. data/lib/cosmos/tools/tlm_viewer/widgets/limitscolor_widget.rb +19 -13
  217. data/lib/cosmos/tools/tlm_viewer/widgets/limitscolumn_widget.rb +22 -8
  218. data/lib/cosmos/tools/tlm_viewer/widgets/linegraph_widget.rb +2 -3
  219. data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +4 -3
  220. data/lib/cosmos/tools/tlm_viewer/widgets/multi_widget.rb +1 -3
  221. data/lib/cosmos/tools/tlm_viewer/widgets/progressbar_widget.rb +10 -5
  222. data/lib/cosmos/tools/tlm_viewer/widgets/radiobutton_widget.rb +7 -4
  223. data/lib/cosmos/tools/tlm_viewer/widgets/rangebar_widget.rb +4 -6
  224. data/lib/cosmos/tools/tlm_viewer/widgets/rangecolumn_widget.rb +3 -5
  225. data/lib/cosmos/tools/tlm_viewer/widgets/screenshotbutton_widget.rb +4 -3
  226. data/lib/cosmos/tools/tlm_viewer/widgets/scrollwindow_widget.rb +2 -3
  227. data/lib/cosmos/tools/tlm_viewer/widgets/sectionheader_widget.rb +2 -3
  228. data/lib/cosmos/tools/tlm_viewer/widgets/spacer_widget.rb +4 -6
  229. data/lib/cosmos/tools/tlm_viewer/widgets/tabbook_widget.rb +2 -3
  230. data/lib/cosmos/tools/tlm_viewer/widgets/tabitem_widget.rb +2 -3
  231. data/lib/cosmos/tools/tlm_viewer/widgets/textbox_widget.rb +13 -4
  232. data/lib/cosmos/tools/tlm_viewer/widgets/textfield_widget.rb +3 -4
  233. data/lib/cosmos/tools/tlm_viewer/widgets/timegraph_widget.rb +2 -7
  234. data/lib/cosmos/tools/tlm_viewer/widgets/title_widget.rb +6 -12
  235. data/lib/cosmos/tools/tlm_viewer/widgets/trendbar_widget.rb +5 -10
  236. data/lib/cosmos/tools/tlm_viewer/widgets/trendlimitsbar_widget.rb +5 -3
  237. data/lib/cosmos/tools/tlm_viewer/widgets/value_widget.rb +4 -4
  238. data/lib/cosmos/tools/tlm_viewer/widgets/valuelimitsbar_widget.rb +2 -3
  239. data/lib/cosmos/tools/tlm_viewer/widgets/valuelimitscolumn_widget.rb +2 -3
  240. data/lib/cosmos/tools/tlm_viewer/widgets/valuerangebar_widget.rb +3 -4
  241. data/lib/cosmos/tools/tlm_viewer/widgets/valuerangecolumn_widget.rb +2 -3
  242. data/lib/cosmos/tools/tlm_viewer/widgets/vertical_widget.rb +8 -7
  243. data/lib/cosmos/tools/tlm_viewer/widgets/verticalbox_widget.rb +9 -7
  244. data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +54 -46
  245. data/lib/cosmos/top_level.rb +23 -12
  246. data/lib/cosmos/version.rb +4 -4
  247. data/spec/gui/utilities/script_module_gui_spec.rb +44 -63
  248. data/spec/install/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -1
  249. data/spec/install/config/targets/INST/cmd_tlm/inst_tlm.txt +5 -5
  250. data/spec/install/yaml_docs_spec.rb +112 -0
  251. data/spec/interfaces/protocols/fixed_protocol_spec.rb +20 -9
  252. data/spec/interfaces/protocols/template_protocol_spec.rb +78 -25
  253. data/spec/packets/commands_spec.rb +22 -0
  254. data/spec/packets/packet_config_spec.rb +24 -0
  255. data/spec/packets/packet_item_spec.rb +2 -2
  256. data/spec/packets/packet_spec.rb +39 -6
  257. data/spec/packets/parsers/state_parser_spec.rb +33 -11
  258. data/spec/packets/structure_spec.rb +41 -0
  259. data/spec/packets/telemetry_spec.rb +23 -0
  260. data/spec/streams/tcpip_socket_stream_spec.rb +32 -27
  261. data/spec/system/system_spec.rb +77 -2
  262. data/spec/system/target_spec.rb +62 -1
  263. data/spec/tools/cmd_tlm_server/api_spec.rb +1 -1
  264. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +15 -7
  265. data/spec/top_level/top_level_spec.rb +29 -5
  266. data/tasks/gemfile_stats.rake +28 -14
  267. data/test/performance/config/system/system.txt +0 -0
  268. data/test/performance/config/targets/PACKET/cmd_tlm/packet_tlm.txt +5 -5
  269. data/test/performance/config/tools/handbook_creator/assets/css/bootstrap-theme.css +397 -0
  270. data/test/performance/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +7 -0
  271. data/test/performance/config/tools/handbook_creator/assets/css/bootstrap.css +7118 -0
  272. data/test/performance/config/tools/handbook_creator/assets/css/bootstrap.min.css +7 -0
  273. data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  274. data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  275. data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  276. data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  277. data/test/performance/config/tools/handbook_creator/assets/img/ball_logo.bmp +0 -0
  278. data/test/performance/config/tools/handbook_creator/assets/img/ball_logo.gif +0 -0
  279. data/test/performance/config/tools/handbook_creator/assets/img/ball_logo.jpg +0 -0
  280. data/test/performance/config/tools/handbook_creator/assets/js/bootstrap.js +2006 -0
  281. data/test/performance/config/tools/handbook_creator/assets/js/bootstrap.min.js +7 -0
  282. data/test/performance/config/tools/handbook_creator/assets/js/html5shiv.js +8 -0
  283. data/test/performance/config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js +6 -0
  284. data/test/performance/config/tools/handbook_creator/assets/js/respond.min.js +6 -0
  285. data/test/performance/config/tools/test_runner/test_runner.txt +1 -1
  286. data/test/performance/procedures/cosmos_api_test.rb +1 -1
  287. data/test/performance/tools/identify_performance.rb +82 -0
  288. metadata +92 -55
@@ -2,7 +2,7 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- gem 'ruby-termios', '~> 0.9' if RbConfig::CONFIG['target_os'] !~ /mswin|mingw|cygwin/i and RUBY_ENGINE=='ruby'
5
+ gem 'ruby-termios', '>= 0.9' if RbConfig::CONFIG['target_os'] !~ /mswin|mingw|cygwin/i and RUBY_ENGINE=='ruby'
6
6
  if ENV['COSMOS_DEVEL']
7
7
  gem 'cosmos', :path => ENV['COSMOS_DEVEL']
8
8
  else
@@ -1,9 +1 @@
1
- @ECHO OFF
2
-
3
- IF NOT EXIST "%~dp0tools\ToolLaunch.bat" (
4
- echo "%~dp0tools\ToolLaunch.bat" does not exist
5
- pause
6
- exit /b
7
- )
8
-
9
- call "%~dp0tools\ToolLaunch.bat" rubyw.exe %~n0 %*
1
+ call tools\Launcher.bat --config launcher.txt
@@ -0,0 +1 @@
1
+ call tools\Launcher.bat --config launcher2.txt --system system2.txt
@@ -0,0 +1 @@
1
+ call tools\Launcher.bat --config launcher_mini.txt --mini
@@ -1,6 +1,6 @@
1
1
  "lib/scpi_target.rb" 0x6C94AB0D
2
2
  "lib/cmd_sequence_exporter.rb" 0xC16CA178
3
- "lib/example_background_task.rb" 0xC4D1FF08
3
+ "lib/example_background_task.rb" 0x819D1A2F
4
4
  "lib/example_target.rb" 0x50EC8E71
5
5
  "lib/user_version.rb" 0x8F282EE9
6
6
  "config/targets/DART/target.txt" 0x6648EE0E
@@ -27,19 +27,24 @@
27
27
  "config/targets/INST/target.txt" 0x0CA2BFF2
28
28
  "config/targets/INST/screens/hs.txt" 0xFCCE1760
29
29
  "config/targets/INST/screens/graphs.txt" 0xE93FAC76
30
- "config/targets/INST/screens/commanding.txt" 0xF7DEBD49
30
+ "config/targets/INST/screens/commanding.txt" 0x3C866E3E
31
31
  "config/targets/INST/screens/array.txt" 0x9DC68022
32
+ "config/targets/INST/screens/satellite.gif" 0x26888D25
32
33
  "config/targets/INST/screens/_footer.txt" 0xB6C0BC08
34
+ "config/targets/INST/screens/ground_on.gif" 0x97D9A501
33
35
  "config/targets/INST/screens/spacing_box.txt" 0xEAB60B6D
34
36
  "config/targets/INST/screens/latest.txt" 0xA85B5BEC
35
- "config/targets/INST/screens/limits.txt" 0x3CFF7821
36
- "config/targets/INST/screens/ground.txt" 0xD9122BC3
37
- "config/targets/INST/screens/block.txt" 0x0A6416BE
38
- "config/targets/INST/screens/adcs.txt" 0xB0145452
37
+ "config/targets/INST/screens/limits.txt" 0x36688AB1
38
+ "config/targets/INST/screens/ground.txt" 0x5F35A0A2
39
+ "config/targets/INST/screens/block.txt" 0x8C5C275E
40
+ "config/targets/INST/screens/adcs.txt" 0x66373AAD
39
41
  "config/targets/INST/screens/spacing_grid.txt" 0x3F3738B9
40
- "config/targets/INST/screens/other.txt" 0xE6368E49
42
+ "config/targets/INST/screens/params.txt" 0x15D67280
43
+ "config/targets/INST/screens/other.txt" 0x362321C5
44
+ "config/targets/INST/screens/ground_off.gif" 0x7BA45A4D
41
45
  "config/targets/INST/screens/tabs.txt" 0x576606A8
42
- "config/targets/INST/cmd_tlm_server.txt" 0x73AB06BE
46
+ "config/targets/INST/screens/ground_error.gif" 0xE2567D15
47
+ "config/targets/INST/cmd_tlm_server.txt" 0x2A52A15A
43
48
  "config/targets/INST/procedures/collect.rb" 0xD4CDF449
44
49
  "config/targets/INST/procedures/disconnect.rb" 0x5F3A18E5
45
50
  "config/targets/INST/procedures/checks.rb" 0x34EEF3E2
@@ -54,22 +59,21 @@
54
59
  "config/targets/INST/tools/table_manager/McConfigTable_def.txt" 0x5B6FA631
55
60
  "config/targets/INST/tools/data_viewer/data_viewer2.txt" 0x7FFA3A8A
56
61
  "config/targets/INST/tools/data_viewer/data_viewer.txt" 0xB25E2644
57
- "config/targets/INST/cmd_tlm/inst_tlm.txt" 0x83356727
62
+ "config/targets/INST/cmd_tlm/inst_tlm.txt" 0x0C5E74D8
58
63
  "config/targets/INST/cmd_tlm/_ccsds_tlm.txt" 0xE833D935
59
- "config/targets/INST/cmd_tlm/inst_cmds.txt" 0x7E5C780F
64
+ "config/targets/INST/cmd_tlm/inst_cmds.txt" 0x90C6205D
60
65
  "config/targets/INST/cmd_tlm/_ccsds_cmd.txt" 0x7F5572F3
61
66
  "config/targets/INST/lib/example_limits_response.rb" 0xB4A746B1
62
67
  "config/targets/INST/lib/inst_dump_component.rb" 0x709905AE
63
- "config/targets/INST/lib/sim_inst.rb" 0x9A93AE49
68
+ "config/targets/INST/lib/sim_inst.rb" 0xF1537547
64
69
  "config/targets/EXAMPLE/target.txt" 0xC3682EBF
65
- "config/targets/EXAMPLE/cmd_tlm_server.txt" 0x6139204A
70
+ "config/targets/EXAMPLE/cmd_tlm_server.txt" 0x069113F0
66
71
  "config/targets/EXAMPLE/cmd_tlm/example_tlm.txt" 0x65BF425A
67
72
  "config/targets/EXAMPLE/cmd_tlm/example_cmds.txt" 0xB1A6D401
68
73
  "config/targets/EXAMPLE/lib/example_interface.rb" 0x87C1C9E0
69
74
  "config/data/satellite.gif" 0x26888D25
70
75
  "config/data/poweroff.gif" 0xF67A83D3
71
76
  "config/data/meta_init.txt" 0x1B132ACE
72
- "config/data/groundoff.gif" 0x7BA45A4D
73
77
  "config/data/poweron.gif" 0x137C8043
74
78
  "config/data/hselecton.gif" 0xA824E4FC
75
79
  "config/data/vswitchoff.gif" 0xFAE436C9
@@ -80,10 +84,9 @@
80
84
  "config/data/hswitchoff.gif" 0xB051B6A3
81
85
  "config/data/tada.wav" 0x1ABCFFD1
82
86
  "config/data/hselectoff.gif" 0x8A0C192E
83
- "config/data/groundon.gif" 0x97D9A501
84
87
  "config/data/vswitchon.gif" 0xD747AC45
85
- "config/system/system_alt_ports.txt" 0xB5D194B0
86
- "config/system/system.txt" 0x84099B85
88
+ "config/system/system_alt_ports.txt" 0x875FB695
89
+ "config/system/system.txt" 0xBC31B9A9
87
90
  "config/system/system2.txt" 0x52BFC433
88
91
  "config/tools/launcher/launcher2.css" 0x69DA47AB
89
92
  "config/tools/launcher/launcher.txt" 0x7060F202
@@ -99,8 +102,8 @@
99
102
  "config/tools/table_manager/TLMMonitoringTable_def.txt" 0xF8136D31
100
103
  "config/tools/cmd_sequence/cmd_sequence.txt" 0x5F06901D
101
104
  "config/tools/tlm_viewer/tlm_viewer.txt" 0x6E6DBC7A
102
- "config/tools/data_viewer/data_viewer.txt" 0xC62699E8
103
- "config/tools/test_runner/test_runner.txt" 0x7987DB88
105
+ "config/tools/data_viewer/data_viewer.txt" 0x4A1816FD
106
+ "config/tools/test_runner/test_runner.txt" 0x54608E08
104
107
  "config/tools/test_runner/test_runner.css" 0x06987062
105
108
  "config/tools/tlm_extractor/tlm_extractor4.txt" 0x068824C2
106
109
  "config/tools/tlm_extractor/tlm_extractor3.txt" 0x475006AA
@@ -113,6 +116,22 @@
113
116
  "config/tools/tlm_grapher/README.txt" 0x93B2C07E
114
117
  "config/tools/opengl_builder/README.txt" 0x93B2C07E
115
118
  "config/tools/limits_monitor/README.txt" 0x93B2C07E
119
+ "config/tools/handbook_creator/assets/js/bootstrap.min.js" 0xB3ECDABF
120
+ "config/tools/handbook_creator/assets/js/respond.min.js" 0xD9168C21
121
+ "config/tools/handbook_creator/assets/js/html5shiv.js" 0x15B5CD4D
122
+ "config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js" 0xCDB86103
123
+ "config/tools/handbook_creator/assets/js/bootstrap.js" 0x013B0300
124
+ "config/tools/handbook_creator/assets/css/bootstrap-theme.css" 0x446F3211
125
+ "config/tools/handbook_creator/assets/css/bootstrap.min.css" 0x1BD3585F
126
+ "config/tools/handbook_creator/assets/css/bootstrap.css" 0x3F240B56
127
+ "config/tools/handbook_creator/assets/css/bootstrap-theme.min.css" 0xB49F966D
128
+ "config/tools/handbook_creator/assets/img/ball_logo.jpg" 0xA15FB300
129
+ "config/tools/handbook_creator/assets/img/ball_logo.gif" 0xD8A3D76B
130
+ "config/tools/handbook_creator/assets/img/ball_logo.bmp" 0xAD799C2E
131
+ "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg" 0x068A502C
132
+ "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf" 0x063128D6
133
+ "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff" 0x946BFB8C
134
+ "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot" 0x50687BA4
116
135
  "config/tools/handbook_creator/templates/header.html.erb" 0x1E490C2A
117
136
  "config/tools/handbook_creator/templates/command_toc.html.erb" 0x9159BCF9
118
137
  "config/tools/handbook_creator/templates/footer.html.erb" 0x0E1F9800
@@ -128,7 +147,7 @@
128
147
  "config/tools/handbook_creator/templates/pdf_header.html.erb" 0x3020FEE1
129
148
  "config/tools/handbook_creator/default_toc.xsl" 0x4122A040
130
149
  "config/tools/handbook_creator/handbook_creator.txt" 0xAA806C94
131
- "config/tools/script_runner/script_runner.txt" 0x1EECD803
150
+ "config/tools/script_runner/script_runner.txt" 0x10A9AF8F
132
151
  "config/dart/Gemfile" 0x294591DB
133
152
  "tools/TlmExtractor.bat" 0x2B98E027
134
153
  "tools/Launcher" 0xFD4E356C
@@ -264,10 +283,11 @@
264
283
  "tools/CmdExtractor" 0x96E82AC3
265
284
  "tools/OpenGLBuilder" 0x585EA691
266
285
  "tools/CmdSender.bat" 0x2B98E027
267
- "procedures/cosmos_api_test.rb" 0x9D13FFA3
286
+ "procedures/cosmos_api_test.rb" 0xB6C2B579
268
287
  "procedures/example_test.rb" 0xEB8B8E79
269
288
  "procedures/test.rb" 0xCE4DA55A
270
289
  "procedures/replay_test.rb" 0xBB4D6A36
271
290
  "procedures/plot_test.rb" 0xF311D562
272
291
  "procedures/run_example_test.rb" 0x0F244140
273
292
  "procedures/local_screen_example.rb" 0x677D2019
293
+ "procedures/interactive.rb" 0x006A7BD5
@@ -66,7 +66,7 @@ ENABLE_SOUND
66
66
  # Initialize the metadata dialog using values from the following file:
67
67
  META_INIT config/data/meta_init.txt
68
68
 
69
- ADD_MD5_FILE lib/user_version.rb
69
+ ADD_HASH_FILE lib/user_version.rb
70
70
 
71
71
  # Banner examples
72
72
  # Create a banner using an existing COSMOS color (Cosmos::GREEN in this case)
@@ -66,4 +66,4 @@ ENABLE_SOUND
66
66
  # Initialize the metadata dialog using values from the following file:
67
67
  META_INIT config/data/meta_init.txt
68
68
 
69
- ADD_MD5_FILE lib/user_version.rb
69
+ ADD_HASH_FILE lib/user_version.rb
@@ -4,3 +4,4 @@
4
4
  INTERFACE EXAMPLE_INT example_interface.rb localhost 9999
5
5
  TARGET EXAMPLE
6
6
  DONT_CONNECT
7
+ LOG_RAW
@@ -8,7 +8,7 @@ COMMAND INST COLLECT BIG_ENDIAN "Starts a collect on the <%= @target_name %> tar
8
8
  PARAMETER OPCODE 112 8 UINT 0x0 0xFF 0xAB "Collect opcode"
9
9
  FORMAT_STRING "0x%0X"
10
10
  PARAMETER TEMP 120 32 FLOAT 0.0 25.0 0.0 "Collect temperature"
11
- UNITS Celcius C
11
+ UNITS Celsius C
12
12
 
13
13
  COMMAND INST ABORT BIG_ENDIAN "Aborts a collect on the <%= @target_name %> instrument"
14
14
  <%= render "_ccsds_cmd.txt", locals: {id: 2} %>
@@ -39,6 +39,7 @@ COMMAND INST ASCIICMD BIG_ENDIAN "Enumerated ASCII command"
39
39
  STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser poses an eye safety hazard."
40
40
  STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING Laser will be fired!"
41
41
  APPEND_PARAMETER BINARY 32 STRING 0xDEADBEEF "Binary string"
42
+ APPEND_PARAMETER STRING 80 STRING "0xDEADBEEF" "ASCII string"
42
43
 
43
44
  COMMAND INST FLTCMD BIG_ENDIAN "Command with float parameters"
44
45
  <%= render "_ccsds_cmd.txt", locals: {id: 6} %>
@@ -4,29 +4,29 @@ TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status from the <%= @target_
4
4
  APPEND_ITEM TEMP1 16 UINT "Temperature #1"
5
5
  POLY_READ_CONVERSION -100.0 0.00305
6
6
  POLY_WRITE_CONVERSION 32768.885246 327.86885
7
- UNITS CELCIUS C
7
+ UNITS CELSIUS C
8
8
  FORMAT_STRING "%0.3f"
9
9
  LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0
10
- LIMITS TVAC 1 ENABLED -80.0 -30.0 30.0 80.0
10
+ LIMITS TVAC 1 ENABLED -80.0 -30.0 30.0 80.0
11
11
  LIMITS_RESPONSE example_limits_response.rb
12
12
  APPEND_ITEM TEMP2 32 FLOAT "Temperature #2"
13
13
  POLY_READ_CONVERSION -100.0 0.00305
14
14
  POLY_WRITE_CONVERSION 32768.885246 327.86885
15
- UNITS CELCIUS C
15
+ UNITS CELSIUS C
16
16
  FORMAT_STRING "%0.3f"
17
17
  LIMITS DEFAULT 1 ENABLED -60.0 -55.0 30.0 35.0
18
18
  LIMITS TVAC 1 ENABLED -60.0 20.0 30.0 35.0
19
19
  APPEND_ITEM TEMP3 16 UINT "Temperature #3"
20
20
  POLY_READ_CONVERSION -100.0 0.00305
21
21
  POLY_WRITE_CONVERSION 32768.885246 327.86885
22
- UNITS CELCIUS C
22
+ UNITS CELSIUS C
23
23
  FORMAT_STRING "%0.3f"
24
24
  LIMITS DEFAULT 1 ENABLED -25.0 -10.0 50.0 55.0
25
25
  LIMITS TVAC 1 ENABLED -15.0 -10.0 20.0 30.0
26
26
  APPEND_ITEM TEMP4 16 UINT "Temperature #4"
27
27
  POLY_READ_CONVERSION -100.0 0.00305
28
28
  POLY_WRITE_CONVERSION 32768.885246 327.86885
29
- UNITS CELCIUS C
29
+ UNITS CELSIUS C
30
30
  FORMAT_STRING "%0.3f"
31
31
  LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0
32
32
  APPEND_ARRAY_ITEM ARY 8 UINT 80 "Array data"
@@ -37,7 +37,7 @@ TELEMETRY INST HEALTH_STATUS BIG_ENDIAN "Health and status from the <%= @target_
37
37
  STATE SPECIAL 1
38
38
  STATE ERROR ANY
39
39
  APPEND_ARRAY_ITEM ARY2 64 FLOAT 640 "Double array"
40
- UNITS CELCIUS C
40
+ UNITS CELSIUS C
41
41
  APPEND_ITEM ASCIICMD 2048 STRING "Most recent ASCIICMD string"
42
42
  STATE "NOOP" "NOOP"
43
43
  STATE "FIRE LASER" "FIRE LASER"
@@ -139,7 +139,7 @@ TELEMETRY INST PARAMS BIG_ENDIAN "Params set by SETPARAMS command"
139
139
 
140
140
  TELEMETRY INST IMAGE BIG_ENDIAN "Packet with image data"
141
141
  <%= render "_ccsds_tlm.txt", locals: {apid: 4} %>
142
- ITEM IMAGE 128 800 BLOCK "10x10 Image Data"
142
+ ITEM IMAGE 128 131072 BLOCK "10x10 Image Data"
143
143
  ITEM TIMESECONDS 0 0 DERIVED "Derived floating-point time since epoch in seconds"
144
144
  READ_CONVERSION unix_time_seconds_conversion.rb TIMESEC TIMEUS
145
145
  FORMAT_STRING '%0.6f'
@@ -4,3 +4,5 @@
4
4
  INTERFACE INST_INT simulated_target_interface.rb sim_inst.rb
5
5
  TARGET INST
6
6
  PROTOCOL READ OverrideProtocol
7
+ # This will ignore all received ADCS packets
8
+ #PROTOCOL READ IgnorePacketProtocol INST ADCS
@@ -13,9 +13,9 @@
13
13
  require 'cosmos'
14
14
 
15
15
  module Cosmos
16
-
16
+ # Simulated instrument for the demo. Populates several packets and cycles
17
+ # the telemetry to simulate an active target.
17
18
  class SimInst < SimulatedTarget
18
-
19
19
  SOLAR_PANEL_DFLTS = [-179.0, 179.0, -179.0, 179.0, -95.0] unless defined? SOLAR_PANEL_DFLTS
20
20
 
21
21
  def initialize(target_name)
@@ -80,6 +80,11 @@ module Cosmos
80
80
  packet.enable_method_missing
81
81
  packet.CcsdsSeqFlags = 'NOGROUP'
82
82
  packet.CcsdsLength = packet.buffer.length - 7
83
+ packet.value1 = 0
84
+ packet.value2 = 1
85
+ packet.value3 = 2
86
+ packet.value4 = 1
87
+ packet.value5 = 0
83
88
 
84
89
  packet = @tlm_packets['IMAGE']
85
90
  packet.enable_method_missing
@@ -296,6 +301,11 @@ module Cosmos
296
301
  when 'IMAGE'
297
302
  packet.timesec = time.tv_sec
298
303
  packet.timeus = time.tv_usec
304
+ # Create an Array the size of the packet and then initialize
305
+ # using a sample of all possible hex values (0..15)
306
+ # finally pack it into binary using the Character 'C' specifier
307
+ data = Array.new(packet.length) { Array(0..15).sample }.pack("C*")
308
+ packet.buffer = data
299
309
  packet.ccsdsseqcnt += 1
300
310
 
301
311
  when 'MECH'
@@ -310,7 +320,9 @@ module Cosmos
310
320
  end
311
321
  end
312
322
 
313
- pending_packets << Packet.new(nil, nil, :BIG_ENDIAN, nil, "\000" * 10) if @get_count == 300
323
+ # Every 10s throw an unknown packet at the server just to demo that
324
+ data = Array.new(10) { rand(0..255) }.pack("C*")
325
+ pending_packets << Packet.new(nil, nil, :BIG_ENDIAN, nil, data) if @get_count % 1000 == 0
314
326
 
315
327
  @get_count += 1
316
328
  pending_packets
@@ -1,8 +1,7 @@
1
1
  SCREEN AUTO AUTO 1.0 FIXED
2
2
 
3
3
  VERTICAL
4
-
5
- TITLE "<%= @target_name %> Instrument ADCS Information"
4
+ TITLE "<%= @target_name %> Instrument ADCS Information" Courier 20 NORMAL true
6
5
  # Note @original_target_name is also available
7
6
 
8
7
  HORIZONTAL
@@ -46,6 +45,7 @@ VERTICAL
46
45
 
47
46
  LABELPROGRESSBAR INST ADCS POSPROGRESS
48
47
  LABELPROGRESSBAR INST ADCS ATTPROGRESS
48
+ LABELPROGRESSBAR INST ADCS ATTPROGRESS 2 60 RAW # scale by 2
49
49
 
50
50
  LABEL ""
51
51
  LABEL "LEFT"
@@ -2,7 +2,7 @@ SCREEN AUTO AUTO 1.0
2
2
 
3
3
  VERTICAL
4
4
  TITLE "<%= @target_name %> Instrument Block Data"
5
- BLOCK INST IMAGE IMAGE 500 200 "%02X" 4 4 "0x%08X:"
5
+ BLOCK INST IMAGE IMAGE 500 600 "%02X" 4 4 "0x%08X:"
6
6
  END
7
7
 
8
8
 
@@ -36,7 +36,7 @@ VERTICAL
36
36
  # Here as an example we're using the BACKGROUNDBUTTON which runs all the code in the background.
37
37
  # Note we didn't need to use this here but it's an example of wrapping calls to the GUI in Qt.execute_in_main_thread.
38
38
  # You need to use this button if your code blocks or takes a long time to execute so you don't hang the screen.
39
- BACKGROUNDBUTTON 'Run Script' 'Cosmos.run_process("#{Cosmos::USERPATH}/tools/ScriptRunner -r #{Qt.execute_in_main_thread { get_named_widget("SCRIPTNAME").text }}")'
39
+ BACKGROUNDBUTTON 'Run Script' 'script = ""; Qt.execute_in_main_thread { script = get_named_widget("SCRIPTNAME").text }; Cosmos.run_cosmos_tool("ScriptRunner", "-r #{script}")'
40
40
  END
41
41
  SETTING BACKCOLOR 163 185 163
42
42
  END
@@ -2,24 +2,46 @@ SCREEN AUTO AUTO 1.0
2
2
 
3
3
  VERTICAL
4
4
  SETTING BACKCOLOR white
5
-
6
5
  TITLE "<%= @target_name %> Instrument Ground Station Status"
7
6
  SETTING BACKCOLOR white
8
7
 
9
- CANVAS 650 594
8
+ CANVAS 650 700
9
+ # The code inside <% %> is just ruby
10
+ <% 11.times do |x| %>
11
+ # Create a dot at various y locations. The <%= %> adds the expression to the file
12
+ CANVASDOT 5 <%= 50 * x + 50 %> BLUE 5
13
+ <% end %> # Close our block from above
14
+ # This is an example of using TLM_AND to && together different logical values
15
+ # Note you must use RAW for the base value and use SETTING IMAGE true / false
16
+ # for the two values you wish to display
17
+ #CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS
18
+ # SETTING TLM_AND INST HEALTH_STATUS GROUND2STATUS VALUE_EQ 1
19
+ # SETTING TLM_AND INST HEALTH_STATUS COLLECTS VALUE_EQ 0
20
+ # SETTING IMAGE true "ground_on.gif" 100 200
21
+ # SETTING IMAGE false "ground_off.gif" 100 200
10
22
  CANVASLINE 10 10 640 10 blue 3
11
23
  CANVASIMAGE "satellite.gif" 50 150
12
- CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS "ground" 400 100
24
+ # We're using the converted value and specifing a default of "ground_error.gif"
25
+ # if none of the IMAGE settings match the value
26
+ CANVASIMAGEVALUE INST HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.gif" 400 100
27
+ SETTING IMAGE CONNECTED "ground_on.gif" 400 100
28
+ SETTING IMAGE UNAVAILABLE "ground_off.gif" 400 100
29
+ # If the image is clicked the "INST HS" screen will popup at 100, 100
30
+ SETTING SCREEN "INST HS" 100 100
13
31
  CANVASLABEL 380 300 "Ground Station #1"
14
32
  CANVASLABELVALUE INST HEALTH_STATUS GROUND1STATUS 520 300
15
- CANVASIMAGEVALUE INST HEALTH_STATUS GROUND2STATUS "ground" 400 350
33
+ # The default type is RAW and no default means anything over 10 will be blank
34
+ CANVASIMAGEVALUE INST HEALTH_STATUS GROUND2STATUS
35
+ SETTING IMAGE 1 "ground_on.gif" 400 350
36
+ SETTING IMAGE 0 "ground_off.gif" 400 350
37
+ # This is an example of using a range of values with a particular image
38
+ SETTING IMAGE 2..10 "ground_error.gif" 400 350
16
39
  CANVASLABEL 380 550 "Ground Station #2"
17
40
  CANVASLABELVALUE INST HEALTH_STATUS GROUND2STATUS 520 550
18
41
  CANVASLINEVALUE INST HEALTH_STATUS GROUND1STATUS 420 135 240 330 green white 3
19
42
  CANVASLINEVALUE INST HEALTH_STATUS GROUND2STATUS 420 385 240 330 green white 3
20
43
  CANVASLINE 10 584 640 584 blue 3
21
44
  END
22
-
23
45
  END
24
46
 
25
47
 
@@ -2,42 +2,80 @@ SCREEN AUTO AUTO 1.0
2
2
 
3
3
  TITLE "<%= @target_name %> Instrument Limits"
4
4
 
5
- VERTICALBOX
6
- SECTIONHEADER "Range Bars 0-100"
7
- RANGEBAR INST HEALTH_STATUS TEMP2 0 100
8
- VALUERANGEBAR INST HEALTH_STATUS TEMP2 0 100
9
- LABELVALUERANGEBAR INST HEALTH_STATUS TEMP2 0 100
10
- END
11
-
12
- VERTICALBOX
13
- SECTIONHEADER "Limits Bars"
14
- LIMITSBAR INST HEALTH_STATUS TEMP2
15
- VALUELIMITSBAR INST HEALTH_STATUS TEMP2
16
- LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP2
17
- END
18
-
19
- VERTICALBOX
20
- SECTIONHEADER "Range Columns 0-100"
21
- HORIZONTAL
22
- RANGECOLUMN INST HEALTH_STATUS TEMP2 0 100
23
- VALUERANGECOLUMN INST HEALTH_STATUS TEMP2 0 100
24
- LABELVALUERANGECOLUMN INST HEALTH_STATUS TEMP2 0 100
5
+ HORIZONTAL
6
+ VERTICALBOX
7
+ SECTIONHEADER "Limits Bars"
8
+ LIMITSBAR INST HEALTH_STATUS TEMP1
9
+ VALUELIMITSBAR INST HEALTH_STATUS TEMP1
10
+ LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
11
+ # The TEMP1 limits are defined as follow:
12
+ # LIMITS DEFAULT 1 ENABLED -80.0 -70.0 60.0 80.0 -20.0 20.0
13
+ # Thus the following are examples of limiting the limitsbar
14
+ LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
15
+ SUBSETTING 1 MIN_VALUE -80
16
+ SUBSETTING 1 MAX_VALUE 80
17
+ LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
18
+ SUBSETTING 1 MIN_VALUE -75
19
+ SUBSETTING 1 MAX_VALUE 70
20
+ LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
21
+ SUBSETTING 1 MIN_VALUE -70
22
+ SUBSETTING 1 MAX_VALUE 60
23
+ LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
24
+ SUBSETTING 1 MIN_VALUE -50
25
+ SUBSETTING 1 MAX_VALUE 50
26
+ LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
27
+ SUBSETTING 1 MIN_VALUE -20
28
+ SUBSETTING 1 MAX_VALUE 20
29
+ LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
30
+ SUBSETTING 1 MIN_VALUE -10
31
+ SUBSETTING 1 MAX_VALUE 10
32
+ END
33
+ VERTICAL
34
+ VERTICALBOX
35
+ SECTIONHEADER "Range Bars 0-100"
36
+ RANGEBAR INST HEALTH_STATUS TEMP2 0 100
37
+ VALUERANGEBAR INST HEALTH_STATUS TEMP2 0 100
38
+ LABELVALUERANGEBAR INST HEALTH_STATUS TEMP2 0 100
39
+ END
40
+ VERTICALBOX
41
+ SECTIONHEADER "Limits Colors"
42
+ LIMITSCOLOR INST HEALTH_STATUS TEMP1 CONVERTED 5 NIL # No label
43
+ LIMITSCOLOR INST HEALTH_STATUS TEMP2 # Default is label with just item name
44
+ LIMITSCOLOR INST HEALTH_STATUS GROUND1STATUS CONVERTED 5 TRUE # Full TGT/PKT/ITEM label
45
+ END
25
46
  END
26
47
  END
27
48
 
28
- VERTICALBOX
29
- SECTIONHEADER "Limits Columns"
30
- HORIZONTAL
31
- LIMITSCOLUMN INST HEALTH_STATUS TEMP2
32
- VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP2
33
- LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP2
49
+ HORIZONTAL
50
+ VERTICALBOX
51
+ SECTIONHEADER "Limits Columns"
52
+ HORIZONTAL
53
+ LIMITSCOLUMN INST HEALTH_STATUS TEMP2
54
+ VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP2
55
+ LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP2 WITH_UNITS 8
56
+ # The TEMP2 limits are defined as follow:
57
+ # LIMITS DEFAULT 1 ENABLED -60.0 -55.0 30.0 35.0
58
+ # Thus the following are examples of limiting the limitscolumn
59
+ LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP2 WITH_UNITS 8
60
+ SUBSETTING 1 MIN_VALUE -60
61
+ SUBSETTING 1 MAX_VALUE 35
62
+ LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP2 WITH_UNITS 8
63
+ SUBSETTING 1 MIN_VALUE -55
64
+ SUBSETTING 1 MAX_VALUE 30
65
+ LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP2 WITH_UNITS 8
66
+ SUBSETTING 1 MIN_VALUE -20
67
+ SUBSETTING 1 MAX_VALUE 10
68
+ END
34
69
  END
35
- END
36
70
 
37
- VERTICALBOX
38
- SECTIONHEADER "Limits Colors"
39
- LIMITSCOLOR INST HEALTH_STATUS TEMP2
40
- LIMITSCOLOR INST HEALTH_STATUS GROUND1STATUS CONVERTED 5 TRUE
71
+ VERTICALBOX
72
+ SECTIONHEADER "Range Columns 0-100"
73
+ HORIZONTAL
74
+ RANGECOLUMN INST HEALTH_STATUS TEMP2 0 100
75
+ VALUERANGECOLUMN INST HEALTH_STATUS TEMP2 0 100
76
+ LABELVALUERANGECOLUMN INST HEALTH_STATUS TEMP2 0 100
77
+ END
78
+ END
41
79
  END
42
80
 
43
81
  <%= render "_footer.txt" %>