cosmos 3.9.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +23 -0
- data/.travis.yml +1 -0
- data/.yardopts +3 -0
- data/Gemfile +1 -1
- data/Manifest.txt +137 -52
- data/Rakefile +50 -44
- data/autohotkey/config/system/system.txt +0 -5
- data/autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt +6 -1
- data/autohotkey/config/targets/INST/screens/extra.txt +19 -0
- data/autohotkey/config/targets/INST/sequences/run_sequence.txt +1 -0
- data/autohotkey/config/targets/META/screens/data.txt +12 -0
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
- data/autohotkey/config/targets/{COSMOS/cmd_tlm/cosmos_server_cmds.txt → SYSTEM/cmd_tlm/system_cmds.txt} +8 -8
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/autohotkey/config/targets/SYSTEM/screens/limits_change.txt +14 -0
- data/autohotkey/config/targets/SYSTEM/screens/meta.txt +14 -0
- data/autohotkey/config/targets/SYSTEM/target.txt +12 -0
- data/autohotkey/config/tools/cmd_tlm_server/cmd_tlm_server.txt +2 -2
- data/autohotkey/config/tools/test_runner/test_runner2.txt +1 -1
- data/autohotkey/tools/CmdSequence +14 -0
- data/autohotkey/tools/CmdSequenceAHK +23 -0
- data/autohotkey/tools/CmdSequenceAHK2 +16 -0
- data/autohotkey/tools/cmd_extractor.ahk +2 -2
- data/autohotkey/tools/cmd_sender.ahk +4 -6
- data/autohotkey/tools/cmd_sequence.ahk +215 -0
- data/autohotkey/tools/cmd_sequence2.ahk +23 -0
- data/autohotkey/tools/data_viewer.ahk +2 -3
- data/autohotkey/tools/limits_monitor.ahk +9 -11
- data/autohotkey/tools/open_gl_builder.ahk +1 -2
- data/autohotkey/tools/packet_viewer.ahk +51 -35
- data/autohotkey/tools/replay.ahk +1 -2
- data/autohotkey/tools/script_runner.ahk +1 -2
- data/autohotkey/tools/script_runner2.ahk +1 -2
- data/autohotkey/tools/test_runner2.ahk +1 -5
- data/autohotkey/tools/test_runner3.ahk +1 -3
- data/autohotkey/tools/tlm_grapher.ahk +1 -3
- data/autohotkey/tools/tlm_grapher3.ahk +1 -2
- data/autohotkey/tools/tlm_viewer.ahk +8 -3
- data/autohotkey/tools/tlm_viewer2.ahk +2 -3
- data/autohotkey/tools/tlm_viewer5.ahk +1 -2
- data/cosmos.gemspec +26 -20
- data/data/cmd_sequence.png +0 -0
- data/data/config/_array_params.yaml +23 -0
- data/data/config/_id_items.yaml +24 -0
- data/data/config/_id_params.yaml +58 -0
- data/data/config/_interfaces.yaml +206 -0
- data/data/config/_items.yaml +20 -0
- data/data/config/_params.yaml +58 -0
- data/data/config/cmd_tlm_server.yaml +110 -0
- data/data/config/command.yaml +38 -0
- data/data/config/command_modifiers.yaml +127 -0
- data/data/config/command_telemetry.yaml +3 -0
- data/data/config/data_viewer.yaml +43 -0
- data/data/config/handbook_creator.yaml +23 -0
- data/data/config/housekeeping_params.yaml +71 -0
- data/data/config/interface_modifiers.yaml +44 -0
- data/data/config/item_modifiers.yaml +172 -0
- data/data/config/launcher.yaml +117 -0
- data/data/config/limits_monitor.yaml +53 -0
- data/data/config/linegraph_params.yaml +30 -0
- data/data/config/linegraph_plot.yaml +106 -0
- data/data/config/page_modifiers.yaml +128 -0
- data/data/config/param_item_modifiers.yaml +41 -0
- data/data/config/parameter_modifiers.yaml +144 -0
- data/data/config/protocols.yaml +257 -0
- data/data/config/screen.yaml +151 -0
- data/data/config/script_runner.yaml +15 -0
- data/data/config/system.yaml +153 -0
- data/data/config/table_manager.yaml +76 -0
- data/data/config/table_parameter_modifiers.yaml +9 -0
- data/data/config/target.yaml +71 -0
- data/data/config/telemetry.yaml +73 -0
- data/data/config/telemetry_modifiers.yaml +129 -0
- data/data/config/test_runner.yaml +118 -0
- data/data/config/tlm_extractor.yaml +109 -0
- data/data/config/tlm_grapher.yaml +78 -0
- data/data/config/tlm_viewer.yaml +107 -0
- data/data/config/unknown.yaml +3 -0
- data/data/config/widgets.yaml +1339 -0
- data/data/config/xy_params.yaml +50 -0
- data/data/config/xy_plot.yaml +12 -0
- data/data/config_editor.png +0 -0
- data/data/crc.txt +172 -161
- data/data/delete.png +0 -0
- data/demo/config/data/crc.txt +56 -36
- data/demo/config/data/meta_init.txt +1 -4
- data/demo/config/system/system.txt +15 -3
- data/demo/config/system/system2.txt +13 -3
- data/demo/config/targets/EXAMPLE/lib/example_interface.rb +2 -6
- data/demo/config/targets/EXAMPLE/target.txt +3 -1
- data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -0
- data/demo/config/targets/INST/lib/inst_dump_component.rb +34 -0
- data/demo/config/targets/INST/screens/adcs.txt +39 -15
- data/demo/config/targets/INST/screens/commanding.txt +26 -19
- data/demo/config/targets/INST/screens/spacing_box.txt +44 -0
- data/demo/config/targets/INST/screens/spacing_grid.txt +78 -0
- data/demo/config/targets/INST/screens/tabs.txt +0 -2
- data/demo/config/targets/INST/sequences/sequence.tsv +3 -0
- data/demo/config/targets/INST/tables/EventAction.csv +9 -0
- data/demo/config/targets/INST/tables/EventAction.dat +0 -0
- data/demo/config/targets/INST/tables/McConfigTable.csv +20 -0
- data/demo/config/targets/INST/tables/McConfigTable.dat +0 -0
- data/demo/config/targets/INST/target.txt +4 -0
- data/demo/config/targets/INST/tools/data_viewer/data_viewer.txt +2 -0
- data/demo/config/targets/INST/tools/data_viewer/data_viewer2.txt +2 -0
- data/demo/config/targets/INST/tools/table_manager/EventAction_def.txt +6 -0
- data/demo/config/targets/INST/tools/table_manager/McConfigTable_def.txt +38 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +7 -3
- data/demo/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
- data/demo/config/targets/{COSMOS/cmd_tlm/cosmos_server_cmds.txt → SYSTEM/cmd_tlm/system_cmds.txt} +8 -8
- data/demo/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/demo/config/targets/{COSMOS → SYSTEM}/cmd_tlm_server.txt +2 -2
- data/demo/config/targets/SYSTEM/lib/limits_groups.rb +39 -0
- data/demo/config/targets/SYSTEM/screens/status.txt +1 -1
- data/demo/config/targets/SYSTEM/target.txt +12 -0
- data/demo/config/targets/TEMPLATED/cmd_tlm_server.txt +1 -1
- data/demo/config/targets/TEMPLATED/lib/templated_interface.rb +8 -5
- data/demo/config/targets/TEMPLATED/target.txt +2 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt +15 -6
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt +13 -5
- data/demo/config/tools/data_viewer/data_viewer.txt +9 -0
- data/demo/config/tools/launcher/launcher.txt +9 -6
- data/demo/config/tools/launcher/launcher2.txt +16 -13
- data/demo/config/tools/launcher/launcher_mini.txt +45 -0
- data/demo/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +12 -11
- data/demo/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +12 -11
- data/demo/config/tools/test_runner/test_runner.txt +1 -1
- data/demo/config/tools/tlm_viewer/tlm_viewer.txt +5 -5
- data/demo/lib/example_background_task.rb +9 -5
- data/demo/lib/example_target.rb +5 -15
- data/demo/lib/scpi_target.rb +4 -10
- data/demo/procedures/cosmos_api_test.rb +17 -0
- data/demo/tools/CmdSequence +16 -0
- data/demo/tools/CmdSequence.bat +9 -0
- data/demo/tools/ConfigEditor +16 -0
- data/demo/tools/ConfigEditor.bat +9 -0
- data/demo/tools/mac/CmdSequence.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +16 -0
- data/demo/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
- data/ext/cosmos/ext/packet/packet.c +5 -5
- data/install/config/data/crc.txt +12 -8
- data/install/config/system/system.txt +13 -3
- data/install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +14 -0
- data/install/config/targets/SYSTEM/target.txt +12 -0
- data/install/tools/CmdSequence +16 -0
- data/install/tools/CmdSequence.bat +9 -0
- data/install/tools/ConfigEditor +16 -0
- data/install/tools/ConfigEditor.bat +9 -0
- data/install/tools/mac/CmdSequence.app/Contents/Info.plist +38 -0
- data/install/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +16 -0
- data/install/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
- data/lib/cosmos.rb +1 -1
- data/lib/cosmos/config/config_parser.rb +147 -59
- data/lib/cosmos/config/meta_config_parser.rb +57 -0
- data/lib/cosmos/conversions/polynomial_conversion.rb +20 -4
- data/lib/cosmos/conversions/unix_time_conversion.rb +4 -4
- data/lib/cosmos/core_ext/array.rb +45 -5
- data/lib/cosmos/core_ext/cosmos_io.rb +31 -15
- data/lib/cosmos/core_ext/file.rb +2 -2
- data/lib/cosmos/core_ext/kernel.rb +1 -6
- data/lib/cosmos/core_ext/objectspace.rb +0 -2
- data/lib/cosmos/core_ext/string.rb +27 -4
- data/lib/cosmos/core_ext/time.rb +39 -10
- data/lib/cosmos/gui/choosers/combobox_chooser.rb +37 -26
- data/lib/cosmos/gui/choosers/file_chooser.rb +23 -6
- data/lib/cosmos/gui/choosers/float_chooser.rb +13 -11
- data/lib/cosmos/gui/choosers/integer_chooser.rb +13 -11
- data/lib/cosmos/gui/choosers/string_chooser.rb +18 -36
- data/lib/cosmos/gui/choosers/telemetry_chooser.rb +64 -64
- data/lib/cosmos/gui/choosers/value_chooser.rb +15 -15
- data/lib/cosmos/gui/dialogs/about_dialog.rb +18 -13
- data/lib/cosmos/gui/dialogs/calendar_dialog.rb +11 -3
- data/lib/cosmos/gui/dialogs/cmd_tlm_raw_dialog.rb +1 -1
- data/lib/cosmos/gui/dialogs/details_dialog.rb +1 -1
- data/lib/cosmos/gui/dialogs/exception_dialog.rb +7 -7
- data/lib/cosmos/gui/dialogs/find_replace_dialog.rb +20 -15
- data/lib/cosmos/gui/dialogs/interface_raw_dialog.rb +143 -0
- data/lib/cosmos/gui/dialogs/legal_dialog.rb +6 -5
- data/lib/cosmos/gui/dialogs/packet_log_dialog.rb +5 -2
- data/lib/cosmos/gui/dialogs/progress_dialog.rb +1 -1
- data/lib/cosmos/gui/dialogs/pry_dialog.rb +4 -4
- data/lib/cosmos/gui/dialogs/scroll_text_dialog.rb +3 -0
- data/lib/cosmos/gui/dialogs/set_tlm_dialog.rb +7 -6
- data/lib/cosmos/gui/dialogs/splash.rb +1 -1
- data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +1 -1
- data/lib/cosmos/gui/dialogs/tlm_graph_dialog.rb +114 -0
- data/lib/cosmos/gui/line_graph/line_graph.rb +9 -10
- data/lib/cosmos/gui/line_graph/line_graph_dialog.rb +7 -5
- data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +3 -7
- data/lib/cosmos/gui/line_graph/line_graph_popups.rb +3 -8
- data/lib/cosmos/gui/line_graph/line_graph_scaling.rb +2 -7
- data/lib/cosmos/gui/line_graph/overview_graph.rb +6 -1
- data/lib/cosmos/gui/opengl/earth_model.rb +6 -3
- data/lib/cosmos/gui/opengl/gl_bounds.rb +11 -23
- data/lib/cosmos/gui/opengl/gl_light.rb +3 -4
- data/lib/cosmos/gui/opengl/gl_material.rb +3 -4
- data/lib/cosmos/gui/opengl/gl_scene.rb +10 -4
- data/lib/cosmos/gui/opengl/gl_shape.rb +6 -2
- data/lib/cosmos/gui/opengl/gl_viewer.rb +5 -5
- data/lib/cosmos/gui/opengl/gl_viewport.rb +11 -12
- data/lib/cosmos/gui/opengl/moon_model.rb +6 -3
- data/lib/cosmos/gui/opengl/stl_reader.rb +8 -9
- data/lib/cosmos/gui/opengl/stl_shape.rb +4 -5
- data/lib/cosmos/gui/opengl/texture_mapped_sphere.rb +7 -7
- data/lib/cosmos/gui/qt.rb +1 -1
- data/lib/cosmos/gui/qt_tool.rb +21 -10
- data/lib/cosmos/gui/text/completion.rb +23 -2
- data/lib/cosmos/gui/text/completion_text_edit.rb +38 -23
- data/lib/cosmos/gui/utilities/analyze_log.rb +1 -1
- data/lib/cosmos/gui/utilities/screenshot.rb +2 -2
- data/lib/cosmos/gui/widgets/full_text_search_line_edit.rb +11 -1
- data/lib/cosmos/gui/widgets/packet_log_frame.rb +19 -6
- data/lib/cosmos/interfaces.rb +10 -0
- data/lib/cosmos/interfaces/cmd_tlm_server_interface.rb +28 -47
- data/lib/cosmos/interfaces/interface.rb +240 -22
- data/lib/cosmos/interfaces/linc_interface.rb +3 -5
- data/lib/cosmos/interfaces/protocols/burst_protocol.rb +173 -0
- data/lib/cosmos/interfaces/protocols/crc_protocol.rb +141 -0
- data/lib/cosmos/{streams/fixed_stream_protocol.rb → interfaces/protocols/fixed_protocol.rb} +40 -37
- data/lib/cosmos/{streams/length_stream_protocol.rb → interfaces/protocols/length_protocol.rb} +55 -48
- data/lib/cosmos/interfaces/protocols/override_protocol.rb +52 -0
- data/lib/cosmos/interfaces/protocols/preidentified_protocol.rb +141 -0
- data/lib/cosmos/interfaces/protocols/protocol.rb +60 -0
- data/lib/cosmos/interfaces/protocols/template_protocol.rb +209 -0
- data/lib/cosmos/interfaces/protocols/terminated_protocol.rb +81 -0
- data/lib/cosmos/interfaces/serial_interface.rb +28 -23
- data/lib/cosmos/interfaces/simulated_target_interface.rb +27 -16
- data/lib/cosmos/interfaces/stream_interface.rb +36 -108
- data/lib/cosmos/interfaces/tcpip_client_interface.rb +21 -21
- data/lib/cosmos/interfaces/tcpip_server_interface.rb +555 -94
- data/lib/cosmos/interfaces/udp_interface.rb +51 -83
- data/lib/cosmos/io/buffered_file.rb +92 -2
- data/lib/cosmos/io/json_drb.rb +2 -2
- data/lib/cosmos/io/posix_serial_driver.rb +3 -1
- data/lib/cosmos/io/raw_logger.rb +3 -3
- data/lib/cosmos/io/serial_driver.rb +14 -5
- data/lib/cosmos/io/win32_serial_driver.rb +16 -4
- data/lib/cosmos/packet_logs.rb +0 -1
- data/lib/cosmos/packet_logs/packet_log_reader.rb +11 -1
- data/lib/cosmos/packet_logs/packet_log_writer.rb +31 -13
- data/lib/cosmos/packets/binary_accessor.rb +599 -32
- data/lib/cosmos/packets/commands.rb +48 -24
- data/lib/cosmos/packets/packet.rb +140 -54
- data/lib/cosmos/packets/packet_config.rb +0 -2
- data/lib/cosmos/packets/parsers/packet_item_parser.rb +10 -2
- data/lib/cosmos/packets/structure.rb +81 -33
- data/lib/cosmos/packets/structure_item.rb +45 -5
- data/lib/cosmos/packets/telemetry.rb +149 -55
- data/lib/cosmos/script/api_shared.rb +1000 -0
- data/lib/cosmos/script/commands.rb +2 -2
- data/lib/cosmos/script/extract.rb +19 -4
- data/lib/cosmos/script/limits.rb +2 -0
- data/lib/cosmos/script/script.rb +1 -1
- data/lib/cosmos/script/scripting.rb +4 -784
- data/lib/cosmos/script/telemetry.rb +44 -23
- data/lib/cosmos/script/tools.rb +15 -69
- data/lib/cosmos/streams/serial_stream.rb +12 -19
- data/lib/cosmos/streams/stream.rb +2 -11
- data/lib/cosmos/streams/tcpip_socket_stream.rb +3 -13
- data/lib/cosmos/system/system.rb +187 -31
- data/lib/cosmos/system/target.rb +11 -2
- data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +12 -11
- data/lib/cosmos/tools/cmd_sender/{cmd_sender_item_delegate.rb → cmd_param_table_item_delegate.rb} +11 -10
- data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +209 -164
- data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +652 -0
- data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +510 -0
- data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +194 -0
- data/lib/cosmos/tools/cmd_tlm_server/api.rb +179 -5
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +31 -14
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +23 -16
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +92 -20
- data/lib/cosmos/tools/cmd_tlm_server/commanding.rb +1 -1
- data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +17 -4
- data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +0 -5
- data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +1 -2
- data/lib/cosmos/tools/cmd_tlm_server/interfaces.rb +4 -4
- data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +121 -0
- data/lib/cosmos/tools/cmd_tlm_server/routers.rb +8 -4
- data/lib/cosmos/tools/config_editor/config_editor.rb +720 -0
- data/lib/cosmos/tools/config_editor/config_editor_frame.rb +675 -0
- data/lib/cosmos/tools/data_viewer/data_viewer.rb +44 -27
- data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +8 -22
- data/lib/cosmos/tools/launcher/launcher.rb +29 -12
- data/lib/cosmos/tools/launcher/launcher_config.rb +1 -1
- data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +153 -42
- data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +44 -6
- data/lib/cosmos/tools/replay/replay.rb +36 -20
- data/lib/cosmos/tools/replay/replay_server.rb +1 -1
- data/lib/cosmos/tools/script_runner/script_runner_config.rb +1 -1
- data/lib/cosmos/tools/script_runner/script_runner_frame.rb +31 -21
- data/lib/cosmos/tools/table_manager/table_config.rb +9 -3
- data/lib/cosmos/tools/table_manager/table_manager.rb +27 -7
- data/lib/cosmos/tools/test_runner/results_writer.rb +6 -6
- data/lib/cosmos/tools/test_runner/test_runner.rb +4 -6
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +4 -5
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +1 -1
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +1 -1
- data/lib/cosmos/tools/tlm_grapher/data_object_adders/housekeeping_data_object_adder.rb +23 -6
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +44 -3
- data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +20 -7
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +1 -1
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +11 -4
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_plot_editor.rb +2 -2
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_realtime_thread.rb +1 -1
- data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +16 -0
- data/lib/cosmos/tools/tlm_viewer/screen.rb +36 -32
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +59 -50
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer_config.rb +2 -2
- data/lib/cosmos/tools/tlm_viewer/widgets.rb +1 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasvalue_widget.rb +1 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvalue_widget.rb +22 -4
- data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +9 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/spacer_widget.rb +55 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/vertical_widget.rb +3 -2
- data/lib/cosmos/tools/tlm_viewer/widgets/verticalbox_widget.rb +3 -2
- data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +12 -12
- data/lib/cosmos/top_level.rb +34 -24
- data/lib/cosmos/utilities/crc.rb +108 -6
- data/lib/cosmos/utilities/csv.rb +68 -14
- data/lib/cosmos/utilities/logger.rb +2 -2
- data/lib/cosmos/utilities/low_fragmentation_array.rb +9 -1
- data/lib/cosmos/version.rb +6 -6
- data/lib/cosmos/win32/win32_main.rb +50 -46
- data/run_gui_tests.bat +3 -1
- data/spec/conversions/unix_time_formatted_conversion_spec.rb +2 -2
- data/spec/conversions/unix_time_seconds_conversion_spec.rb +2 -2
- data/spec/core_ext/file_spec.rb +1 -1
- data/spec/core_ext/objectspace_spec.rb +12 -9
- data/spec/core_ext/string_spec.rb +6 -0
- data/spec/core_ext/time_spec.rb +10 -0
- data/spec/gui/line_graph/line_clip_spec.rb +226 -224
- data/spec/gui/qt_spec.rb +81 -79
- data/spec/install/config/system/system.txt +0 -6
- data/spec/install/config/targets/INST/cmd_tlm/inst_cmd_linc.txt +5 -5
- data/spec/install/config/targets/INST/cmd_tlm/inst_tlm_linc.txt +8 -8
- data/spec/install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
- data/{install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt → spec/install/config/targets/SYSTEM/cmd_tlm/system_cmds.txt} +8 -8
- data/spec/install/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/spec/install/config/targets/{COSMOS → SYSTEM}/cmd_tlm_server.txt +2 -2
- data/spec/install/config/targets/SYSTEM/screens/status.txt +12 -0
- data/spec/install/config/targets/SYSTEM/target.txt +12 -0
- data/spec/interfaces/cmd_tlm_server_interface_spec.rb +9 -13
- data/spec/interfaces/interface_spec.rb +402 -18
- data/spec/interfaces/linc_interface_spec.rb +37 -39
- data/spec/interfaces/protocols/burst_protocol_spec.rb +300 -0
- data/spec/interfaces/protocols/crc_protocol_spec.rb +709 -0
- data/spec/interfaces/protocols/fixed_protocol_spec.rb +119 -0
- data/spec/interfaces/protocols/length_protocol_spec.rb +499 -0
- data/spec/interfaces/protocols/override_protocol_spec.rb +158 -0
- data/spec/interfaces/protocols/preidentified_protocol_spec.rb +149 -0
- data/spec/interfaces/protocols/template_protocol_spec.rb +218 -0
- data/spec/interfaces/protocols/terminated_protocol_spec.rb +174 -0
- data/spec/interfaces/serial_interface_spec.rb +35 -34
- data/spec/interfaces/simulated_target_interface_spec.rb +13 -13
- data/spec/interfaces/tcpip_client_interface_spec.rb +21 -16
- data/spec/interfaces/tcpip_server_interface_spec.rb +66 -69
- data/spec/interfaces/udp_interface_spec.rb +120 -55
- data/spec/io/serial_driver_spec.rb +41 -39
- data/spec/io/udp_sockets_spec.rb +13 -8
- data/spec/io/win32_serial_driver_spec.rb +62 -59
- data/spec/packet_logs/packet_log_reader_spec.rb +68 -47
- data/spec/packet_logs/packet_log_writer_spec.rb +7 -5
- data/spec/packets/commands_spec.rb +5 -5
- data/spec/packets/packet_spec.rb +2 -14
- data/spec/script/extract_spec.rb +21 -7
- data/spec/script/scripting_spec.rb +261 -6
- data/spec/script/telemetry_spec.rb +17 -9
- data/spec/spec_helper.rb +26 -10
- data/spec/streams/serial_stream_spec.rb +87 -82
- data/spec/streams/tcpip_client_stream_spec.rb +12 -4
- data/spec/streams/tcpip_socket_stream_spec.rb +5 -0
- data/spec/system/system_spec.rb +66 -50
- data/spec/system/target_spec.rb +33 -11
- data/spec/tools/cmd_tlm_server/api_spec.rb +5 -5
- data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +75 -15
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +125 -5
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +244 -232
- data/spec/tools/cmd_tlm_server/commanding_spec.rb +18 -18
- data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +124 -29
- data/spec/tools/cmd_tlm_server/interfaces_spec.rb +2 -2
- data/spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb +145 -0
- data/spec/tools/cmd_tlm_server/router_thread_spec.rb +50 -10
- data/spec/tools/table_manager/tablemanager_core_spec.rb +0 -1
- data/spec/top_level/top_level_spec.rb +39 -11
- data/spec/utilities/csv_spec.rb +62 -20
- data/tasks/gemfile_stats.rake +6 -3
- data/test/performance/config/system/system_packets.txt +0 -1
- data/test/performance/config/system/system_threads.txt +0 -1
- metadata +177 -92
- data/autohotkey/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
- data/autohotkey/config/targets/COSMOS/cmd_tlm_server.txt +0 -6
- data/autohotkey/config/targets/COSMOS/target.txt +0 -5
- data/autohotkey/userpath.txt +0 -1
- data/demo/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
- data/demo/config/targets/COSMOS/screens/limits_change.txt +0 -20
- data/demo/config/targets/COSMOS/screens/version.txt +0 -19
- data/demo/config/targets/COSMOS/target.txt +0 -11
- data/demo/config/targets/META/cmd_tlm/meta_cmd.txt +0 -10
- data/demo/config/targets/META/cmd_tlm/meta_tlm.txt +0 -13
- data/demo/userpath.txt +0 -1
- data/install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
- data/install/config/targets/COSMOS/cmd_tlm_server.txt +0 -6
- data/install/config/targets/COSMOS/screens/limits_change.txt +0 -20
- data/install/config/targets/COSMOS/screens/version.txt +0 -19
- data/install/config/targets/COSMOS/target.txt +0 -9
- data/install/config/targets/SYSTEM/README.txt +0 -1
- data/install/userpath.txt +0 -1
- data/lib/cosmos/io/tcpip_server.rb +0 -571
- data/lib/cosmos/packet_logs/meta_packet_log_writer.rb +0 -107
- data/lib/cosmos/streams/burst_stream_protocol.rb +0 -25
- data/lib/cosmos/streams/preidentified_stream_protocol.rb +0 -118
- data/lib/cosmos/streams/stream_protocol.rb +0 -373
- data/lib/cosmos/streams/template_stream_protocol.rb +0 -140
- data/lib/cosmos/streams/terminated_stream_protocol.rb +0 -85
- data/spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +0 -41
- data/spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +0 -15
- data/spec/install/config/targets/COSMOS/screens/limits_change.txt +0 -20
- data/spec/install/config/targets/COSMOS/screens/version.txt +0 -19
- data/spec/install/config/targets/COSMOS/target.txt +0 -5
- data/spec/install/config/targets/META/cmd_tlm/meta_cmd.txt +0 -4
- data/spec/install/config/targets/META/cmd_tlm/meta_tlm.txt +0 -4
- data/spec/install/userpath.txt +0 -1
- data/spec/interfaces/stream_interface_spec.rb +0 -157
- data/spec/io/tcpip_server_spec.rb +0 -338
- data/spec/packet_logs/meta_packet_log_writer_spec.rb +0 -170
- data/spec/streams/burst_stream_protocol_spec.rb +0 -32
- data/spec/streams/fixed_stream_protocol_spec.rb +0 -113
- data/spec/streams/length_stream_protocol_spec.rb +0 -300
- data/spec/streams/preidentified_stream_protocol_spec.rb +0 -121
- data/spec/streams/stream_protocol_spec.rb +0 -346
- data/spec/streams/template_stream_protocol_spec.rb +0 -156
- data/spec/streams/terminated_stream_protocol_spec.rb +0 -127
- data/test/performance/userpath.txt +0 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
COMMAND:
|
|
3
|
+
modifiers:
|
|
4
|
+
<%= MetaConfigParser.load('command_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
5
|
+
summary: Defines a new command packet
|
|
6
|
+
parameters:
|
|
7
|
+
- name: Target
|
|
8
|
+
required: true
|
|
9
|
+
description: Name of the target this command is associated with
|
|
10
|
+
values: <%= System.targets.keys %>
|
|
11
|
+
- name: Command
|
|
12
|
+
required: true
|
|
13
|
+
description: Name of this command. Also referred to as its mnemonic.
|
|
14
|
+
Must be unique to commands to this target. Ideally will be as short and clear as possible.
|
|
15
|
+
values: \D\S*
|
|
16
|
+
- name: Endianness
|
|
17
|
+
required: true
|
|
18
|
+
description: Indicates if the data in this command is to be sent in Big Endian or Little Endian format
|
|
19
|
+
values: ['BIG_ENDIAN', 'LITTLE_ENDIAN']
|
|
20
|
+
- name: Description
|
|
21
|
+
required: false
|
|
22
|
+
description: Description of this command which must be enclosed with quotes
|
|
23
|
+
values: "['\"].*['\"]"
|
|
24
|
+
SELECT_COMMAND:
|
|
25
|
+
modifiers:
|
|
26
|
+
<%= MetaConfigParser.load('command_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
27
|
+
summary: Selects an existing command packet for editing
|
|
28
|
+
description: Typically used in a separate configuration file from where the original
|
|
29
|
+
command is defined to override or add to the existing command definition
|
|
30
|
+
parameters:
|
|
31
|
+
- name: Target Name
|
|
32
|
+
required: true
|
|
33
|
+
description: Name of the target this command is associated with
|
|
34
|
+
values: <%= System.targets.keys %>
|
|
35
|
+
- name: Command Name
|
|
36
|
+
required: true
|
|
37
|
+
description: Name of the command to select
|
|
38
|
+
values: .*
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
PARAMETER:
|
|
3
|
+
modifiers:
|
|
4
|
+
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
5
|
+
summary: Defines a command parameter in the current command packet
|
|
6
|
+
parameters:
|
|
7
|
+
- name: Name
|
|
8
|
+
required: true
|
|
9
|
+
description: Name of the parameter. Must be unique within the command.
|
|
10
|
+
values: '\D\S*'
|
|
11
|
+
- name: Bit Offset
|
|
12
|
+
required: true
|
|
13
|
+
description: Bit offset into the command packet of the Most Significant Bit of this parameter.
|
|
14
|
+
May be negative to indicate on offset from the end of the packet.
|
|
15
|
+
Always use a bit offset of 0 for derived parameters.
|
|
16
|
+
values: '[-]?\d+'
|
|
17
|
+
<%= MetaConfigParser.load('_params.yaml').to_meta_config_yaml(4) %>
|
|
18
|
+
APPEND_PARAMETER:
|
|
19
|
+
modifiers:
|
|
20
|
+
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
21
|
+
summary: Defines a command parameter in the current command packet
|
|
22
|
+
parameters:
|
|
23
|
+
- name: Name
|
|
24
|
+
required: true
|
|
25
|
+
description: Name of the parameter. Must be unique within the command.
|
|
26
|
+
values: .+
|
|
27
|
+
<%= MetaConfigParser.load('_params.yaml').to_meta_config_yaml(4) %>
|
|
28
|
+
ID_PARAMETER:
|
|
29
|
+
modifiers:
|
|
30
|
+
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
31
|
+
summary: Defines an identification command parameter in the current command packet
|
|
32
|
+
description: ID parameters are used to identify the binary block of data as a
|
|
33
|
+
particular command. A command packet may have one or more ID_PARAMETERs and all
|
|
34
|
+
must match the binary data for the command to be identified.
|
|
35
|
+
parameters:
|
|
36
|
+
- name: Name
|
|
37
|
+
required: true
|
|
38
|
+
description: Name of the parameter. Must be unique within the command.
|
|
39
|
+
values: .+
|
|
40
|
+
- name: Bit Offset
|
|
41
|
+
required: true
|
|
42
|
+
description: Bit offset into the command packet of the Most Significant Bit of this parameter.
|
|
43
|
+
May be negative to indicate on offset from the end of the packet.
|
|
44
|
+
Always use a bit offset of 0 for derived parameters.
|
|
45
|
+
values: '[-]?\d+'
|
|
46
|
+
<%= MetaConfigParser.load('_id_params.yaml').to_meta_config_yaml(4) %>
|
|
47
|
+
APPEND_ID_PARAMETER:
|
|
48
|
+
modifiers:
|
|
49
|
+
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
50
|
+
summary: Defines an identification command parameter in the current command packet
|
|
51
|
+
description: ID parameters are used to identify the binary block of data as a
|
|
52
|
+
particular command. A command packet may have one or more ID_PARAMETERs and all
|
|
53
|
+
must match the binary data for the command to be identified.
|
|
54
|
+
parameters:
|
|
55
|
+
- name: Name
|
|
56
|
+
required: true
|
|
57
|
+
description: Name of the parameter. Must be unique within the command.
|
|
58
|
+
values: .+
|
|
59
|
+
<%= MetaConfigParser.load('_id_params.yaml').to_meta_config_yaml(4) %>
|
|
60
|
+
ARRAY_PARAMETER:
|
|
61
|
+
modifiers:
|
|
62
|
+
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
63
|
+
summary: Defines a command parameter in the current command packet that is an array
|
|
64
|
+
parameters:
|
|
65
|
+
- name: Name
|
|
66
|
+
required: true
|
|
67
|
+
description: Name of the parameter. Must be unique within the command.
|
|
68
|
+
values: \'
|
|
69
|
+
- name: Bit Offset
|
|
70
|
+
required: true
|
|
71
|
+
description: Bit offset into the command packet of the Most Significant Bit of this parameter.
|
|
72
|
+
May be negative to indicate on offset from the end of the packet.
|
|
73
|
+
Always use a bit offset of 0 for derived parameters.
|
|
74
|
+
values: '[-]?\d+'
|
|
75
|
+
<%= MetaConfigParser.load('_array_params.yaml').to_meta_config_yaml(4) %>
|
|
76
|
+
APPEND_ARRAY_PARAMETER:
|
|
77
|
+
modifiers:
|
|
78
|
+
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
79
|
+
summary: Defines a command parameter in the current command packet that is an array
|
|
80
|
+
parameters:
|
|
81
|
+
- name: Name
|
|
82
|
+
required: true
|
|
83
|
+
description: Name of the parameter. Must be unique within the command.
|
|
84
|
+
values: '\D\S*'
|
|
85
|
+
<%= MetaConfigParser.load('_array_params.yaml').to_meta_config_yaml(4) %>
|
|
86
|
+
SELECT_PARAMETER:
|
|
87
|
+
modifiers:
|
|
88
|
+
<%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
89
|
+
summary: Selects an existing command parameter for editing
|
|
90
|
+
parameters:
|
|
91
|
+
- name: Parameter
|
|
92
|
+
required: true
|
|
93
|
+
description: Name of the parameter to select for modification
|
|
94
|
+
values: .+
|
|
95
|
+
HIDDEN:
|
|
96
|
+
summary: Hides this command from all COSMOS tools such as Command Sender and Handbook Creator
|
|
97
|
+
description: Hidden commands do not appear in the Script Runner popup helper when writing scripts.
|
|
98
|
+
The command still exists in the system and can be sent by scripts.
|
|
99
|
+
DISABLED:
|
|
100
|
+
summary: Disables this command from being sent
|
|
101
|
+
description: Hides the command and also disables it from being sent by scripts.
|
|
102
|
+
Attempts to send DISABLED commands result in an error message.
|
|
103
|
+
DISABLE_MESSAGES:
|
|
104
|
+
summary: Disable the Server from printing cmd(...) messages. Commands are still logged.
|
|
105
|
+
META:
|
|
106
|
+
summary: Stores metadata for the current command
|
|
107
|
+
description: Meta data is user specific data that can be used by custom tools
|
|
108
|
+
for various purposes. One example is to store additional information needed
|
|
109
|
+
to generate source code header files.
|
|
110
|
+
parameters:
|
|
111
|
+
- name: Meta Name
|
|
112
|
+
required: true
|
|
113
|
+
description: Name of the metadata to store
|
|
114
|
+
values: .*
|
|
115
|
+
- name: Meta Values
|
|
116
|
+
required: false
|
|
117
|
+
description: One or more values to be stored for this Meta Name
|
|
118
|
+
values: .*
|
|
119
|
+
HAZARDOUS:
|
|
120
|
+
summary: Designates the current command as hazardous
|
|
121
|
+
description: Sending a hazardous command causes a dialog asking for confirmation
|
|
122
|
+
before sending the command
|
|
123
|
+
parameters:
|
|
124
|
+
- name: Description
|
|
125
|
+
required: false
|
|
126
|
+
description: Description for why the command is hazardous which must be enclosed with quotes
|
|
127
|
+
values: "['\"].*['\"]"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
AUTO_START:
|
|
3
|
+
summary: Automatically start Data Viewer and connect to the Server
|
|
4
|
+
AUTO_TARGET_COMPONENTS:
|
|
5
|
+
summary: Automatically load all data_viewer.txt configuration files in each target
|
|
6
|
+
TARGET_COMPONENT:
|
|
7
|
+
summary: Load a Data Viewer configuration file in the specified target
|
|
8
|
+
parameters:
|
|
9
|
+
- name: Target
|
|
10
|
+
required: true
|
|
11
|
+
description: Name of the target
|
|
12
|
+
values: <%= System.targets.keys %>
|
|
13
|
+
- name: Filename
|
|
14
|
+
required: false
|
|
15
|
+
description: The Data Viewer configuration file name. Defaults to data_viewer.txt.
|
|
16
|
+
values: '(.+\.txt)?'
|
|
17
|
+
COMPONENT:
|
|
18
|
+
summary: Declare a Data Viewer component
|
|
19
|
+
parameters:
|
|
20
|
+
- name: Tab Name
|
|
21
|
+
required: true
|
|
22
|
+
description: Name of the component which shows up in the GUI tab
|
|
23
|
+
values: .+
|
|
24
|
+
- name: Filename
|
|
25
|
+
required: true
|
|
26
|
+
description: Name of the Ruby file which contains the component class
|
|
27
|
+
values: '.+\.rb'
|
|
28
|
+
- name: Options
|
|
29
|
+
required: false
|
|
30
|
+
description: Optional parameters that are sent to the component constructor
|
|
31
|
+
values: .*
|
|
32
|
+
modifiers:
|
|
33
|
+
PACKET:
|
|
34
|
+
summary: Declare a packet to process by the component
|
|
35
|
+
parameters:
|
|
36
|
+
- name: Target
|
|
37
|
+
required: true
|
|
38
|
+
description: Name of the target
|
|
39
|
+
values: <%= System.targets.keys %>
|
|
40
|
+
- name: Packet
|
|
41
|
+
required: true
|
|
42
|
+
description: Name of the packet
|
|
43
|
+
values: .+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
PAGE:
|
|
3
|
+
modifiers:
|
|
4
|
+
<%= MetaConfigParser.load('page_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
5
|
+
summary: Create a new top level webpage
|
|
6
|
+
parameters:
|
|
7
|
+
- name: Filename
|
|
8
|
+
required: true
|
|
9
|
+
description: Name of the HTML file
|
|
10
|
+
values: '.*\.html'
|
|
11
|
+
TARGET_PAGES:
|
|
12
|
+
modifiers:
|
|
13
|
+
<%= MetaConfigParser.load('page_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
14
|
+
summary: Create a new webpage for each of the defined TARGETS
|
|
15
|
+
description: The page will be generated for each target. A top level "Targets"
|
|
16
|
+
drop down will be created with links to all the generated target pages.
|
|
17
|
+
parameters:
|
|
18
|
+
- name: Filename Postfix
|
|
19
|
+
required: true
|
|
20
|
+
description: The postfix will be applied to each generated target file.
|
|
21
|
+
For example, a target named INST with a postfix of '_cmd_tlm.html' will
|
|
22
|
+
result in a file named 'inst_cmd_tlm.html'.
|
|
23
|
+
values: '.*\.html'
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Require housekeeping_data_object for the ANALYSIS_TYPES
|
|
3
|
+
<% require 'cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb' %>
|
|
4
|
+
ITEM:
|
|
5
|
+
summary: Graph the specified item
|
|
6
|
+
parameters:
|
|
7
|
+
- name: Target Name
|
|
8
|
+
description: The target name
|
|
9
|
+
required: true
|
|
10
|
+
values: <%= System.targets.keys %>
|
|
11
|
+
- name: Packet Name
|
|
12
|
+
description: The packet name
|
|
13
|
+
required: true
|
|
14
|
+
values: .+
|
|
15
|
+
- name: Item Name
|
|
16
|
+
description: The item name
|
|
17
|
+
required: true
|
|
18
|
+
values: .+
|
|
19
|
+
ITEM_ARRAY_INDEX:
|
|
20
|
+
summary: If the ITEM is an ARRAY, this keyword specifies which array item to graph
|
|
21
|
+
parameters:
|
|
22
|
+
- name: Index
|
|
23
|
+
required: true
|
|
24
|
+
description: 0 based array Index
|
|
25
|
+
values: \d+
|
|
26
|
+
TIME_ITEM:
|
|
27
|
+
summary: Specify the item in the packet representing the time value
|
|
28
|
+
parameters:
|
|
29
|
+
- name: Time Item Name
|
|
30
|
+
description: The time item is typically RECEIVED_TIMESECONDS
|
|
31
|
+
required: true
|
|
32
|
+
values: .+
|
|
33
|
+
FORMATTED_TIME_ITEM:
|
|
34
|
+
summary: Specify the item in the packet representing the formatted time value
|
|
35
|
+
parameters:
|
|
36
|
+
- name: Time Item Name
|
|
37
|
+
description: The time item is typically RECEIVED_TIMEFORMATTED
|
|
38
|
+
required: true
|
|
39
|
+
values: .+
|
|
40
|
+
VALUE_TYPE:
|
|
41
|
+
summary: How the value should be displayed
|
|
42
|
+
parameters:
|
|
43
|
+
- name: Item Value Type
|
|
44
|
+
description: Should the value be used raw or converted
|
|
45
|
+
required: true
|
|
46
|
+
values: ['RAW','CONVERTED']
|
|
47
|
+
ANALYSIS:
|
|
48
|
+
summary: Apply an analysis to the given value
|
|
49
|
+
parameters:
|
|
50
|
+
- name: Analysis Type
|
|
51
|
+
description: The type of analysis to perform on the value before graphing
|
|
52
|
+
required: true
|
|
53
|
+
values: <%= HousekeepingDataObject::ANALYSIS_TYPES.collect {|type| type.to_s } %>
|
|
54
|
+
ANALYSIS_SAMPLES:
|
|
55
|
+
summary: The number of samples to use when performing analysis. Only valid with the
|
|
56
|
+
ANALYSIS keyword.
|
|
57
|
+
parameters:
|
|
58
|
+
- name: Samples
|
|
59
|
+
description: Number of samples
|
|
60
|
+
required: true
|
|
61
|
+
values: \d+
|
|
62
|
+
SHOW_LIMITS_LINES:
|
|
63
|
+
summary: Whether to show the limits line on the graph
|
|
64
|
+
description: The limits lines are horizontal lines which intercept the Y value at the
|
|
65
|
+
defined limits values. The red, yellow, and green limits are drawn with lines with the
|
|
66
|
+
respective colors.
|
|
67
|
+
parameters:
|
|
68
|
+
- name: Display
|
|
69
|
+
description: Whether to display the limits lines
|
|
70
|
+
required: true
|
|
71
|
+
values: ['TRUE','FALSE']
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
TARGET:
|
|
3
|
+
summary: Maps a target name to an interface
|
|
4
|
+
parameters:
|
|
5
|
+
- name: Target Name
|
|
6
|
+
required: true
|
|
7
|
+
description: Target name to map to this interface
|
|
8
|
+
values: <%= System.targets.keys %>
|
|
9
|
+
DONT_CONNECT:
|
|
10
|
+
summary: Server will not automatically try to connect to the interface at startup
|
|
11
|
+
DONT_RECONNECT:
|
|
12
|
+
summary: Server will not try to reconnect to the interface if the connection is lost
|
|
13
|
+
RECONNECT_DELAY:
|
|
14
|
+
summary: Reconnect delay in seconds
|
|
15
|
+
description: If DONT_RECONNECT is not present the Server will try to reconnect to an
|
|
16
|
+
interface if the connection is lost. Reconnect delay sets the interval in seconds
|
|
17
|
+
between reconnect tries.
|
|
18
|
+
parameters:
|
|
19
|
+
- name: Delay
|
|
20
|
+
required: true
|
|
21
|
+
description: Delay in seconds between reconnect attempts. The default is 15 seconds.
|
|
22
|
+
values: ([0-9]*[.])?[0-9]+
|
|
23
|
+
DISABLE_DISCONNECT:
|
|
24
|
+
summary: Disable the Disconnect button on the Interfaces tab in the Server
|
|
25
|
+
description: Use this keyword to prevent the user from disconnecting from the interface.
|
|
26
|
+
This is typically used in a 'production' environment where you would not want
|
|
27
|
+
the user to inadvertantly disconnect from a target.
|
|
28
|
+
LOG:
|
|
29
|
+
summary: Enable logging on the interface by the specified log writer
|
|
30
|
+
description: LOG is only required if you want a log writer other than the default
|
|
31
|
+
to log commands and telemetry on this interface
|
|
32
|
+
warning: Choosing a custom log writer can prevent COSMOS from reading back your log files
|
|
33
|
+
parameters:
|
|
34
|
+
- name: Name
|
|
35
|
+
required: true
|
|
36
|
+
description: Log writer name as defined by PACKET_LOG_WRITER
|
|
37
|
+
values: \D\S*
|
|
38
|
+
DONT_LOG:
|
|
39
|
+
summary: Disable logging commands and telemetry on this interface
|
|
40
|
+
LOG_RAW:
|
|
41
|
+
summary: Log all data on the interface exactly as it is sent and received
|
|
42
|
+
description: LOG_RAW does not add any COSMOS headers and thus can not be read by COSMOS tools.
|
|
43
|
+
It is primarily useful for low level debugging of an interface. You will have to
|
|
44
|
+
manually parse these logs yourself using a hex editor or other application.
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
---
|
|
2
|
+
<%= MetaConfigParser.load('param_item_modifiers.yaml').to_meta_config_yaml(0) %>
|
|
3
|
+
STATE:
|
|
4
|
+
summary: Defines a key/value pair for the current item
|
|
5
|
+
description: Key value pairs allow for user friendly strings. For example,
|
|
6
|
+
you might define states for ON = 1 and OFF = 0. This allows the word ON to be
|
|
7
|
+
used rather than the number 1 when sending the telemetry item and allows
|
|
8
|
+
for much greater clarity and less chance for user error.
|
|
9
|
+
parameters:
|
|
10
|
+
- name: Key
|
|
11
|
+
required: true
|
|
12
|
+
description: The string state name
|
|
13
|
+
values: .*
|
|
14
|
+
- name: Value
|
|
15
|
+
required: true
|
|
16
|
+
description: The numerical state value
|
|
17
|
+
values: .*
|
|
18
|
+
- name: Color
|
|
19
|
+
required: false
|
|
20
|
+
description: The color the state should be displayed as
|
|
21
|
+
values: ['GREEN', 'YELLOW', 'RED']
|
|
22
|
+
READ_CONVERSION:
|
|
23
|
+
summary: Applies a conversion to the current telemetry item
|
|
24
|
+
description: Conversions are implemented in a custom Ruby file which should be
|
|
25
|
+
located in the target's lib folder and required by the target's target.txt
|
|
26
|
+
file (see REQUIRE). The class must require 'cosmos/conversions/conversion'
|
|
27
|
+
and inherit from Conversion. It must implement the initialize method if it
|
|
28
|
+
takes extra parameters and must always implement the call method. The conversion
|
|
29
|
+
factor is applied to the raw value in the telemetry packet before it is displayed
|
|
30
|
+
to the user. The user still has the ability to see the raw unconverted value
|
|
31
|
+
in a details dialog.
|
|
32
|
+
parameters:
|
|
33
|
+
- name: Class File Name
|
|
34
|
+
required: true
|
|
35
|
+
description: The file name which contains the Ruby class. The file name must
|
|
36
|
+
be named after the class such that the class is a CamelCase version of the
|
|
37
|
+
underscored file name. For example, 'the_great_conversion.rb' should contain
|
|
38
|
+
'class TheGreatConversion'.
|
|
39
|
+
values: .*\.rb
|
|
40
|
+
- name: Parameter
|
|
41
|
+
required: false
|
|
42
|
+
description: Additional parameter values for the conversion which are passed
|
|
43
|
+
to the class constructor.
|
|
44
|
+
values: .*
|
|
45
|
+
POLY_READ_CONVERSION:
|
|
46
|
+
summary: Adds a polynomial conversion factor to the current telemetry item
|
|
47
|
+
description: The conversion factor is applied to raw value in the telemetry
|
|
48
|
+
packet before it is displayed to the user. The user still has the ability
|
|
49
|
+
to see the raw unconverted value in a details dialog.
|
|
50
|
+
parameters:
|
|
51
|
+
- name: C0
|
|
52
|
+
required: true
|
|
53
|
+
description: Coefficient
|
|
54
|
+
values: .*
|
|
55
|
+
- name: Cx
|
|
56
|
+
required: false
|
|
57
|
+
description: Additional coefficient values for the conversion. Any order
|
|
58
|
+
polynomial conversion may be used so the value of 'x' will vary with the
|
|
59
|
+
order of the polynomial. Note that larger order polynomials take longer
|
|
60
|
+
to process than shorter order polynomials, but are sometimes more accurate.
|
|
61
|
+
values: .*
|
|
62
|
+
SEG_POLY_READ_CONVERSION:
|
|
63
|
+
summary: Adds a segmented polynomial conversion factor to the current telemetry item
|
|
64
|
+
description: This conversion factor is applied to the raw value in the telemetry packet
|
|
65
|
+
before it is displayed to the user. The user still has the ability to see the raw
|
|
66
|
+
unconverted value in a details dialog.
|
|
67
|
+
parameters:
|
|
68
|
+
- name: Lower Bound
|
|
69
|
+
required: true
|
|
70
|
+
description: Defines the lower bound of the range of values that this segmented
|
|
71
|
+
polynomial applies to. Is ignored for the segment with the smallest lower bound.
|
|
72
|
+
values: .*
|
|
73
|
+
- name: C0
|
|
74
|
+
required: true
|
|
75
|
+
description: Coefficient
|
|
76
|
+
values: .*
|
|
77
|
+
- name: Cx
|
|
78
|
+
required: false
|
|
79
|
+
description: Additional coefficient values for the conversion. Any order
|
|
80
|
+
polynomial conversion may be used so the value of 'x' will vary with the
|
|
81
|
+
order of the polynomial. Note that larger order polynomials take longer
|
|
82
|
+
to process than shorter order polynomials, but are sometimes more accurate.
|
|
83
|
+
values: .*
|
|
84
|
+
GENERIC_READ_CONVERSION_START:
|
|
85
|
+
summary: Start a generic write conversion
|
|
86
|
+
description: Adds a generic conversion function to the current telemetry item.
|
|
87
|
+
This conversion factor is applied to the raw value in the telemetry packet
|
|
88
|
+
before it is displayed to the user. The user still has the ability to see the
|
|
89
|
+
raw unconverted value in a details dialog. The conversion is specified as
|
|
90
|
+
ruby code that receives two implied parameters. 'value' which is the raw
|
|
91
|
+
value being written and 'packet' which is a reference to the telemetry packet
|
|
92
|
+
class (Note, referencing the packet as 'myself' is still supported for backwards
|
|
93
|
+
compatibility). The last line of ruby code given should return the converted
|
|
94
|
+
value. The GENERIC_READ_CONVERSION_END keyword specifies that all lines of
|
|
95
|
+
ruby code for the conversion have been given.
|
|
96
|
+
warning: Generic conversions are not a good long term solution. Consider creating
|
|
97
|
+
a conversion class and using READ_CONVERSION instead. READ_CONVERSION is easier
|
|
98
|
+
to debug and higher performance.
|
|
99
|
+
GENERIC_READ_CONVERSION_END:
|
|
100
|
+
summary: Complete a generic write conversion
|
|
101
|
+
LIMITS:
|
|
102
|
+
summary: Defines a set of limits for a telemetry item
|
|
103
|
+
description: If limits are violated a message is printed in the Command and Telemetry Server
|
|
104
|
+
to indicate an item went out of limits. Other tools also use this information
|
|
105
|
+
to update displays with different colored telemetry items or other useful information.
|
|
106
|
+
The concept of "limits sets" is defined to allow for different limits values
|
|
107
|
+
in different environments. For example, you might want tighter or looser limits
|
|
108
|
+
on telemetry if your environment changes such as during thermal vacuum testing.
|
|
109
|
+
parameters:
|
|
110
|
+
- name: Limits Set
|
|
111
|
+
required: true
|
|
112
|
+
description: Name of the limits set. If you have no unique limits sets use
|
|
113
|
+
the keyword DEFAULT.
|
|
114
|
+
values: .+
|
|
115
|
+
- name: Persistence
|
|
116
|
+
required: true
|
|
117
|
+
description: Number of consecutive times the telemetry item must be within
|
|
118
|
+
a different limits range before changing limits state.
|
|
119
|
+
values: \d+
|
|
120
|
+
- name: Initial State
|
|
121
|
+
required: true
|
|
122
|
+
description: Whether limits monitoring for this telemetry item is initially enabled or disabled
|
|
123
|
+
values: ['ENABLED', 'DISABLED']
|
|
124
|
+
- name: Red Low Limit
|
|
125
|
+
required: true
|
|
126
|
+
description: If the telemetry value is less than or equal to this value a
|
|
127
|
+
Red Low condition will be detected
|
|
128
|
+
values: .+
|
|
129
|
+
- name: Yellow Low Limit
|
|
130
|
+
required: true
|
|
131
|
+
description: If the telemetry value is less than or equal to this value,
|
|
132
|
+
but greater than the Red Low Limit, a Yellow Low condition will be detected
|
|
133
|
+
values: .+
|
|
134
|
+
- name: Yellow High Limit
|
|
135
|
+
required: true
|
|
136
|
+
description: If the telemetry value is greater than or equal to this value,
|
|
137
|
+
but less than the Red High Limit, a Yellow High condition will be detected
|
|
138
|
+
values: .+
|
|
139
|
+
- name: Red High Limit
|
|
140
|
+
required: true
|
|
141
|
+
description: If the telemetry value is greater than or equal to this value
|
|
142
|
+
a Red High condition will be detected
|
|
143
|
+
values: .+
|
|
144
|
+
- name: Green Low Limit
|
|
145
|
+
required: false
|
|
146
|
+
description: Setting the Green Low and Green High limits defines an
|
|
147
|
+
"operational limit" which is colored blue by COSMOS. This allows for a
|
|
148
|
+
distinct desired operational range which is narrower than the green safety limit.
|
|
149
|
+
If the telemetry value is greater than or equal to this value, but less
|
|
150
|
+
than the Green High Limit, a Blue operational condition will be detected.
|
|
151
|
+
values: .+
|
|
152
|
+
- name: Green High Limit
|
|
153
|
+
required: false
|
|
154
|
+
description: Setting the Green Low and Green High limits defines an
|
|
155
|
+
"operational limit" which is colored blue by COSMOS. This allows for a
|
|
156
|
+
distinct desired operational range which is narrower than the green safety limit.
|
|
157
|
+
If the telemetry value is less than or equal to this value, but greater
|
|
158
|
+
than the Green Low Limit, a Blue operational condition will be detected.
|
|
159
|
+
values: .+
|
|
160
|
+
LIMITS_RESPONSE:
|
|
161
|
+
summary: Defines a response class that is called when the limits state of the current item changes
|
|
162
|
+
parameters:
|
|
163
|
+
- name: Response Class Filename
|
|
164
|
+
required: true
|
|
165
|
+
description: Name of the Ruby file which implements the limits response.
|
|
166
|
+
This file should be in the config/TARGET/lib directory so it can be found by COSMOS.
|
|
167
|
+
values: .+
|
|
168
|
+
- name: Response Specific Options
|
|
169
|
+
required: false
|
|
170
|
+
description: Variable length number of options that will be passed to the
|
|
171
|
+
class constructor
|
|
172
|
+
values: .+
|