cosmos 4.2.4-java → 4.5.0-java
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.
- checksums.yaml +4 -4
- data/.dockerignore +2 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +30 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
- data/.github/ISSUE_TEMPLATE/help---usage---general-question.md +12 -0
- data/.gitignore +2 -0
- data/.travis.yml +6 -6
- data/Dockerfile +69 -0
- data/Gemfile +1 -1
- data/Manifest.txt +130 -46
- data/README.md +9 -0
- data/Rakefile +57 -0
- data/appveyor.yml +18 -7
- data/autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -1
- data/autohotkey/config/targets/INST/cmd_tlm/inst_tlm.txt +5 -5
- data/autohotkey/config/targets/INST/lib/sim_inst.rb +3 -1
- data/autohotkey/config/tools/cmd_sequence/cmd_sequence.txt +2 -0
- data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap-theme.css +397 -0
- data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +7 -0
- data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap.css +7118 -0
- data/autohotkey/config/tools/handbook_creator/assets/css/bootstrap.min.css +7 -0
- data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/autohotkey/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/autohotkey/config/tools/handbook_creator/assets/js/bootstrap.js +2006 -0
- data/autohotkey/config/tools/handbook_creator/assets/js/bootstrap.min.js +7 -0
- data/autohotkey/config/tools/table_manager/ConfigTables_def.txt +2 -4
- data/autohotkey/config/tools/table_manager/SubTables/OneDimensionalSubTable_def.txt +31 -0
- data/autohotkey/config/tools/table_manager/SubTables/TwoDimensionalSubTable_def.txt +28 -0
- data/autohotkey/config/tools/test_runner/test_runner.txt +1 -1
- data/autohotkey/config/tools/test_runner/test_runner2.txt +1 -1
- data/autohotkey/config/tools/test_runner/test_runner3.txt +1 -1
- data/autohotkey/config/tools/test_runner/test_runner4.txt +1 -1
- data/autohotkey/lib/cmd_sequence_exporter.rb +52 -0
- data/autohotkey/procedures/collect.rb +2 -2
- data/autohotkey/procedures/collect_util.rb +1 -1
- data/autohotkey/procedures/script_test.rb +1 -1
- data/autohotkey/tools/CmdSenderAHK2 +18 -0
- data/autohotkey/tools/cmd_sender.ahk +34 -6
- data/autohotkey/tools/cmd_sender2.ahk +4 -0
- data/autohotkey/tools/cmd_sequence.ahk +36 -22
- data/autohotkey/tools/cmd_sequence2.ahk +1 -1
- data/autohotkey/tools/config_editor.ahk +5 -5
- data/autohotkey/tools/launcher.ahk +1 -0
- data/autohotkey/tools/limits_monitor.ahk +1 -1
- data/autohotkey/tools/packet_viewer.ahk +7 -6
- data/autohotkey/tools/script_runner.ahk +16 -4
- data/autohotkey/tools/test_runner.ahk +8 -8
- data/bin/cosmos +38 -1
- data/bin/cstol_converter +1 -1
- data/bin/dart_util +0 -0
- data/bin/rubysloc +73 -28
- data/bin/xtce_converter +1 -1
- data/cosmos.gemspec +7 -9
- data/data/config/_interfaces.yaml +4 -0
- data/data/config/cmd_sequence.yaml +14 -0
- data/data/config/command_modifiers.yaml +16 -1
- data/data/config/housekeeping_params.yaml +14 -0
- data/data/config/interface_modifiers.yaml +14 -2
- data/data/config/item_modifiers.yaml +11 -1
- data/data/config/launcher.yaml +12 -2
- data/data/config/param_item_modifiers.yaml +7 -2
- data/data/config/parameter_modifiers.yaml +20 -0
- data/data/config/screen.yaml +2 -0
- data/data/config/script_runner.yaml +9 -0
- data/data/config/system.yaml +152 -28
- data/data/config/table_manager.yaml +7 -0
- data/data/config/target.yaml +12 -0
- data/data/config/telemetry_modifiers.yaml +19 -2
- data/data/config/test_runner.yaml +10 -9
- data/data/config/widgets.yaml +174 -11
- data/data/crc.txt +428 -415
- data/demo/Gemfile +1 -1
- data/demo/Launcher.bat +1 -9
- data/demo/Launcher2.bat +1 -0
- data/demo/LauncherMini.bat +1 -0
- data/demo/Rakefile +2 -0
- data/demo/config/dart/Gemfile +2 -7
- data/demo/config/data/crc.txt +243 -219
- data/demo/config/system/system.txt +42 -3
- data/demo/config/system/system2.txt +34 -5
- data/demo/config/system/system_alt_ports.txt +80 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm_server.txt +1 -0
- data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +5 -4
- data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +12 -7
- data/demo/config/targets/INST/cmd_tlm/inst_tlm_override.txt +12 -0
- data/demo/config/targets/INST/cmd_tlm_server.txt +2 -0
- data/demo/config/targets/INST/lib/sim_inst.rb +15 -3
- data/demo/config/targets/INST/screens/adcs.txt +2 -2
- data/demo/config/targets/INST/screens/block.txt +1 -1
- data/demo/config/targets/INST/screens/commanding.txt +1 -1
- data/demo/config/targets/INST/screens/ground.txt +27 -5
- data/demo/config/targets/INST/screens/ground_error.gif +0 -0
- data/demo/config/{data/groundoff.gif → targets/INST/screens/ground_off.gif} +0 -0
- data/demo/config/{data/groundon.gif → targets/INST/screens/ground_on.gif} +0 -0
- data/demo/config/targets/INST/screens/limits.txt +69 -31
- data/demo/config/targets/INST/screens/other.txt +13 -3
- data/demo/config/targets/INST/screens/params.txt +54 -0
- data/demo/config/targets/INST/screens/satellite.gif +0 -0
- data/demo/config/targets/INST/target.txt +1 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server_chain.txt +18 -0
- data/demo/config/tools/data_viewer/data_viewer.txt +3 -0
- data/demo/config/tools/handbook_creator/assets/css/bootstrap-theme.css +397 -0
- data/demo/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +7 -0
- data/demo/config/tools/handbook_creator/assets/css/bootstrap.css +7118 -0
- data/demo/config/tools/handbook_creator/assets/css/bootstrap.min.css +7 -0
- data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/demo/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/demo/config/tools/handbook_creator/assets/img/ball_logo.bmp +0 -0
- data/demo/config/tools/handbook_creator/assets/img/ball_logo.gif +0 -0
- data/demo/config/tools/handbook_creator/assets/img/ball_logo.jpg +0 -0
- data/demo/config/tools/handbook_creator/assets/js/bootstrap.js +2006 -0
- data/demo/config/tools/handbook_creator/assets/js/bootstrap.min.js +7 -0
- data/demo/config/tools/handbook_creator/assets/js/html5shiv.js +8 -0
- data/demo/config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js +6 -0
- data/demo/config/tools/handbook_creator/assets/js/respond.min.js +6 -0
- data/demo/config/tools/handbook_creator/default_toc.xsl +59 -59
- data/demo/config/tools/script_runner/script_runner.txt +1 -2
- data/demo/config/tools/test_runner/test_runner.txt +3 -1
- data/demo/lib/example_background_task.rb +1 -0
- data/demo/procedures/cosmos_api_test.rb +26 -22
- data/demo/procedures/interactive.rb +22 -0
- data/demo/procedures/local_screen_example.rb +51 -0
- data/ext/cosmos/ext/cosmos_io/cosmos_io.c +32 -4
- data/ext/cosmos/ext/packet/packet.c +6 -77
- data/ext/mkrf_conf.rb +2 -2
- data/extensions/vscode/.gitignore +4 -0
- data/extensions/vscode/.vscode/launch.json +32 -0
- data/extensions/vscode/.vscode/settings.json +13 -0
- data/extensions/vscode/.vscode/tasks.json +79 -0
- data/extensions/vscode/License.txt +879 -0
- data/extensions/vscode/README.md +9 -0
- data/extensions/vscode/client/License.txt +879 -0
- data/extensions/vscode/client/README.md +39 -0
- data/extensions/vscode/client/cosmos.configuration.json +23 -0
- data/extensions/vscode/client/images/icon.png +0 -0
- data/extensions/vscode/client/package-lock.json +414 -0
- data/extensions/vscode/client/package.json +105 -0
- data/extensions/vscode/client/src/extension.ts +132 -0
- data/extensions/vscode/client/src/screen_preview.rb +25 -0
- data/extensions/vscode/client/syntaxes/cosmos.tmLanguage.json +219 -0
- data/extensions/vscode/client/tsconfig.json +17 -0
- data/extensions/vscode/package-lock.json +26 -0
- data/extensions/vscode/package.json +35 -0
- data/extensions/vscode/server/License.txt +879 -0
- data/extensions/vscode/server/package-lock.json +236 -0
- data/extensions/vscode/server/package.json +29 -0
- data/extensions/vscode/server/src/server.ts +59 -0
- data/extensions/vscode/server/tsconfig.json +16 -0
- data/install/Gemfile +1 -1
- data/install/Launcher.bat +1 -9
- data/install/config/dart/Gemfile +3 -8
- data/install/config/data/crc.txt +148 -132
- data/install/config/system/system.txt +36 -3
- data/install/config/tools/handbook_creator/assets/css/bootstrap-theme.css +397 -0
- data/install/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +7 -0
- data/install/config/tools/handbook_creator/assets/css/bootstrap.css +7118 -0
- data/install/config/tools/handbook_creator/assets/css/bootstrap.min.css +7 -0
- data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/install/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/install/config/tools/handbook_creator/assets/img/ball_logo.bmp +0 -0
- data/install/config/tools/handbook_creator/assets/img/ball_logo.gif +0 -0
- data/install/config/tools/handbook_creator/assets/img/ball_logo.jpg +0 -0
- data/install/config/tools/handbook_creator/assets/js/bootstrap.js +2006 -0
- data/install/config/tools/handbook_creator/assets/js/bootstrap.min.js +7 -0
- data/install/config/tools/handbook_creator/assets/js/html5shiv.js +8 -0
- data/install/config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js +6 -0
- data/install/config/tools/handbook_creator/assets/js/respond.min.js +6 -0
- data/install/config/tools/handbook_creator/default_toc.xsl +59 -59
- data/lib/cosmos/config/config_parser.rb +4 -5
- data/lib/cosmos/conversions.rb +2 -0
- data/lib/cosmos/conversions/packet_time_formatted_conversion.rb +38 -0
- data/lib/cosmos/conversions/packet_time_seconds_conversion.rb +38 -0
- data/lib/cosmos/core_ext/cosmos_io.rb +2 -1
- data/lib/cosmos/core_ext/time.rb +3 -1
- data/lib/cosmos/dart/config/boot.rb +1 -1
- data/lib/cosmos/dart/config/database.yml +2 -0
- data/lib/cosmos/dart/examples/dart_decom_client.rb +1 -1
- data/lib/cosmos/dart/examples/dart_stream_client.rb +6 -2
- data/lib/cosmos/dart/lib/dart_common.rb +13 -6
- data/lib/cosmos/dart/lib/dart_constants.rb +15 -0
- data/lib/cosmos/dart/lib/dart_database_cleaner.rb +2 -2
- data/lib/cosmos/dart/lib/dart_decom_query.rb +5 -6
- data/lib/cosmos/dart/lib/dart_decommutator.rb +64 -54
- data/lib/cosmos/dart/lib/dart_importer.rb +3 -3
- data/lib/cosmos/dart/lib/dart_master_query.rb +71 -0
- data/lib/cosmos/dart/lib/dart_packet_log_writer.rb +2 -2
- data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +165 -134
- data/lib/cosmos/dart/processes/dart.rb +4 -2
- data/lib/cosmos/dart/processes/dart_decom_server.rb +3 -3
- data/lib/cosmos/dart/processes/dart_ingester.rb +40 -1
- data/lib/cosmos/dart/processes/dart_master.rb +44 -0
- data/lib/cosmos/dart/processes/dart_util.rb +119 -4
- data/lib/cosmos/dart/spec/dart/dart_reducer_manager_spec.rb +3 -3
- data/lib/cosmos/gui/dialogs/cmd_tlm_raw_dialog.rb +9 -5
- data/lib/cosmos/gui/dialogs/details_dialog.rb +44 -29
- data/lib/cosmos/gui/dialogs/exception_list_dialog.rb +1 -1
- data/lib/cosmos/gui/dialogs/find_replace_dialog.rb +3 -3
- data/lib/cosmos/gui/dialogs/interface_raw_dialog.rb +2 -2
- data/lib/cosmos/gui/dialogs/set_tlm_dialog.rb +1 -1
- data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +11 -10
- data/lib/cosmos/gui/dialogs/tlm_graph_dialog.rb +4 -2
- data/lib/cosmos/gui/opengl/earth_model.rb +1 -1
- data/lib/cosmos/gui/qt.rb +13 -2
- data/lib/cosmos/gui/qt_tool.rb +71 -43
- data/lib/cosmos/gui/text/ruby_editor.rb +91 -49
- data/lib/cosmos/gui/utilities/classification_banner.rb +60 -0
- data/lib/cosmos/gui/utilities/screenshot.rb +1 -1
- data/lib/cosmos/gui/utilities/script_module_gui.rb +117 -91
- data/lib/cosmos/gui/widgets/dart_meta_frame.rb +22 -3
- data/lib/cosmos/interfaces.rb +2 -0
- data/lib/cosmos/interfaces/dart_status_interface.rb +1 -1
- data/lib/cosmos/interfaces/interface.rb +9 -1
- data/lib/cosmos/interfaces/linc_interface.rb +3 -3
- data/lib/cosmos/interfaces/protocols/burst_protocol.rb +1 -1
- data/lib/cosmos/interfaces/protocols/crc_protocol.rb +1 -1
- data/lib/cosmos/interfaces/protocols/fixed_protocol.rb +40 -18
- data/lib/cosmos/interfaces/protocols/ignore_packet_protocol.rb +46 -0
- data/lib/cosmos/interfaces/protocols/length_protocol.rb +5 -0
- data/lib/cosmos/interfaces/protocols/preidentified_protocol.rb +68 -23
- data/lib/cosmos/interfaces/protocols/template_protocol.rb +9 -4
- data/lib/cosmos/interfaces/serial_interface.rb +7 -1
- data/lib/cosmos/interfaces/simulated_target_interface.rb +14 -5
- data/lib/cosmos/interfaces/stream_interface.rb +1 -1
- data/lib/cosmos/interfaces/tcpip_server_interface.rb +13 -13
- data/lib/cosmos/io/json_drb.rb +16 -12
- data/lib/cosmos/io/json_drb_object.rb +7 -2
- data/lib/cosmos/io/json_drb_rack.rb +25 -5
- data/lib/cosmos/io/json_rpc.rb +1 -1
- data/lib/cosmos/io/posix_serial_driver.rb +60 -22
- data/lib/cosmos/io/serial_driver.rb +11 -8
- data/lib/cosmos/io/win32_serial_driver.rb +31 -3
- data/lib/cosmos/packet_logs/packet_log_reader.rb +71 -28
- data/lib/cosmos/packet_logs/packet_log_writer.rb +13 -1
- data/lib/cosmos/packets/commands.rb +30 -9
- data/lib/cosmos/packets/packet.rb +105 -34
- data/lib/cosmos/packets/packet_config.rb +60 -10
- data/lib/cosmos/packets/parsers/format_string_parser.rb +0 -1
- data/lib/cosmos/packets/parsers/state_parser.rb +0 -1
- data/lib/cosmos/packets/parsers/xtce_converter.rb +2 -0
- data/lib/cosmos/packets/parsers/xtce_parser.rb +5 -4
- data/lib/cosmos/packets/structure.rb +32 -4
- data/lib/cosmos/packets/structure_item.rb +5 -1
- data/lib/cosmos/packets/telemetry.rb +30 -4
- data/lib/cosmos/script/api_shared.rb +22 -10
- data/lib/cosmos/script/extract.rb +1 -1
- data/lib/cosmos/script/limits.rb +4 -0
- data/lib/cosmos/script/script.rb +29 -20
- data/lib/cosmos/script/scripting.rb +16 -14
- data/lib/cosmos/script/telemetry.rb +3 -1
- data/lib/cosmos/script/tools.rb +18 -8
- data/lib/cosmos/streams/serial_stream.rb +11 -6
- data/lib/cosmos/system/system.rb +214 -76
- data/lib/cosmos/system/target.rb +39 -9
- data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +116 -55
- data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +15 -0
- data/lib/cosmos/tools/cmd_sender/cmd_params.rb +382 -0
- data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +54 -340
- data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +74 -52
- data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +40 -333
- data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +16 -11
- data/lib/cosmos/tools/cmd_tlm_server/api.rb +13 -0
- data/lib/cosmos/tools/cmd_tlm_server/background_tasks.rb +2 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +44 -15
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +8 -1
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +18 -20
- data/lib/cosmos/tools/cmd_tlm_server/commanding.rb +13 -2
- data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +2 -2
- data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +13 -13
- data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +9 -6
- data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +8 -8
- data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +5 -5
- data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +35 -20
- data/lib/cosmos/tools/cmd_tlm_server/replay_backend.rb +15 -11
- data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +5 -0
- data/lib/cosmos/tools/cmd_tlm_server/routers.rb +2 -0
- data/lib/cosmos/tools/config_editor/config_editor.rb +181 -94
- data/lib/cosmos/tools/config_editor/config_editor_frame.rb +10 -9
- data/lib/cosmos/tools/config_editor/system_config_dialog.rb +158 -0
- data/lib/cosmos/tools/data_viewer/data_viewer.rb +57 -47
- data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +1 -0
- data/lib/cosmos/tools/data_viewer/dump_component.rb +3 -9
- data/lib/cosmos/tools/data_viewer/text_component.rb +77 -0
- data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +68 -42
- data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +1 -1
- data/lib/cosmos/tools/launcher/launcher.rb +2 -1
- data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +59 -41
- data/lib/cosmos/tools/opengl_builder/opengl_builder.rb +42 -42
- data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +64 -59
- data/lib/cosmos/tools/script_runner/script_runner.rb +198 -123
- data/lib/cosmos/tools/script_runner/script_runner_config.rb +14 -0
- data/lib/cosmos/tools/script_runner/script_runner_frame.rb +87 -35
- data/lib/cosmos/tools/table_manager/table_config.rb +5 -3
- data/lib/cosmos/tools/table_manager/table_manager.rb +48 -45
- data/lib/cosmos/tools/test_runner/test.rb +5 -2
- data/lib/cosmos/tools/test_runner/test_runner.rb +61 -38
- data/lib/cosmos/tools/test_runner/test_runner_chooser.rb +24 -12
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +48 -48
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +5 -8
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +20 -16
- data/lib/cosmos/tools/tlm_grapher/data_object_adders/xy_data_object_adder.rb +3 -3
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +7 -7
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/xy_data_object_editor.rb +10 -10
- data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +10 -3
- data/lib/cosmos/tools/tlm_grapher/data_objects/xy_data_object.rb +6 -6
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +14 -14
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +21 -17
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_realtime_thread.rb +5 -8
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tool.rb +94 -91
- data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +27 -26
- data/lib/cosmos/tools/tlm_viewer/screen.rb +76 -14
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +51 -34
- data/lib/cosmos/tools/tlm_viewer/widgets.rb +3 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/aging_widget.rb +4 -5
- data/lib/cosmos/tools/tlm_viewer/widgets/array_widget.rb +3 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/block_widget.rb +4 -5
- data/lib/cosmos/tools/tlm_viewer/widgets/canvas_clickable.rb +16 -2
- data/lib/cosmos/tools/tlm_viewer/widgets/canvas_widget.rb +17 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +1 -2
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasellipse_widget.rb +40 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasimage_widget.rb +12 -7
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasimagevalue_widget.rb +79 -29
- data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabel_widget.rb +1 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabelvalue_widget.rb +2 -1
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasline_widget.rb +2 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvaslinevalue_widget.rb +4 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasvalue_widget.rb +33 -25
- data/lib/cosmos/tools/tlm_viewer/widgets/checkbutton_widget.rb +5 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/combobox_widget.rb +5 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/formatfontvalue_widget.rb +1 -1
- data/lib/cosmos/tools/tlm_viewer/widgets/formatvalue_widget.rb +4 -7
- data/lib/cosmos/tools/tlm_viewer/widgets/horizontal_widget.rb +5 -5
- data/lib/cosmos/tools/tlm_viewer/widgets/horizontalbox_widget.rb +6 -7
- data/lib/cosmos/tools/tlm_viewer/widgets/horizontalline_widget.rb +2 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/label_widget.rb +10 -8
- data/lib/cosmos/tools/tlm_viewer/widgets/labelformatvalue_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/labelled_widget.rb +58 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelprogressbar_widget.rb +3 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/labeltrendlimitsbar_widget.rb +2 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvalue_widget.rb +2 -1
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluedesc_widget.rb +3 -5
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluelimitsbar_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluelimitscolumn_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangebar_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangecolumn_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/layout_widget.rb +3 -5
- data/lib/cosmos/tools/tlm_viewer/widgets/led_widget.rb +108 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limits_widget.rb +60 -10
- data/lib/cosmos/tools/tlm_viewer/widgets/limitsbar_widget.rb +22 -8
- data/lib/cosmos/tools/tlm_viewer/widgets/limitscolor_widget.rb +19 -13
- data/lib/cosmos/tools/tlm_viewer/widgets/limitscolumn_widget.rb +22 -8
- data/lib/cosmos/tools/tlm_viewer/widgets/linegraph_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +4 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/multi_widget.rb +1 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/progressbar_widget.rb +10 -5
- data/lib/cosmos/tools/tlm_viewer/widgets/radiobutton_widget.rb +7 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/rangebar_widget.rb +4 -6
- data/lib/cosmos/tools/tlm_viewer/widgets/rangecolumn_widget.rb +3 -5
- data/lib/cosmos/tools/tlm_viewer/widgets/screenshotbutton_widget.rb +4 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/scrollwindow_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/sectionheader_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/spacer_widget.rb +4 -6
- data/lib/cosmos/tools/tlm_viewer/widgets/tabbook_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/tabitem_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/textbox_widget.rb +13 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/textfield_widget.rb +3 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/timegraph_widget.rb +3 -8
- data/lib/cosmos/tools/tlm_viewer/widgets/title_widget.rb +6 -12
- data/lib/cosmos/tools/tlm_viewer/widgets/trendbar_widget.rb +5 -10
- data/lib/cosmos/tools/tlm_viewer/widgets/trendlimitsbar_widget.rb +5 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/value_widget.rb +4 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/valuelimitsbar_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/valuelimitscolumn_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/valuerangebar_widget.rb +3 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/valuerangecolumn_widget.rb +2 -3
- data/lib/cosmos/tools/tlm_viewer/widgets/vertical_widget.rb +8 -7
- data/lib/cosmos/tools/tlm_viewer/widgets/verticalbox_widget.rb +9 -7
- data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +60 -47
- data/lib/cosmos/top_level.rb +37 -13
- data/lib/cosmos/utilities/ruby_lex_utils.rb +34 -30
- data/lib/cosmos/version.rb +5 -5
- data/lib/cosmos/win32/excel.rb +81 -24
- data/make_gems.sh +10 -0
- data/run_gui_tests.bat +1 -0
- data/spec/conversions/packet_time_formatted_conversion_spec.rb +58 -0
- data/spec/conversions/packet_time_seconds_conversion_spec.rb +60 -0
- data/spec/core_ext/socket_spec.rb +1 -1
- data/spec/core_ext/time_spec.rb +4 -0
- data/spec/gui/utilities/script_module_gui_spec.rb +44 -63
- data/spec/install/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -1
- data/spec/install/config/targets/INST/cmd_tlm/inst_tlm.txt +5 -5
- data/spec/install/yaml_docs_spec.rb +132 -0
- data/spec/interfaces/linc_interface_spec.rb +1 -1
- data/spec/interfaces/protocols/fixed_protocol_spec.rb +20 -9
- data/spec/interfaces/protocols/ignore_packet_protocol_spec.rb +243 -0
- data/spec/interfaces/protocols/length_protocol_spec.rb +39 -0
- data/spec/interfaces/protocols/preidentified_protocol_spec.rb +227 -4
- data/spec/interfaces/protocols/template_protocol_spec.rb +78 -25
- data/spec/io/json_drb_rack_spec.rb +166 -0
- data/spec/io/json_drb_spec.rb +14 -0
- data/spec/io/json_rpc_spec.rb +4 -5
- data/spec/io/posix_serial_driver_spec.rb +81 -0
- data/spec/io/serial_driver_spec.rb +15 -13
- data/spec/io/win32_serial_driver_spec.rb +33 -3
- data/spec/packet_logs/packet_log_reader_spec.rb +106 -52
- data/spec/packets/commands_spec.rb +22 -0
- data/spec/packets/packet_config_spec.rb +29 -16
- data/spec/packets/packet_item_spec.rb +2 -2
- data/spec/packets/packet_spec.rb +39 -6
- data/spec/packets/parsers/format_string_parser_spec.rb +0 -11
- data/spec/packets/parsers/macro_parser_spec.rb +36 -36
- data/spec/packets/parsers/state_parser_spec.rb +69 -11
- data/spec/packets/structure_spec.rb +93 -2
- data/spec/packets/telemetry_spec.rb +63 -10
- data/spec/script/extract_spec.rb +4 -1
- data/spec/script/script_spec.rb +2 -3
- data/spec/script/scripting_spec.rb +2 -1
- data/spec/script/tools_spec.rb +0 -1
- data/spec/streams/tcpip_socket_stream_spec.rb +32 -27
- data/spec/system/system_spec.rb +187 -4
- data/spec/system/target_spec.rb +62 -1
- data/spec/tools/cmd_tlm_server/api_spec.rb +29 -21
- data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +15 -7
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +33 -0
- data/spec/tools/cmd_tlm_server/commanding_spec.rb +25 -1
- data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +15 -0
- data/spec/tools/cmd_tlm_server/router_thread_spec.rb +2 -3
- data/spec/top_level/top_level_spec.rb +29 -5
- data/spec/utilities/message_log_spec.rb +6 -3
- data/tasks/gemfile_stats.rake +38 -14
- data/test/performance/config/system/system.txt +0 -0
- data/test/performance/config/targets/PACKET/cmd_tlm/packet_tlm.txt +5 -5
- data/test/performance/config/tools/handbook_creator/assets/css/bootstrap-theme.css +397 -0
- data/test/performance/config/tools/handbook_creator/assets/css/bootstrap-theme.min.css +7 -0
- data/test/performance/config/tools/handbook_creator/assets/css/bootstrap.css +7118 -0
- data/test/performance/config/tools/handbook_creator/assets/css/bootstrap.min.css +7 -0
- data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/test/performance/config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/test/performance/config/tools/handbook_creator/assets/img/ball_logo.bmp +0 -0
- data/test/performance/config/tools/handbook_creator/assets/img/ball_logo.gif +0 -0
- data/test/performance/config/tools/handbook_creator/assets/img/ball_logo.jpg +0 -0
- data/test/performance/config/tools/handbook_creator/assets/js/bootstrap.js +2006 -0
- data/test/performance/config/tools/handbook_creator/assets/js/bootstrap.min.js +7 -0
- data/test/performance/config/tools/handbook_creator/assets/js/html5shiv.js +8 -0
- data/test/performance/config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js +6 -0
- data/test/performance/config/tools/handbook_creator/assets/js/respond.min.js +6 -0
- data/test/performance/config/tools/test_runner/test_runner.txt +1 -1
- data/test/performance/procedures/cosmos_api_test.rb +1 -1
- data/test/performance/tools/identify_performance.rb +82 -0
- metadata +146 -62
- data/lib/cosmos/dart/Gemfile +0 -69
|
@@ -69,3 +69,17 @@ SHOW_LIMITS_LINES:
|
|
|
69
69
|
description: Whether to display the limits lines
|
|
70
70
|
required: true
|
|
71
71
|
values: ['TRUE','FALSE']
|
|
72
|
+
DART_REDUCTION:
|
|
73
|
+
summary: What kind of DART reduction to use for the data item
|
|
74
|
+
parameters:
|
|
75
|
+
- name: Reduction Time Period
|
|
76
|
+
description: DART reduces data over minute, hour, and day
|
|
77
|
+
required: true
|
|
78
|
+
values: ['NONE','MINUTE','HOUR','DAY']
|
|
79
|
+
DART_REDUCED_TYPE:
|
|
80
|
+
summary: What kind of DART reduction type to use for the data item
|
|
81
|
+
parameters:
|
|
82
|
+
- name: Reduction Type
|
|
83
|
+
description: DART calculates an average, minimum, maximum and standard deviation over the time period
|
|
84
|
+
required: true
|
|
85
|
+
values: ['AVG','MIN','MAX','STDDEV']
|
|
@@ -35,6 +35,17 @@ LOG:
|
|
|
35
35
|
required: true
|
|
36
36
|
description: Log writer name as defined by PACKET_LOG_WRITER
|
|
37
37
|
values: \D\S*
|
|
38
|
+
LOG_STORED:
|
|
39
|
+
summary: Enable logging of stored telemetry on the interface by the specified log writer
|
|
40
|
+
description: LOG_STORED allows you to specify a different log writer for stored telemetry
|
|
41
|
+
(telemetry which has the 'stored' flag set in the packet). By default the stored telemetry
|
|
42
|
+
is intermingled in the normal log file.
|
|
43
|
+
warning: Choosing a custom log writer can prevent COSMOS from reading back your log files
|
|
44
|
+
parameters:
|
|
45
|
+
- name: Name
|
|
46
|
+
required: true
|
|
47
|
+
description: Log writer name as defined by PACKET_LOG_WRITER
|
|
48
|
+
values: \D\S*
|
|
38
49
|
DONT_LOG:
|
|
39
50
|
summary: Disable logging commands and telemetry on this interface
|
|
40
51
|
LOG_RAW:
|
|
@@ -73,8 +84,9 @@ OPTION:
|
|
|
73
84
|
- name: Name
|
|
74
85
|
required: true
|
|
75
86
|
description: The option to set. COSMOS defines several options on the core provided
|
|
76
|
-
interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS
|
|
77
|
-
|
|
87
|
+
interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS,
|
|
88
|
+
STRUCT to directly set fields in the Windows DCB or POSIX structure and it defines
|
|
89
|
+
DATA_BITS which changes the data bits of the serial interface.
|
|
78
90
|
The TcpipServerInterface defines LISTEN_ADDRESS which is the IP address to accept
|
|
79
91
|
connections on (default 0.0.0.0) and AUTO_SYSTEM_META which will automatically send
|
|
80
92
|
SYSTEM META when the interface connects (default false).
|
|
@@ -131,6 +131,15 @@ GENERIC_READ_CONVERSION_START:
|
|
|
131
131
|
GENERIC_READ_CONVERSION_START
|
|
132
132
|
value * 1.5 # Convert the value by a scale factor
|
|
133
133
|
GENERIC_READ_CONVERSION_END
|
|
134
|
+
parameters:
|
|
135
|
+
- name: Converted Type
|
|
136
|
+
required: false
|
|
137
|
+
description: Type of the converted value
|
|
138
|
+
values: <%= %w(INT UINT FLOAT STRING BLOCK) %>
|
|
139
|
+
- name: Converted Bit Size
|
|
140
|
+
required: false
|
|
141
|
+
description: Bit size of converted value
|
|
142
|
+
values: \d+
|
|
134
143
|
GENERIC_READ_CONVERSION_END:
|
|
135
144
|
summary: Complete a generic read conversion
|
|
136
145
|
LIMITS:
|
|
@@ -157,7 +166,8 @@ LIMITS:
|
|
|
157
166
|
values: \d+
|
|
158
167
|
- name: Initial State
|
|
159
168
|
required: true
|
|
160
|
-
description: Whether limits monitoring for this telemetry item is initially enabled or disabled
|
|
169
|
+
description: Whether limits monitoring for this telemetry item is initially enabled or disabled.
|
|
170
|
+
Note if you have multiple LIMITS items they should all have the same initial state.
|
|
161
171
|
values: ['ENABLED', 'DISABLED']
|
|
162
172
|
- name: Red Low Limit
|
|
163
173
|
required: true
|
data/data/config/launcher.yaml
CHANGED
|
@@ -60,7 +60,10 @@ TOOL:
|
|
|
60
60
|
required: true
|
|
61
61
|
description: Command that is executed to launch the tool. (The same thing you
|
|
62
62
|
would type at a command terminal). Note that you can include tool parameters
|
|
63
|
-
here which will be applied when the tool starts.
|
|
63
|
+
here which will be applied when the tool starts. COSMOS defines three helper
|
|
64
|
+
keywords to execute tools - LAUNCH, LAUNCH_TERMINAL, and LAUNCH_GEM. LAUNCH
|
|
65
|
+
starts a GUI Ruby tool without a terminal. LAUNCH_TERMINAL starts a Ruby tool
|
|
66
|
+
with a terminal window. LAUNCH_GEM launches a Ruby tool distributed with a gem.
|
|
64
67
|
values: .+
|
|
65
68
|
- name: Icon Filename
|
|
66
69
|
required: false
|
|
@@ -101,7 +104,10 @@ MULTITOOL_START:
|
|
|
101
104
|
required: true
|
|
102
105
|
description: Command that is executed to launch the tool. (The same thing you
|
|
103
106
|
would type at a command terminal). Note that you can include tool parameters
|
|
104
|
-
here which will be applied when the tool starts.
|
|
107
|
+
here which will be applied when the tool starts. COSMOS defines three helper
|
|
108
|
+
keywords to execute tools - LAUNCH, LAUNCH_TERMINAL, and LAUNCH_GEM. LAUNCH
|
|
109
|
+
starts a GUI Ruby tool without a terminal. LAUNCH_TERMINAL starts a Ruby tool
|
|
110
|
+
with a terminal window. LAUNCH_GEM launches a Ruby tool distributed with a gem.
|
|
105
111
|
values: .+
|
|
106
112
|
modifiers:
|
|
107
113
|
DONT_CAPTURE_IO:
|
|
@@ -115,3 +121,7 @@ MULTITOOL_START:
|
|
|
115
121
|
values: \d+
|
|
116
122
|
MULTITOOL_END:
|
|
117
123
|
summary: Ends the creation of a multi-tool button
|
|
124
|
+
AUTO_GEM_TOOLS:
|
|
125
|
+
summary: Automatically installs COSMOS tool gems
|
|
126
|
+
description: Traverses the installed rubygems looking for COSMOS gems named cosmos-xxxx.gem.
|
|
127
|
+
If the gem has a tools directory, the tool launcher will be added as a TOOL in the Launcher.
|
|
@@ -11,12 +11,12 @@ FORMAT_STRING:
|
|
|
11
11
|
UNITS:
|
|
12
12
|
summary: Add displayed units
|
|
13
13
|
example: |
|
|
14
|
-
UNITS
|
|
14
|
+
UNITS Celsius C
|
|
15
15
|
UNITS Kilometers KM
|
|
16
16
|
parameters:
|
|
17
17
|
- name: Full Name
|
|
18
18
|
required: true
|
|
19
|
-
description: Full name of the units type, e.g.
|
|
19
|
+
description: Full name of the units type, e.g. Celsius
|
|
20
20
|
values: .*
|
|
21
21
|
- name: Abbreviated
|
|
22
22
|
required: true
|
|
@@ -44,3 +44,8 @@ META:
|
|
|
44
44
|
required: false
|
|
45
45
|
description: One or more values to be stored for this Meta Name
|
|
46
46
|
values: .*
|
|
47
|
+
OVERLAP:
|
|
48
|
+
summary: This item is allowed to overlap other items in the packet
|
|
49
|
+
description: If an item's bit offset overlaps another item, COSMOS issues a warning. This keyword explicitly
|
|
50
|
+
allows an item to overlap another and supresses the warning message.
|
|
51
|
+
since: 4.4.1
|
|
@@ -68,6 +68,16 @@ WRITE_CONVERSION:
|
|
|
68
68
|
takes extra parameters and must always implement the call method. The conversion
|
|
69
69
|
factor is applied to the value entered by the user before it is written into
|
|
70
70
|
the binary command packet and sent.
|
|
71
|
+
|
|
72
|
+
<div class="note info">
|
|
73
|
+
<h5>Multiple write conversions on command parameters</h5>
|
|
74
|
+
<p>When a command is built, each item gets written (and write conversions are run)
|
|
75
|
+
to set the default value. Then items are written (again write conversions are run)
|
|
76
|
+
with user provided values. Thus write conversions can be run twice. Also there are
|
|
77
|
+
no guarantees which parameters have already been written. The packet itself has a
|
|
78
|
+
given_values() method which can be used to retrieve a hash of the user provided
|
|
79
|
+
values to the command. That can be used to check parameter values passed in.</p>
|
|
80
|
+
</div>
|
|
71
81
|
example: |
|
|
72
82
|
WRITE_CONVERSION the_great_conversion.rb 1000
|
|
73
83
|
|
|
@@ -151,6 +161,16 @@ GENERIC_WRITE_CONVERSION_START:
|
|
|
151
161
|
compatibility). The last line of ruby code given should return the converted
|
|
152
162
|
value. The GENERIC_WRITE_CONVERSION_END keyword specifies that all lines of
|
|
153
163
|
ruby code for the conversion have been given.
|
|
164
|
+
|
|
165
|
+
<div class="note info">
|
|
166
|
+
<h5>Multiple write conversions on command parameters</h5>
|
|
167
|
+
<p>When a command is built, each item gets written (and write conversions are run)
|
|
168
|
+
to set the default value. Then items are written (again write conversions are run)
|
|
169
|
+
with user provided values. Thus write conversions can be run twice. Also there are
|
|
170
|
+
no guarantees which parameters have already been written. The packet itself has a
|
|
171
|
+
given_values() method which can be used to retrieve a hash of the user provided
|
|
172
|
+
values to the command. That can be used to check parameter values passed in.</p>
|
|
173
|
+
</div>
|
|
154
174
|
warning: Generic conversions are not a good long term solution. Consider creating
|
|
155
175
|
a conversion class and using WRITE_CONVERSION instead. WRITE_CONVERSION is easier
|
|
156
176
|
to debug and higher performance.
|
data/data/config/screen.yaml
CHANGED
|
@@ -146,6 +146,8 @@ NAMED_WIDGET:
|
|
|
146
146
|
required: true
|
|
147
147
|
description: The unique parameters for the given widget type
|
|
148
148
|
values: .+
|
|
149
|
+
STAY_ON_TOP:
|
|
150
|
+
summary: Force a screen to stay on top of all other windows
|
|
149
151
|
# Even though these are technically SCREEN modifiers we load them at the top_frame
|
|
150
152
|
# level so they appear as available keywords
|
|
151
153
|
<%= MetaConfigParser.load('widgets.yaml').to_meta_config_yaml(0) %>
|
|
@@ -7,6 +7,15 @@ LINE_DELAY:
|
|
|
7
7
|
description: Delay in seconds before the next line is executed. A value of
|
|
8
8
|
0 means to execute the scripts as fast as possible.
|
|
9
9
|
values: '[0-9]*\.?[0-9]+'
|
|
10
|
+
PAUSE_ON_ERROR:
|
|
11
|
+
summary: Set or clear the pause on error checkbox
|
|
12
|
+
description: If this is checked, Script Runner will pause if the test encounters
|
|
13
|
+
an error. Otherwise the error will be logged but the script will continue.
|
|
14
|
+
parameters:
|
|
15
|
+
- name: Enable
|
|
16
|
+
required: true
|
|
17
|
+
description: Whether to pause when the script encounters an error
|
|
18
|
+
values: ['TRUE', 'FALSE']
|
|
10
19
|
MONITOR_LIMITS:
|
|
11
20
|
summary: Log limits events to the Script Runner log file while a script is running
|
|
12
21
|
description: Limits events are always logged by the Command and Telemetry Server
|
data/data/config/system.yaml
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
AUTO_DECLARE_TARGETS:
|
|
3
3
|
summary: Automatically load all the target folders under config/targets into the system
|
|
4
|
-
description:
|
|
4
|
+
description:
|
|
5
|
+
When automatically discovering target folders the COSMOS naming convention
|
|
5
6
|
must be followed. Target folders must be uppercase and be named according to how
|
|
6
7
|
COSMOS will access them. For example, if you create a config/targets/INST directory,
|
|
7
8
|
COSMOS will create a target named 'INST' which is how it will be referenced.
|
|
@@ -9,7 +10,8 @@ AUTO_DECLARE_TARGETS:
|
|
|
9
10
|
DECLARE_TARGET keyword.
|
|
10
11
|
DECLARE_TARGET:
|
|
11
12
|
summary: Declare a COSMOS target and name it
|
|
12
|
-
description:
|
|
13
|
+
description:
|
|
14
|
+
Declare target is used in place of AUTO_DECLARE_TARGETS to give more
|
|
13
15
|
fine grained control over how the target folder is loaded and named within COSMOS.
|
|
14
16
|
This is required if AUTO_DECLARE_TARGET is not present.
|
|
15
17
|
example: DECLARE_TARGET INST INST2 inst.txt
|
|
@@ -26,7 +28,8 @@ DECLARE_TARGET:
|
|
|
26
28
|
the target name will be the directory name given above.
|
|
27
29
|
- name: Target Filename
|
|
28
30
|
required: false
|
|
29
|
-
description:
|
|
31
|
+
description:
|
|
32
|
+
The name of the file in the target directory which contains the
|
|
30
33
|
configuration information for the target. By default this is 'target.txt'
|
|
31
34
|
but if you want to rename this you need to set this parameter.
|
|
32
35
|
DECLARE_GEM_TARGET:
|
|
@@ -38,7 +41,8 @@ DECLARE_GEM_TARGET:
|
|
|
38
41
|
parameters:
|
|
39
42
|
- name: Gem Name
|
|
40
43
|
required: true
|
|
41
|
-
description:
|
|
44
|
+
description:
|
|
45
|
+
The COSMOS gem name which must be cosmos-<gem-name> where <gem-name>
|
|
42
46
|
is the descriptive gem name. In the above example, the target will be named
|
|
43
47
|
'GEM-NAME' (note the cosmos- prefix is stripped off).
|
|
44
48
|
values: .+
|
|
@@ -49,12 +53,47 @@ DECLARE_GEM_TARGET:
|
|
|
49
53
|
the target name will be the gem name as described above.
|
|
50
54
|
- name: Target Filename
|
|
51
55
|
required: false
|
|
52
|
-
description:
|
|
56
|
+
description:
|
|
57
|
+
The name of the file in the target directory which contains the
|
|
58
|
+
configuration information for the target. By default this is 'target.txt'
|
|
59
|
+
but if you want to rename this you need to set this parameter.
|
|
60
|
+
DECLARE_GEM_MULTI_TARGET:
|
|
61
|
+
summary: Declare a COSMOS target which resides in a Ruby gem with multiple targets
|
|
62
|
+
description: COSMOS targets can be distributed in gem form in which case they
|
|
63
|
+
must be named 'cosmos-<gem-name>' where <gem-name> is the descriptive name of
|
|
64
|
+
the gem. Multiple Targets can be packaged into a single gem. This directive
|
|
65
|
+
will tell COSMOS where to look for a target inside the first directory level
|
|
66
|
+
of the gem. The sub-directory name must be all uppercase and must contain a
|
|
67
|
+
sub-directory named 'cmd_tlm'. See the COSMOS documentation at cosmosrb.com
|
|
68
|
+
for for information on creating a COSMOS gem target.
|
|
69
|
+
parameters:
|
|
70
|
+
- name: Gem Name
|
|
71
|
+
required: true
|
|
72
|
+
description:
|
|
73
|
+
The COSMOS gem name which must be cosmos-<gem-name> where <gem-name>
|
|
74
|
+
is the descriptive gem name. In the above example, the target will be named
|
|
75
|
+
'GEM-NAME' (note the cosmos- prefix is stripped off).
|
|
76
|
+
values: .+
|
|
77
|
+
- name: Target Name
|
|
78
|
+
required: true
|
|
79
|
+
description: The directory name which contains the target information.
|
|
80
|
+
This must match a directory under the first level of the gem base directory.
|
|
81
|
+
values: .+
|
|
82
|
+
- name: Substitute Target Name
|
|
83
|
+
required: false
|
|
84
|
+
description: The target name in the COSMOS system. This is how the target
|
|
85
|
+
will be referred to in scripts. If this is not given (or given as nil)
|
|
86
|
+
the target name will be the gem name as described above.
|
|
87
|
+
- name: Target Filename
|
|
88
|
+
required: false
|
|
89
|
+
description:
|
|
90
|
+
The name of the file in the target directory which contains the
|
|
53
91
|
configuration information for the target. By default this is 'target.txt'
|
|
54
92
|
but if you want to rename this you need to set this parameter.
|
|
55
93
|
PORT:
|
|
56
94
|
summary: Set a Server Port
|
|
57
|
-
description:
|
|
95
|
+
description:
|
|
96
|
+
Port is used to set the default ports used by the Command and Telemetry Server.
|
|
58
97
|
It is not necessary to set this option unless you wish to override the defaults
|
|
59
98
|
(given in the example usage). Overriding ports is necessary if you want to run
|
|
60
99
|
two Command and Telemetry Servers on the same computer simultaneously.
|
|
@@ -65,7 +104,8 @@ PORT:
|
|
|
65
104
|
parameters:
|
|
66
105
|
- name: Port Name
|
|
67
106
|
required: true
|
|
68
|
-
description:
|
|
107
|
+
description:
|
|
108
|
+
CTS_API - This port is what tools connect to to communicate with the COSMOS Scripting API.
|
|
69
109
|
TLMVIEWER_API - This port is used to remotely open and close telemetry screens in Telemetry Viewer.
|
|
70
110
|
CTS_PREIDENTIFIED - This port provides access to a preidentified stream of all telemetry packets
|
|
71
111
|
in the system. This is currently used by Telemetry Grapher and can be used to chain Command
|
|
@@ -83,7 +123,8 @@ LISTEN_HOST:
|
|
|
83
123
|
parameters:
|
|
84
124
|
- name: Host Port Name
|
|
85
125
|
required: true
|
|
86
|
-
description:
|
|
126
|
+
description:
|
|
127
|
+
CTS_API - This port is what tools connect to to communicate with the COSMOS Scripting API.
|
|
87
128
|
TLMVIEWER_API - This port is used to remotely open and close telemetry screens in Telemetry Viewer.
|
|
88
129
|
CTS_PREIDENTIFIED - This port provides access to a preidentified stream of all telemetry packets
|
|
89
130
|
in the system. This is currently used by Telemetry Grapher and can be used to chain Command
|
|
@@ -93,7 +134,8 @@ LISTEN_HOST:
|
|
|
93
134
|
values: <%= %w(CTS_API TLMVIEWER_API CTS_PREIDENTIFIED CTS_CMD_ROUTER) %>
|
|
94
135
|
- name: Host Value
|
|
95
136
|
required: true
|
|
96
|
-
description:
|
|
137
|
+
description:
|
|
138
|
+
The IP address or host name to bind the Host Port Name to. By default,
|
|
97
139
|
the CTS_API and TLMVIEWER_API are bound to localhost meaning that only tools
|
|
98
140
|
on the same machine can connect. By default, CTS_PREIDENTIFIED and CTS_CMD_ROUTER
|
|
99
141
|
are bound to '0.0.0.0' to allow for tools on any machines to connect. This
|
|
@@ -105,7 +147,8 @@ CONNECT_HOST:
|
|
|
105
147
|
parameters:
|
|
106
148
|
- name: Host Port Name
|
|
107
149
|
required: true
|
|
108
|
-
description:
|
|
150
|
+
description:
|
|
151
|
+
CTS_API - This port is what tools connect to to communicate with the COSMOS Scripting API.
|
|
109
152
|
TLMVIEWER_API - This port is used to remotely open and close telemetry screens in Telemetry Viewer.
|
|
110
153
|
CTS_PREIDENTIFIED - This port provides access to a preidentified stream of all telemetry packets
|
|
111
154
|
in the system. This is currently used by Telemetry Grapher and can be used to chain Command
|
|
@@ -115,15 +158,18 @@ CONNECT_HOST:
|
|
|
115
158
|
values: <%= %w(CTS_API TLMVIEWER_API CTS_PREIDENTIFIED CTS_CMD_ROUTER) %>
|
|
116
159
|
- name: Host Value
|
|
117
160
|
required: true
|
|
118
|
-
description:
|
|
161
|
+
description:
|
|
162
|
+
The IP address or host name to connect tools to. By default all
|
|
119
163
|
ports are bound to localhost so all tools connect to the local machine.
|
|
120
164
|
values: .+
|
|
121
165
|
PATH:
|
|
122
166
|
summary: Set a Server Path
|
|
123
|
-
description:
|
|
167
|
+
description:
|
|
168
|
+
Path is used to set the default paths used by the Command and Telemetry Server
|
|
124
169
|
to access or create files. It is not necessary to set this option unless you wish to
|
|
125
170
|
override the defaults (given in the example usage).
|
|
126
|
-
warning:
|
|
171
|
+
warning:
|
|
172
|
+
The PROCEDURES path must be set for Script Runner and Test Runner to locate your
|
|
127
173
|
procedure files. You can add multiple 'PATH PROCEDURES' lines to your configuration file
|
|
128
174
|
to set multiple locations.
|
|
129
175
|
example: |
|
|
@@ -174,7 +220,8 @@ DEFAULT_PACKET_LOG_READER:
|
|
|
174
220
|
since: 4.0.0
|
|
175
221
|
STALENESS_SECONDS:
|
|
176
222
|
summary: Number of seconds before marking the packet stale
|
|
177
|
-
description:
|
|
223
|
+
description:
|
|
224
|
+
A stale packet is identified in telemetry screens by all the telemetry
|
|
178
225
|
items in the stale packet being colored purple..
|
|
179
226
|
example: STALENESS_SECONDS 30 # Default
|
|
180
227
|
parameters:
|
|
@@ -196,7 +243,8 @@ DISABLE_DNS:
|
|
|
196
243
|
As of COSMOS 3.5.0 the default is to not use DNS
|
|
197
244
|
ENABLE_SOUND:
|
|
198
245
|
summary: Enable audible sounds when popups occur
|
|
199
|
-
description:
|
|
246
|
+
description:
|
|
247
|
+
Enable sound makes any prompts that occur in ScriptRunner/TestRunner
|
|
200
248
|
make an audible sound when they popup to alert the operator of needed input.
|
|
201
249
|
since: 3.5.0
|
|
202
250
|
ALLOW_ACCESS:
|
|
@@ -205,12 +253,14 @@ ALLOW_ACCESS:
|
|
|
205
253
|
parameters:
|
|
206
254
|
- name: Name or IP Address
|
|
207
255
|
required: true
|
|
208
|
-
description:
|
|
256
|
+
description:
|
|
257
|
+
Machine name to allow access or you can specify 'ALL' to allow
|
|
209
258
|
all machines access
|
|
210
259
|
values: .+
|
|
211
260
|
META_INIT:
|
|
212
261
|
summary: Specify a file to initialize the SYSTEM META packet
|
|
213
|
-
description:
|
|
262
|
+
description:
|
|
263
|
+
Filename should be a text file with key value pairs where the keyword
|
|
214
264
|
matches an item in the SYSTEM META packet. Note you do not have to specify ALL
|
|
215
265
|
the items in the SYSTEM META packet.
|
|
216
266
|
since: 4.0.0
|
|
@@ -221,27 +271,101 @@ META_INIT:
|
|
|
221
271
|
values: .+
|
|
222
272
|
TIME_ZONE_UTC:
|
|
223
273
|
summary: Report all times as UTC
|
|
224
|
-
description:
|
|
274
|
+
description:
|
|
275
|
+
COSMOS will report all times as UTC time. If this keyword is not used,
|
|
225
276
|
COSMOS will report all times as local times, where the local time zone is determined
|
|
226
277
|
automatically by Ruby based upon the operating system time settings. This setting
|
|
227
278
|
affects packet receive times, timestamped log filenames, message logs,
|
|
228
279
|
Cmd/Tlm extractor time ranges, etc.
|
|
229
280
|
since: 3.10.0
|
|
230
|
-
|
|
231
|
-
summary: Add a file to the
|
|
232
|
-
description:
|
|
233
|
-
|
|
281
|
+
ADD_HASH_FILE:
|
|
282
|
+
summary: Add a file to the hashing sum calculation
|
|
283
|
+
description:
|
|
284
|
+
Adds a file to the set of files used in marshal file hashing sum calculation.
|
|
285
|
+
Upon startup, COSMOS calculates a hashing sum over the command/telemetry definition files
|
|
234
286
|
for all targets. After the definitions have been processed, COSMOS saves the resulting
|
|
235
|
-
objects as marshal files in a folder with the
|
|
236
|
-
The next time COSMOS runs, if the
|
|
287
|
+
objects as marshal files in a folder with the hashing sum as part of the name.
|
|
288
|
+
The next time COSMOS runs, if the hashing sum of the cmd/tlm definition files
|
|
237
289
|
has not changed, COSMOS can load the marshal files instead of re-processing the definitions.
|
|
238
|
-
If a file is specified with the
|
|
239
|
-
|
|
290
|
+
If a file is specified with the ADD_HASH_FILE keyword, COSMOS will include it in the
|
|
291
|
+
hashing sum calculation. This means that a change in the file will cause COSMOS to
|
|
240
292
|
re-process the cmd/tlm defintions and create a new set of marshal files.
|
|
241
|
-
|
|
242
|
-
|
|
293
|
+
The default hashing algorithm is MD5, but other Ruby Digest algorithms are also supported,
|
|
294
|
+
like SHA1 and SHA256
|
|
295
|
+
since: 4.4.0
|
|
296
|
+
example: ADD_HASH_FILE lib/user_version.rb
|
|
243
297
|
parameters:
|
|
244
298
|
- name: Filename
|
|
245
299
|
required: true
|
|
246
300
|
description: Filename, either fully qualified, or relative to Cosmos::USERPATH
|
|
247
301
|
values: '.+\.rb'
|
|
302
|
+
CLASSIFICATION:
|
|
303
|
+
summary: Add a classification banner to the top of all the COSMOS tools
|
|
304
|
+
since: 4.3.0
|
|
305
|
+
example: |
|
|
306
|
+
CLASSIFICATION Unclassified green
|
|
307
|
+
CLASSIFICATION Secret 255 114 0
|
|
308
|
+
parameters:
|
|
309
|
+
- name: Display Text
|
|
310
|
+
required: true
|
|
311
|
+
description: The text to display in the classification banner
|
|
312
|
+
values: ".*"
|
|
313
|
+
- name: Color Name | Red Hex
|
|
314
|
+
required: true
|
|
315
|
+
description: The color name or the red value of a RGB triplet
|
|
316
|
+
values: ".*"
|
|
317
|
+
- name: Green Hex
|
|
318
|
+
required: false
|
|
319
|
+
description: The green value of a RGB triplet
|
|
320
|
+
values: '\d+'
|
|
321
|
+
- name: Blue Hex
|
|
322
|
+
required: false
|
|
323
|
+
description: The blue value of a RGB triplet
|
|
324
|
+
values: '\d+'
|
|
325
|
+
HASHING_ALGORITHM:
|
|
326
|
+
summary: Specify which Ruby Digest hashing algorithm to use
|
|
327
|
+
description:
|
|
328
|
+
Set the hashing algorithm used for config hashing, tlm_viewer hashing, and
|
|
329
|
+
script hashing. COSMOS will truncate the resulting hash string down to 32 characters
|
|
330
|
+
since: 4.4.0
|
|
331
|
+
example: HASHING_ALGORITHM SHA256
|
|
332
|
+
parameters:
|
|
333
|
+
- name: Algorithm
|
|
334
|
+
required: true
|
|
335
|
+
description: Digest algorithm, one of MD5, RMD160, SHA1, SHA256, SHA384, SHA512
|
|
336
|
+
values: .+
|
|
337
|
+
ALLOW_ROUTER_COMMANDING:
|
|
338
|
+
summary: Allow routers to receive and forward commands to interfaces
|
|
339
|
+
since: 4.5.0
|
|
340
|
+
example: ALLOW_ROUTER_COMMANDING
|
|
341
|
+
X_CSRF_TOKEN:
|
|
342
|
+
summary: Secret token passed with API calls
|
|
343
|
+
since: 4.5.0
|
|
344
|
+
example: X_CSRF_TOKEN Secret
|
|
345
|
+
parameters:
|
|
346
|
+
- name: token
|
|
347
|
+
required: true
|
|
348
|
+
description: Token passed with api calls
|
|
349
|
+
values: .+
|
|
350
|
+
ALLOW_ORIGIN:
|
|
351
|
+
summary: Allow a specific HTTP Origin header in Api calls
|
|
352
|
+
description: This keyword should only be used if COSMOS needs to be commanded from a web server.
|
|
353
|
+
since: 4.5.0
|
|
354
|
+
example: ALLOW_ORIGIN 1.2.4.4:8080
|
|
355
|
+
parameters:
|
|
356
|
+
- name: origin
|
|
357
|
+
required: true
|
|
358
|
+
description: Hostname colon port of origin
|
|
359
|
+
values: .+
|
|
360
|
+
ALLOW_HOST:
|
|
361
|
+
summary: Allow a specific HTTP Host header in Api calls
|
|
362
|
+
description:
|
|
363
|
+
By default includes ['127.0.0.1:7777', '127.0.0.1:7778', '127.0.0.1:7877', '127.0.0.1:8779', '127.0.0.1:8780'].
|
|
364
|
+
API Ports changed by a PORT line will also be added automatically. If you need external connections you must add your ip and
|
|
365
|
+
these ports to allow external access to work for apis
|
|
366
|
+
example: ALLOW_HOST 1.2.4.4:7777
|
|
367
|
+
parameters:
|
|
368
|
+
- name: host
|
|
369
|
+
required: true
|
|
370
|
+
description: Hostname colon port of host
|
|
371
|
+
values: .+
|