adams-visiona 1.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 +7 -0
- data/CONTRIBUTING.txt +50 -0
- data/Dockerfile +71 -0
- data/Gemfile +11 -0
- data/Guardfile +27 -0
- data/LICENSE.txt +879 -0
- data/Manifest.txt +1781 -0
- data/README.md +15 -0
- data/Rakefile +345 -0
- data/adams-visiona.gemspec +107 -0
- data/appveyor.yml +32 -0
- data/autohotkey/config/data/attitude.bin +0 -0
- data/autohotkey/config/data/diamond.STL +58 -0
- data/autohotkey/config/data/groundoff.gif +0 -0
- data/autohotkey/config/data/groundon.gif +0 -0
- data/autohotkey/config/data/position.bin +0 -0
- data/autohotkey/config/data/satellite.gif +0 -0
- data/autohotkey/config/data/tada.wav +0 -0
- data/autohotkey/config/system/system.txt +29 -0
- data/autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt +126 -0
- data/autohotkey/config/targets/INST/cmd_tlm/inst_tlm.txt +270 -0
- data/autohotkey/config/targets/INST/cmd_tlm_server.txt +5 -0
- data/autohotkey/config/targets/INST/doc/README.txt +1 -0
- data/autohotkey/config/targets/INST/lib/example_limits_response.rb +30 -0
- data/autohotkey/config/targets/INST/lib/sim_inst.rb +307 -0
- data/autohotkey/config/targets/INST/screens/_footer.txt +4 -0
- data/autohotkey/config/targets/INST/screens/adcs.txt +46 -0
- data/autohotkey/config/targets/INST/screens/array.txt +7 -0
- data/autohotkey/config/targets/INST/screens/block.txt +8 -0
- data/autohotkey/config/targets/INST/screens/commanding.txt +30 -0
- data/autohotkey/config/targets/INST/screens/extra.txt +19 -0
- data/autohotkey/config/targets/INST/screens/graphs.txt +14 -0
- data/autohotkey/config/targets/INST/screens/ground.txt +25 -0
- data/autohotkey/config/targets/INST/screens/health_status.txt +33 -0
- data/autohotkey/config/targets/INST/screens/hs.txt +46 -0
- data/autohotkey/config/targets/INST/screens/image.txt +21 -0
- data/autohotkey/config/targets/INST/screens/latest.txt +23 -0
- data/autohotkey/config/targets/INST/screens/mech.txt +25 -0
- data/autohotkey/config/targets/INST/screens/other.txt +25 -0
- data/autohotkey/config/targets/INST/screens/params.txt +25 -0
- data/autohotkey/config/targets/INST/screens/tabs.txt +68 -0
- data/autohotkey/config/targets/INST/sequences/run_sequence.txt +1 -0
- data/autohotkey/config/targets/INST/target.txt +27 -0
- data/autohotkey/config/targets/META/cmd_tlm/meta_cmd.txt +10 -0
- data/autohotkey/config/targets/META/cmd_tlm/meta_tlm.txt +9 -0
- data/autohotkey/config/targets/META/screens/data.txt +12 -0
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +7 -0
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/system_cmds.txt +41 -0
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/autohotkey/config/targets/SYSTEM/screens/error.txt +11 -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_sender/cmd_sender.txt +1 -0
- data/autohotkey/config/tools/cmd_sequence/cmd_sequence.txt +2 -0
- data/autohotkey/config/tools/cmd_tlm_server/cmd_tlm_server.txt +22 -0
- data/autohotkey/config/tools/data_viewer/data_viewer.txt +11 -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/handbook_creator/default_toc.xsl +59 -0
- data/autohotkey/config/tools/handbook_creator/handbook_creator.txt +49 -0
- data/autohotkey/config/tools/handbook_creator/templates/command_packets.html.erb +86 -0
- data/autohotkey/config/tools/handbook_creator/templates/command_toc.html.erb +38 -0
- data/autohotkey/config/tools/handbook_creator/templates/footer.html.erb +9 -0
- data/autohotkey/config/tools/handbook_creator/templates/header.html.erb +25 -0
- data/autohotkey/config/tools/handbook_creator/templates/limits_groups.html.erb +13 -0
- data/autohotkey/config/tools/handbook_creator/templates/nav.html.erb +27 -0
- data/autohotkey/config/tools/handbook_creator/templates/overview.html.erb +1 -0
- data/autohotkey/config/tools/handbook_creator/templates/pdf_cover.html.erb +23 -0
- data/autohotkey/config/tools/handbook_creator/templates/pdf_footer.html.erb +33 -0
- data/autohotkey/config/tools/handbook_creator/templates/pdf_header.html.erb +41 -0
- data/autohotkey/config/tools/handbook_creator/templates/telemetry_packets.html.erb +80 -0
- data/autohotkey/config/tools/handbook_creator/templates/telemetry_toc.html.erb +38 -0
- data/autohotkey/config/tools/handbook_creator/templates/title.html.erb +1 -0
- data/autohotkey/config/tools/launcher/launcher.txt +38 -0
- data/autohotkey/config/tools/limits_monitor/README.txt +1 -0
- data/autohotkey/config/tools/opengl_builder/error.txt +1 -0
- data/autohotkey/config/tools/script_runner/script_runner.txt +3 -0
- data/autohotkey/config/tools/table_manager/ConfigTables_def.txt +6 -0
- data/autohotkey/config/tools/table_manager/OldOneDimensionalTable_def.txt +19 -0
- data/autohotkey/config/tools/table_manager/OldTwoDimensionalTable_def.txt +248 -0
- data/autohotkey/config/tools/table_manager/OneDimensionalTable_def.txt +31 -0
- 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/table_manager/TwoDimensionalTable_def.txt +28 -0
- data/autohotkey/config/tools/test_runner/test_runner.txt +8 -0
- data/autohotkey/config/tools/test_runner/test_runner2.txt +11 -0
- data/autohotkey/config/tools/test_runner/test_runner3.txt +7 -0
- data/autohotkey/config/tools/test_runner/test_runner4.txt +1 -0
- data/autohotkey/config/tools/tlm_extractor/tlm_extractor.txt +14 -0
- data/autohotkey/config/tools/tlm_extractor/tlm_extractor2.txt +9 -0
- data/autohotkey/config/tools/tlm_grapher/README.txt +1 -0
- data/autohotkey/config/tools/tlm_grapher/bad.txt +50 -0
- data/autohotkey/config/tools/tlm_grapher/temp1-4.txt +51 -0
- data/autohotkey/config/tools/tlm_grapher/test2.txt +111 -0
- data/autohotkey/config/tools/tlm_viewer/tlm_viewer.txt +24 -0
- data/autohotkey/config/tools/tlm_viewer/tlm_viewer2.txt +4 -0
- data/autohotkey/config/tools/tlm_viewer/tlm_viewer3.txt +3 -0
- data/autohotkey/lib/cmd_sequence_exporter.rb +52 -0
- data/autohotkey/lib/example_background_task.rb +42 -0
- data/autohotkey/lib/user_version.rb +3 -0
- data/autohotkey/outputs/handbooks/README.txt +1 -0
- data/autohotkey/outputs/logs/bigtlm.bin +0 -0
- data/autohotkey/outputs/logs/cmd.bin +0 -0
- data/autohotkey/outputs/logs/tlm.bin +0 -0
- data/autohotkey/outputs/saved_config/README.txt +1 -0
- data/autohotkey/outputs/sequences/bad_sequence.txt +1 -0
- data/autohotkey/outputs/sequences/bad_sequence2.txt +1 -0
- data/autohotkey/outputs/sequences/saved_sequence.txt +3 -0
- data/autohotkey/outputs/tables/README.txt +1 -0
- data/autohotkey/outputs/tmp/README.txt +1 -0
- data/autohotkey/procedures/clear_util.rb +7 -0
- data/autohotkey/procedures/collect.rb +18 -0
- data/autohotkey/procedures/collect_util.rb +14 -0
- data/autohotkey/procedures/example_test.rb +71 -0
- data/autohotkey/procedures/example_test2.rb +74 -0
- data/autohotkey/procedures/script_test.rb +21 -0
- data/autohotkey/procedures/syntax_error.rb +18 -0
- data/autohotkey/tools/CmdExtractorAHK +16 -0
- data/autohotkey/tools/CmdSender +14 -0
- data/autohotkey/tools/CmdSenderAHK +18 -0
- data/autohotkey/tools/CmdSenderAHK2 +18 -0
- data/autohotkey/tools/CmdSequence +14 -0
- data/autohotkey/tools/CmdSequenceAHK +23 -0
- data/autohotkey/tools/CmdSequenceAHK2 +16 -0
- data/autohotkey/tools/CmdTlmServer +14 -0
- data/autohotkey/tools/CmdTlmServerAHK +28 -0
- data/autohotkey/tools/CmdTlmServerAHK2 +17 -0
- data/autohotkey/tools/ConfigEditor +16 -0
- data/autohotkey/tools/ConfigEditorAHK +19 -0
- data/autohotkey/tools/DataViewer +14 -0
- data/autohotkey/tools/DataViewerAHK +17 -0
- data/autohotkey/tools/HandbookCreatorAHK +20 -0
- data/autohotkey/tools/LauncherAHK +17 -0
- data/autohotkey/tools/LimitsMonitorAHK +20 -0
- data/autohotkey/tools/OpenGLBuilderAHK +24 -0
- data/autohotkey/tools/PacketViewer +14 -0
- data/autohotkey/tools/PacketViewerAHK +18 -0
- data/autohotkey/tools/PacketViewerAHK2 +17 -0
- data/autohotkey/tools/Replay +14 -0
- data/autohotkey/tools/ReplayAHK +17 -0
- data/autohotkey/tools/ScriptRunner +14 -0
- data/autohotkey/tools/ScriptRunnerAHK +20 -0
- data/autohotkey/tools/ScriptRunnerAHK2 +17 -0
- data/autohotkey/tools/TableManager +14 -0
- data/autohotkey/tools/TableManagerAHK +25 -0
- data/autohotkey/tools/TableManagerAHK2 +18 -0
- data/autohotkey/tools/TableManagerAHK3 +18 -0
- data/autohotkey/tools/TableManagerAHK4 +24 -0
- data/autohotkey/tools/TestRunner +15 -0
- data/autohotkey/tools/TestRunnerAHK +17 -0
- data/autohotkey/tools/TestRunnerAHK2 +17 -0
- data/autohotkey/tools/TestRunnerAHK3 +17 -0
- data/autohotkey/tools/TestRunnerAHK4 +17 -0
- data/autohotkey/tools/TestRunnerAHK5 +17 -0
- data/autohotkey/tools/TestRunnerAHK6 +17 -0
- data/autohotkey/tools/TlmExtractor +15 -0
- data/autohotkey/tools/TlmExtractorAHK +19 -0
- data/autohotkey/tools/TlmExtractorAHK2 +16 -0
- data/autohotkey/tools/TlmExtractorAHK3 +16 -0
- data/autohotkey/tools/TlmGrapher +14 -0
- data/autohotkey/tools/TlmGrapherAHK +19 -0
- data/autohotkey/tools/TlmGrapherAHK2 +23 -0
- data/autohotkey/tools/TlmGrapherAHK3 +17 -0
- data/autohotkey/tools/TlmGrapherAHK4 +17 -0
- data/autohotkey/tools/TlmViewer +14 -0
- data/autohotkey/tools/TlmViewerAHK +28 -0
- data/autohotkey/tools/TlmViewerAHK2 +22 -0
- data/autohotkey/tools/TlmViewerAHK3 +23 -0
- data/autohotkey/tools/TlmViewerAHK4 +22 -0
- data/autohotkey/tools/TlmViewerAHK5 +18 -0
- data/autohotkey/tools/autohotkey.rb +38 -0
- data/autohotkey/tools/cmd_extractor.ahk +52 -0
- data/autohotkey/tools/cmd_sender.ahk +208 -0
- data/autohotkey/tools/cmd_sender2.ahk +4 -0
- data/autohotkey/tools/cmd_sequence.ahk +233 -0
- data/autohotkey/tools/cmd_sequence2.ahk +23 -0
- data/autohotkey/tools/cmd_tlm_server.ahk +90 -0
- data/autohotkey/tools/cmd_tlm_server2.ahk +45 -0
- data/autohotkey/tools/config_editor.ahk +197 -0
- data/autohotkey/tools/data_viewer.ahk +140 -0
- data/autohotkey/tools/handbook_creator.ahk +32 -0
- data/autohotkey/tools/launcher.ahk +42 -0
- data/autohotkey/tools/limits_monitor.ahk +121 -0
- data/autohotkey/tools/open_gl_builder.ahk +133 -0
- data/autohotkey/tools/packet_viewer.ahk +224 -0
- data/autohotkey/tools/packet_viewer2.ahk +9 -0
- data/autohotkey/tools/replay.ahk +103 -0
- data/autohotkey/tools/script_runner.ahk +602 -0
- data/autohotkey/tools/script_runner2.ahk +50 -0
- data/autohotkey/tools/table_manager.ahk +291 -0
- data/autohotkey/tools/test_runner.ahk +262 -0
- data/autohotkey/tools/test_runner2.ahk +49 -0
- data/autohotkey/tools/test_runner3.ahk +11 -0
- data/autohotkey/tools/test_runner5.ahk +8 -0
- data/autohotkey/tools/test_runner6.ahk +5 -0
- data/autohotkey/tools/tlm_extractor.ahk +356 -0
- data/autohotkey/tools/tlm_grapher.ahk +670 -0
- data/autohotkey/tools/tlm_grapher2.ahk +115 -0
- data/autohotkey/tools/tlm_grapher3.ahk +23 -0
- data/autohotkey/tools/tlm_viewer.ahk +140 -0
- data/autohotkey/tools/tlm_viewer2.ahk +49 -0
- data/autohotkey/tools/tlm_viewer4.ahk +4 -0
- data/autohotkey/tools/tlm_viewer5.ahk +19 -0
- data/autohotkey/tools/tool_launch.rb +38 -0
- data/bin/cosmos +303 -0
- data/bin/cstol_converter +1166 -0
- data/bin/dart_import +4 -0
- data/bin/dart_util +4 -0
- data/bin/exchndl20-x64.dll +0 -0
- data/bin/exchndl20.dll +0 -0
- data/bin/exchndl21-x64.dll +0 -0
- data/bin/exchndl21.dll +0 -0
- data/bin/exchndl22-x64.dll +0 -0
- data/bin/exchndl22.dll +0 -0
- data/bin/mgwhelp-x64.dll +0 -0
- data/bin/mgwhelp.dll +0 -0
- data/bin/rubysloc +130 -0
- data/bin/xtce_converter +83 -0
- data/data/COSMOS_64x64.bmp +0 -0
- data/data/COSMOS_64x64.ico +0 -0
- data/data/COSMOS_64x64.png +0 -0
- data/data/COSMOS_Architecture.png +0 -0
- data/data/CheckBoxCheck.gif +0 -0
- data/data/CheckBoxEmpty.gif +0 -0
- data/data/Earthmap1024x512.gif +0 -0
- data/data/about.txt +4 -0
- data/data/add_database.png +0 -0
- data/data/add_plot.png +0 -0
- data/data/add_tab.png +0 -0
- data/data/blank.png +0 -0
- data/data/bug.png +0 -0
- data/data/checkmark.png +0 -0
- data/data/close.png +0 -0
- data/data/cmd_extractor.png +0 -0
- data/data/cmd_sender.png +0 -0
- 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 +210 -0
- data/data/config/_items.yaml +20 -0
- data/data/config/_params.yaml +58 -0
- data/data/config/cmd_sequence.yaml +14 -0
- data/data/config/cmd_tlm_server.yaml +136 -0
- data/data/config/command.yaml +40 -0
- data/data/config/command_modifiers.yaml +160 -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 +85 -0
- data/data/config/interface_modifiers.yaml +97 -0
- data/data/config/item_modifiers.yaml +221 -0
- data/data/config/launcher.yaml +127 -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 +51 -0
- data/data/config/parameter_modifiers.yaml +200 -0
- data/data/config/protocols.yaml +273 -0
- data/data/config/screen.yaml +153 -0
- data/data/config/script_runner.yaml +24 -0
- data/data/config/system.yaml +371 -0
- data/data/config/table_manager.yaml +83 -0
- data/data/config/table_parameter_modifiers.yaml +9 -0
- data/data/config/target.yaml +92 -0
- data/data/config/telemetry.yaml +80 -0
- data/data/config/telemetry_modifiers.yaml +159 -0
- data/data/config/test_runner.yaml +119 -0
- data/data/config/tlm_extractor.yaml +109 -0
- data/data/config/tlm_grapher.yaml +78 -0
- data/data/config/tlm_viewer.yaml +112 -0
- data/data/config/unknown.yaml +3 -0
- data/data/config/widgets.yaml +1502 -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/copy.png +0 -0
- data/data/cosmos.xcf +0 -0
- data/data/cosmos_word.gif +0 -0
- data/data/crc.txt +470 -0
- data/data/critical.wav +0 -0
- data/data/cts.png +0 -0
- data/data/cut.png +0 -0
- data/data/dart.png +0 -0
- data/data/data_viewer.png +0 -0
- data/data/delete.png +0 -0
- data/data/delete_database.png +0 -0
- data/data/delete_plot.png +0 -0
- data/data/delete_tab.png +0 -0
- data/data/diamond.STL +58 -0
- data/data/disconnected.png +0 -0
- data/data/edit.png +0 -0
- data/data/edit_database.png +0 -0
- data/data/edit_plot.png +0 -0
- data/data/edit_tab.png +0 -0
- data/data/end-26.png +0 -0
- data/data/fast_forward-26.png +0 -0
- data/data/file.png +0 -0
- data/data/handbook_creator.png +0 -0
- data/data/help.png +0 -0
- data/data/html-32.png +0 -0
- data/data/information.wav +0 -0
- data/data/input.wav +0 -0
- data/data/launcher.png +0 -0
- data/data/legal.gif +0 -0
- data/data/legal.txt +8 -0
- data/data/limits_monitor.png +0 -0
- data/data/message.wav +0 -0
- data/data/moonmap1k.gif +0 -0
- data/data/multi.png +0 -0
- data/data/open.png +0 -0
- data/data/open_in_browser-32.png +0 -0
- data/data/opengl_builder.png +0 -0
- data/data/packet_viewer.png +0 -0
- data/data/pdf-32.png +0 -0
- data/data/play-26.png +0 -0
- data/data/question.wav +0 -0
- data/data/redo.png +0 -0
- data/data/replay.png +0 -0
- data/data/reverse-play-26.png +0 -0
- data/data/rewind-26.png +0 -0
- data/data/running.png +0 -0
- data/data/save.png +0 -0
- data/data/save_as.png +0 -0
- data/data/screenshot.png +0 -0
- data/data/script_runner.png +0 -0
- data/data/search-14.png +0 -0
- data/data/search.png +0 -0
- data/data/send_file.png +0 -0
- data/data/skip_to_start-26.png +0 -0
- data/data/spinner.gif +0 -0
- data/data/splash.gif +0 -0
- data/data/stop-26.png +0 -0
- data/data/table_manager.png +0 -0
- data/data/test_runner.png +0 -0
- data/data/tlm_extractor.png +0 -0
- data/data/tlm_grapher.png +0 -0
- data/data/tlm_viewer.png +0 -0
- data/data/undo.png +0 -0
- data/data/warning.wav +0 -0
- data/demo/Gemfile +13 -0
- data/demo/Launcher +16 -0
- data/demo/Launcher.bat +1 -0
- data/demo/Launcher2.bat +1 -0
- data/demo/LauncherMini.bat +1 -0
- data/demo/Rakefile +83 -0
- data/demo/config/dart/Gemfile +49 -0
- data/demo/config/data/attitude.bin +0 -0
- data/demo/config/data/crc.txt +294 -0
- data/demo/config/data/diamond.STL +58 -0
- data/demo/config/data/hselectoff.gif +0 -0
- data/demo/config/data/hselecton.gif +0 -0
- data/demo/config/data/hswitchoff.gif +0 -0
- data/demo/config/data/hswitchon.gif +0 -0
- data/demo/config/data/meta_init.txt +1 -0
- data/demo/config/data/position.bin +0 -0
- data/demo/config/data/poweroff.gif +0 -0
- data/demo/config/data/poweron.gif +0 -0
- data/demo/config/data/satellite.gif +0 -0
- data/demo/config/data/tada.wav +0 -0
- data/demo/config/data/vswitchoff.gif +0 -0
- data/demo/config/data/vswitchon.gif +0 -0
- data/demo/config/system/system.txt +90 -0
- data/demo/config/system/system2.txt +75 -0
- data/demo/config/system/system_alt_ports.txt +80 -0
- data/demo/config/targets/DART/cmd_tlm/dart_cmds.txt +2 -0
- data/demo/config/targets/DART/cmd_tlm/dart_tlm.txt +40 -0
- data/demo/config/targets/DART/cmd_tlm_server.txt +6 -0
- data/demo/config/targets/DART/screens/status.txt +54 -0
- data/demo/config/targets/DART/target.txt +7 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm/example_cmds.txt +2 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm/example_tlm.txt +5 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm_server.txt +7 -0
- data/demo/config/targets/EXAMPLE/lib/example_interface.rb +18 -0
- data/demo/config/targets/EXAMPLE/target.txt +9 -0
- data/demo/config/targets/INST/cmd_tlm/_ccsds_cmd.txt +9 -0
- data/demo/config/targets/INST/cmd_tlm/_ccsds_tlm.txt +19 -0
- data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +58 -0
- data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +169 -0
- data/demo/config/targets/INST/cmd_tlm/inst_tlm_override.txt +12 -0
- data/demo/config/targets/INST/cmd_tlm_server.txt +8 -0
- data/demo/config/targets/INST/cmd_tlm_server2.txt +7 -0
- data/demo/config/targets/INST/doc/README.txt +1 -0
- data/demo/config/targets/INST/lib/example_limits_response.rb +30 -0
- data/demo/config/targets/INST/lib/inst_dump_component.rb +34 -0
- data/demo/config/targets/INST/lib/sim_inst.rb +333 -0
- data/demo/config/targets/INST/procedures/checks.rb +11 -0
- data/demo/config/targets/INST/procedures/collect.rb +18 -0
- data/demo/config/targets/INST/procedures/disconnect.rb +29 -0
- data/demo/config/targets/INST/procedures/utilities/clear.rb +7 -0
- data/demo/config/targets/INST/procedures/utilities/collect.rb +14 -0
- data/demo/config/targets/INST/screens/_footer.txt +4 -0
- data/demo/config/targets/INST/screens/adcs.txt +71 -0
- data/demo/config/targets/INST/screens/array.txt +15 -0
- data/demo/config/targets/INST/screens/block.txt +8 -0
- data/demo/config/targets/INST/screens/commanding.txt +42 -0
- data/demo/config/targets/INST/screens/graphs.txt +14 -0
- data/demo/config/targets/INST/screens/ground.txt +47 -0
- data/demo/config/targets/INST/screens/ground_error.gif +0 -0
- data/demo/config/targets/INST/screens/ground_off.gif +0 -0
- data/demo/config/targets/INST/screens/ground_on.gif +0 -0
- data/demo/config/targets/INST/screens/hs.txt +43 -0
- data/demo/config/targets/INST/screens/latest.txt +23 -0
- data/demo/config/targets/INST/screens/limits.txt +81 -0
- data/demo/config/targets/INST/screens/other.txt +34 -0
- 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/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 +68 -0
- 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 +38 -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 +6 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/meta_tlm.txt +10 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/override.txt +29 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/system_cmds.txt +41 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/demo/config/targets/SYSTEM/cmd_tlm_server.txt +6 -0
- data/demo/config/targets/SYSTEM/lib/limits_groups.rb +55 -0
- data/demo/config/targets/SYSTEM/screens/status.txt +12 -0
- data/demo/config/targets/SYSTEM/target.txt +12 -0
- data/demo/config/targets/TEMPLATED/cmd_tlm/templated_cmds.txt +13 -0
- data/demo/config/targets/TEMPLATED/cmd_tlm/templated_tlm.txt +3 -0
- data/demo/config/targets/TEMPLATED/cmd_tlm_server.txt +6 -0
- data/demo/config/targets/TEMPLATED/lib/templated_interface.rb +59 -0
- data/demo/config/targets/TEMPLATED/target.txt +8 -0
- data/demo/config/tools/cmd_sequence/cmd_sequence.txt +2 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt +45 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt +42 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server_chain.txt +18 -0
- data/demo/config/tools/data_viewer/data_viewer.txt +23 -0
- data/demo/config/tools/example_application.css +58 -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 -0
- data/demo/config/tools/handbook_creator/handbook_creator.txt +66 -0
- data/demo/config/tools/handbook_creator/templates/command_packets.html.erb +88 -0
- data/demo/config/tools/handbook_creator/templates/command_toc.html.erb +38 -0
- data/demo/config/tools/handbook_creator/templates/footer.html.erb +9 -0
- data/demo/config/tools/handbook_creator/templates/header.html.erb +25 -0
- data/demo/config/tools/handbook_creator/templates/limits_groups.html.erb +13 -0
- data/demo/config/tools/handbook_creator/templates/nav.html.erb +27 -0
- data/demo/config/tools/handbook_creator/templates/overview.html.erb +1 -0
- data/demo/config/tools/handbook_creator/templates/pdf_cover.html.erb +23 -0
- data/demo/config/tools/handbook_creator/templates/pdf_footer.html.erb +33 -0
- data/demo/config/tools/handbook_creator/templates/pdf_header.html.erb +41 -0
- data/demo/config/tools/handbook_creator/templates/telemetry_packets.html.erb +82 -0
- data/demo/config/tools/handbook_creator/templates/telemetry_toc.html.erb +38 -0
- data/demo/config/tools/handbook_creator/templates/title.html.erb +1 -0
- data/demo/config/tools/launcher/launcher.css +7 -0
- data/demo/config/tools/launcher/launcher.txt +49 -0
- data/demo/config/tools/launcher/launcher2.css +10 -0
- data/demo/config/tools/launcher/launcher2.txt +48 -0
- data/demo/config/tools/launcher/launcher_mini.txt +45 -0
- data/demo/config/tools/limits_monitor/README.txt +1 -0
- data/demo/config/tools/opengl_builder/README.txt +1 -0
- data/demo/config/tools/script_runner/script_runner.txt +2 -0
- data/demo/config/tools/table_manager/ConfigTables_def.txt +8 -0
- data/demo/config/tools/table_manager/ExampleTableDefinition.txt +24 -0
- data/demo/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +37 -0
- data/demo/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +34 -0
- data/demo/config/tools/table_manager/PPSSelectionTable_def.txt +9 -0
- data/demo/config/tools/table_manager/TLMMonitoringTable_def.txt +31 -0
- data/demo/config/tools/test_runner/test_runner.css +45 -0
- data/demo/config/tools/test_runner/test_runner.txt +19 -0
- data/demo/config/tools/tlm_extractor/_adcs_time.txt +2 -0
- data/demo/config/tools/tlm_extractor/tlm_extractor.txt +13 -0
- data/demo/config/tools/tlm_extractor/tlm_extractor2.txt +2 -0
- data/demo/config/tools/tlm_extractor/tlm_extractor3.txt +2 -0
- data/demo/config/tools/tlm_extractor/tlm_extractor4.txt +2 -0
- data/demo/config/tools/tlm_grapher/README.txt +1 -0
- data/demo/config/tools/tlm_viewer/tlm_viewer.txt +41 -0
- data/demo/lib/cmd_sequence_exporter.rb +52 -0
- data/demo/lib/example_background_task.rb +57 -0
- data/demo/lib/example_target.rb +103 -0
- data/demo/lib/scpi_target.rb +68 -0
- data/demo/lib/user_version.rb +3 -0
- data/demo/outputs/dart/data/README.txt +1 -0
- data/demo/outputs/handbooks/README.txt +1 -0
- data/demo/outputs/logs/README.txt +1 -0
- data/demo/outputs/saved_config/README.txt +1 -0
- data/demo/outputs/sequences/sequence.tsv +4 -0
- data/demo/outputs/tables/README.txt +1 -0
- data/demo/outputs/tmp/README.txt +1 -0
- data/demo/procedures/cosmos_api_test.rb +314 -0
- data/demo/procedures/example_test.rb +192 -0
- data/demo/procedures/interactive.rb +22 -0
- data/demo/procedures/local_screen_example.rb +51 -0
- data/demo/procedures/plot_test.rb +8 -0
- data/demo/procedures/replay_test.rb +32 -0
- data/demo/procedures/run_example_test.rb +3 -0
- data/demo/procedures/test.rb +51 -0
- data/demo/tools/CmdExtractor +16 -0
- data/demo/tools/CmdExtractor.bat +9 -0
- data/demo/tools/CmdSender +16 -0
- data/demo/tools/CmdSender.bat +9 -0
- data/demo/tools/CmdSequence +16 -0
- data/demo/tools/CmdSequence.bat +9 -0
- data/demo/tools/CmdTlmServer +16 -0
- data/demo/tools/CmdTlmServer.bat +9 -0
- data/demo/tools/ConfigEditor +16 -0
- data/demo/tools/ConfigEditor.bat +9 -0
- data/demo/tools/Dart +16 -0
- data/demo/tools/Dart.bat +9 -0
- data/demo/tools/DataViewer +16 -0
- data/demo/tools/DataViewer.bat +9 -0
- data/demo/tools/ExampleTarget +16 -0
- data/demo/tools/ExampleTarget.bat +9 -0
- data/demo/tools/HandbookCreator +16 -0
- data/demo/tools/HandbookCreator.bat +9 -0
- data/demo/tools/Launcher +16 -0
- data/demo/tools/Launcher.bat +9 -0
- data/demo/tools/LimitsMonitor +16 -0
- data/demo/tools/LimitsMonitor.bat +9 -0
- data/demo/tools/OpenGLBuilder +16 -0
- data/demo/tools/OpenGLBuilder.bat +9 -0
- data/demo/tools/PacketViewer +16 -0
- data/demo/tools/PacketViewer.bat +9 -0
- data/demo/tools/Replay +16 -0
- data/demo/tools/Replay.bat +9 -0
- data/demo/tools/ScpiTarget +16 -0
- data/demo/tools/ScpiTarget.bat +9 -0
- data/demo/tools/ScriptRunner +16 -0
- data/demo/tools/ScriptRunner.bat +9 -0
- data/demo/tools/TableManager +16 -0
- data/demo/tools/TableManager.bat +9 -0
- data/demo/tools/TestRunner +16 -0
- data/demo/tools/TestRunner.bat +9 -0
- data/demo/tools/TlmExtractor +16 -0
- data/demo/tools/TlmExtractor.bat +9 -0
- data/demo/tools/TlmGrapher +16 -0
- data/demo/tools/TlmGrapher.bat +9 -0
- data/demo/tools/TlmViewer +16 -0
- data/demo/tools/TlmViewer.bat +9 -0
- data/demo/tools/ToolLaunch.bat +72 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +16 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/CmdSender.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +16 -0
- data/demo/tools/mac/CmdSender.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -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/demo/tools/mac/CmdTlmServer.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +16 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/ConfigEditor.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/ConfigEditor.app/Contents/MacOS/ConfigEditor.rb +16 -0
- data/demo/tools/mac/ConfigEditor.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/ConfigEditor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/ConfigEditor.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/DataViewer.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +16 -0
- data/demo/tools/mac/DataViewer.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +16 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/Launcher.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +16 -0
- data/demo/tools/mac/Launcher.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +16 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +16 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/PacketViewer.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +16 -0
- data/demo/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/Replay.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/Replay.app/Contents/MacOS/Replay.rb +16 -0
- data/demo/tools/mac/Replay.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/Replay.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +16 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TableManager.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +16 -0
- data/demo/tools/mac/TableManager.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TestRunner.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +16 -0
- data/demo/tools/mac/TestRunner.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +16 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +16 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TlmViewer.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +16 -0
- data/demo/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/tool_launch.rb +38 -0
- data/ext/cosmos/ext/array/array.c +111 -0
- data/ext/cosmos/ext/array/extconf.rb +13 -0
- data/ext/cosmos/ext/buffered_file/buffered_file.c +167 -0
- data/ext/cosmos/ext/buffered_file/extconf.rb +13 -0
- data/ext/cosmos/ext/config_parser/config_parser.c +236 -0
- data/ext/cosmos/ext/config_parser/extconf.rb +13 -0
- data/ext/cosmos/ext/cosmos_io/cosmos_io.c +145 -0
- data/ext/cosmos/ext/cosmos_io/extconf.rb +13 -0
- data/ext/cosmos/ext/crc/crc.c +341 -0
- data/ext/cosmos/ext/crc/extconf.rb +13 -0
- data/ext/cosmos/ext/line_graph/extconf.rb +13 -0
- data/ext/cosmos/ext/line_graph/line_graph.c +460 -0
- data/ext/cosmos/ext/low_fragmentation_array/extconf.rb +13 -0
- data/ext/cosmos/ext/low_fragmentation_array/low_fragmentation_array.c +265 -0
- data/ext/cosmos/ext/packet/extconf.rb +13 -0
- data/ext/cosmos/ext/packet/packet.c +273 -0
- data/ext/cosmos/ext/platform/extconf.rb +13 -0
- data/ext/cosmos/ext/platform/platform.c +136 -0
- data/ext/cosmos/ext/polynomial_conversion/extconf.rb +13 -0
- data/ext/cosmos/ext/polynomial_conversion/polynomial_conversion.c +69 -0
- data/ext/cosmos/ext/string/extconf.rb +13 -0
- data/ext/cosmos/ext/string/string.c +49 -0
- data/ext/cosmos/ext/structure/structure.c +1493 -0
- data/ext/cosmos/ext/tabbed_plots_config/extconf.rb +13 -0
- data/ext/cosmos/ext/tabbed_plots_config/tabbed_plots_config.c +51 -0
- data/ext/cosmos/ext/telemetry/extconf.rb +13 -0
- data/ext/cosmos/ext/telemetry/telemetry.c +307 -0
- data/ext/mkrf_conf.rb +40 -0
- 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 +13 -0
- data/install/Launcher +16 -0
- data/install/Launcher.bat +1 -0
- data/install/Rakefile +81 -0
- data/install/config/dart/Gemfile +49 -0
- data/install/config/data/README.txt +1 -0
- data/install/config/data/crc.txt +179 -0
- data/install/config/system/system.txt +75 -0
- data/install/config/targets/SYSTEM/cmd_tlm/meta_tlm.txt +9 -0
- data/install/config/targets/SYSTEM/target.txt +12 -0
- data/install/config/tools/cmd_tlm_server/cmd_tlm_server.txt +3 -0
- data/install/config/tools/data_viewer/data_viewer.txt +4 -0
- 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 -0
- data/install/config/tools/handbook_creator/handbook_creator.txt +49 -0
- data/install/config/tools/handbook_creator/templates/command_packets.html.erb +86 -0
- data/install/config/tools/handbook_creator/templates/command_toc.html.erb +38 -0
- data/install/config/tools/handbook_creator/templates/footer.html.erb +9 -0
- data/install/config/tools/handbook_creator/templates/header.html.erb +25 -0
- data/install/config/tools/handbook_creator/templates/limits_groups.html.erb +13 -0
- data/install/config/tools/handbook_creator/templates/nav.html.erb +27 -0
- data/install/config/tools/handbook_creator/templates/overview.html.erb +1 -0
- data/install/config/tools/handbook_creator/templates/pdf_cover.html.erb +23 -0
- data/install/config/tools/handbook_creator/templates/pdf_footer.html.erb +33 -0
- data/install/config/tools/handbook_creator/templates/pdf_header.html.erb +41 -0
- data/install/config/tools/handbook_creator/templates/telemetry_packets.html.erb +80 -0
- data/install/config/tools/handbook_creator/templates/telemetry_toc.html.erb +38 -0
- data/install/config/tools/handbook_creator/templates/title.html.erb +1 -0
- data/install/config/tools/launcher/launcher.txt +43 -0
- data/install/config/tools/limits_monitor/README.txt +1 -0
- data/install/config/tools/opengl_builder/README.txt +1 -0
- data/install/config/tools/script_runner/script_runner.txt +3 -0
- data/install/config/tools/table_manager/README.txt +1 -0
- data/install/config/tools/test_runner/test_runner.txt +8 -0
- data/install/config/tools/tlm_extractor/README.txt +1 -0
- data/install/config/tools/tlm_grapher/README.txt +1 -0
- data/install/config/tools/tlm_viewer/tlm_viewer.txt +5 -0
- data/install/lib/user_version.rb +3 -0
- data/install/outputs/dart/data/README.txt +1 -0
- data/install/outputs/dart/logs/README.txt +1 -0
- data/install/outputs/handbooks/README.txt +1 -0
- data/install/outputs/logs/README.txt +1 -0
- data/install/outputs/saved_config/README.txt +1 -0
- data/install/outputs/tables/README.txt +1 -0
- data/install/outputs/tmp/README.txt +1 -0
- data/install/procedures/README.txt +1 -0
- data/install/tools/CmdExtractor +16 -0
- data/install/tools/CmdExtractor.bat +9 -0
- data/install/tools/CmdSender +16 -0
- data/install/tools/CmdSender.bat +9 -0
- data/install/tools/CmdSequence +16 -0
- data/install/tools/CmdSequence.bat +9 -0
- data/install/tools/CmdTlmServer +16 -0
- data/install/tools/CmdTlmServer.bat +9 -0
- data/install/tools/ConfigEditor +16 -0
- data/install/tools/ConfigEditor.bat +9 -0
- data/install/tools/Dart +16 -0
- data/install/tools/Dart.bat +9 -0
- data/install/tools/DataViewer +16 -0
- data/install/tools/DataViewer.bat +9 -0
- data/install/tools/HandbookCreator +16 -0
- data/install/tools/HandbookCreator.bat +9 -0
- data/install/tools/Launcher +16 -0
- data/install/tools/Launcher.bat +9 -0
- data/install/tools/LimitsMonitor +16 -0
- data/install/tools/LimitsMonitor.bat +9 -0
- data/install/tools/OpenGLBuilder +16 -0
- data/install/tools/OpenGLBuilder.bat +9 -0
- data/install/tools/PacketViewer +16 -0
- data/install/tools/PacketViewer.bat +9 -0
- data/install/tools/Replay +16 -0
- data/install/tools/Replay.bat +9 -0
- data/install/tools/ScriptRunner +16 -0
- data/install/tools/ScriptRunner.bat +9 -0
- data/install/tools/TableManager +16 -0
- data/install/tools/TableManager.bat +9 -0
- data/install/tools/TestRunner +16 -0
- data/install/tools/TestRunner.bat +9 -0
- data/install/tools/TlmExtractor +16 -0
- data/install/tools/TlmExtractor.bat +9 -0
- data/install/tools/TlmGrapher +16 -0
- data/install/tools/TlmGrapher.bat +9 -0
- data/install/tools/TlmViewer +16 -0
- data/install/tools/TlmViewer.bat +9 -0
- data/install/tools/ToolLaunch.bat +72 -0
- data/install/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
- data/install/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +16 -0
- data/install/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/CmdSender.app/Contents/Info.plist +38 -0
- data/install/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +16 -0
- data/install/tools/mac/CmdSender.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -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/install/tools/mac/CmdTlmServer.app/Contents/Info.plist +38 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +16 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/ConfigEditor.app/Contents/Info.plist +38 -0
- data/install/tools/mac/ConfigEditor.app/Contents/MacOS/ConfigEditor.rb +16 -0
- data/install/tools/mac/ConfigEditor.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/ConfigEditor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/ConfigEditor.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/DataViewer.app/Contents/Info.plist +38 -0
- data/install/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +16 -0
- data/install/tools/mac/DataViewer.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/HandbookCreator.app/Contents/Info.plist +38 -0
- data/install/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +16 -0
- data/install/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/Launcher.app/Contents/Info.plist +38 -0
- data/install/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +16 -0
- data/install/tools/mac/Launcher.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/Info.plist +38 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +16 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/Info.plist +38 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +16 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/PacketViewer.app/Contents/Info.plist +38 -0
- data/install/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +16 -0
- data/install/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/Replay.app/Contents/Info.plist +38 -0
- data/install/tools/mac/Replay.app/Contents/MacOS/Replay.rb +16 -0
- data/install/tools/mac/Replay.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/Replay.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/ScriptRunner.app/Contents/Info.plist +38 -0
- data/install/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +16 -0
- data/install/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TableManager.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +16 -0
- data/install/tools/mac/TableManager.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TestRunner.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +16 -0
- data/install/tools/mac/TestRunner.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TlmExtractor.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +16 -0
- data/install/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TlmGrapher.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +16 -0
- data/install/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TlmViewer.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +16 -0
- data/install/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/tool_launch.rb +38 -0
- data/lib/cosmos/ccsds/ccsds_packet.rb +63 -0
- data/lib/cosmos/ccsds/ccsds_parser.rb +143 -0
- data/lib/cosmos/config/config_parser.rb +506 -0
- data/lib/cosmos/config/meta_config_parser.rb +57 -0
- data/lib/cosmos/conversions/conversion.rb +52 -0
- data/lib/cosmos/conversions/generic_conversion.rb +67 -0
- data/lib/cosmos/conversions/new_packet_log_conversion.rb +52 -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/conversions/polynomial_conversion.rb +79 -0
- data/lib/cosmos/conversions/processor_conversion.rb +56 -0
- data/lib/cosmos/conversions/received_count_conversion.rb +33 -0
- data/lib/cosmos/conversions/received_time_formatted_conversion.rb +37 -0
- data/lib/cosmos/conversions/received_time_seconds_conversion.rb +37 -0
- data/lib/cosmos/conversions/segmented_polynomial_conversion.rb +139 -0
- data/lib/cosmos/conversions/unix_time_conversion.rb +57 -0
- data/lib/cosmos/conversions/unix_time_formatted_conversion.rb +44 -0
- data/lib/cosmos/conversions/unix_time_seconds_conversion.rb +44 -0
- data/lib/cosmos/conversions.rb +15 -0
- data/lib/cosmos/core_ext/array.rb +397 -0
- data/lib/cosmos/core_ext/class.rb +63 -0
- data/lib/cosmos/core_ext/cosmos_io.rb +46 -0
- data/lib/cosmos/core_ext/exception.rb +52 -0
- data/lib/cosmos/core_ext/file.rb +76 -0
- data/lib/cosmos/core_ext/hash.rb +28 -0
- data/lib/cosmos/core_ext/io.rb +122 -0
- data/lib/cosmos/core_ext/kernel.rb +33 -0
- data/lib/cosmos/core_ext/math.rb +119 -0
- data/lib/cosmos/core_ext/matrix.rb +149 -0
- data/lib/cosmos/core_ext/objectspace.rb +27 -0
- data/lib/cosmos/core_ext/range.rb +18 -0
- data/lib/cosmos/core_ext/socket.rb +32 -0
- data/lib/cosmos/core_ext/string.rb +351 -0
- data/lib/cosmos/core_ext/stringio.rb +24 -0
- data/lib/cosmos/core_ext/time.rb +483 -0
- data/lib/cosmos/core_ext.rb +18 -0
- data/lib/cosmos/dart/.rspec +1 -0
- data/lib/cosmos/dart/Rakefile +7 -0
- data/lib/cosmos/dart/app/assets/config/manifest.js +4 -0
- data/lib/cosmos/dart/app/assets/images/.keep +0 -0
- data/lib/cosmos/dart/app/assets/javascripts/application.js +13 -0
- data/lib/cosmos/dart/app/assets/javascripts/cable.js +13 -0
- data/lib/cosmos/dart/app/assets/stylesheets/application.css.scss +15 -0
- data/lib/cosmos/dart/app/channels/application_cable/channel.rb +4 -0
- data/lib/cosmos/dart/app/channels/application_cable/connection.rb +4 -0
- data/lib/cosmos/dart/app/controllers/application_controller.rb +3 -0
- data/lib/cosmos/dart/app/jobs/application_job.rb +2 -0
- data/lib/cosmos/dart/app/mailers/application_mailer.rb +4 -0
- data/lib/cosmos/dart/app/models/application_record.rb +3 -0
- data/lib/cosmos/dart/app/models/item.rb +6 -0
- data/lib/cosmos/dart/app/models/item_to_decom_table_mapping.rb +9 -0
- data/lib/cosmos/dart/app/models/packet.rb +4 -0
- data/lib/cosmos/dart/app/models/packet_config.rb +7 -0
- data/lib/cosmos/dart/app/models/packet_log.rb +3 -0
- data/lib/cosmos/dart/app/models/packet_log_entry.rb +41 -0
- data/lib/cosmos/dart/app/models/status.rb +2 -0
- data/lib/cosmos/dart/app/models/system_config.rb +2 -0
- data/lib/cosmos/dart/app/models/target.rb +4 -0
- data/lib/cosmos/dart/app/views/layouts/application.html.erb +14 -0
- data/lib/cosmos/dart/app/views/layouts/mailer.html.erb +13 -0
- data/lib/cosmos/dart/app/views/layouts/mailer.text.erb +1 -0
- data/lib/cosmos/dart/bin/bundle +3 -0
- data/lib/cosmos/dart/bin/rails +4 -0
- data/lib/cosmos/dart/bin/rake +4 -0
- data/lib/cosmos/dart/bin/setup +34 -0
- data/lib/cosmos/dart/bin/update +29 -0
- data/lib/cosmos/dart/config/application.rb +29 -0
- data/lib/cosmos/dart/config/boot.rb +3 -0
- data/lib/cosmos/dart/config/cable.yml +9 -0
- data/lib/cosmos/dart/config/database.yml +25 -0
- data/lib/cosmos/dart/config/environment.rb +5 -0
- data/lib/cosmos/dart/config/environments/development.rb +62 -0
- data/lib/cosmos/dart/config/environments/production.rb +84 -0
- data/lib/cosmos/dart/config/environments/test.rb +42 -0
- data/lib/cosmos/dart/config/initializers/application_controller_renderer.rb +6 -0
- data/lib/cosmos/dart/config/initializers/assets.rb +12 -0
- data/lib/cosmos/dart/config/initializers/backtrace_silencers.rb +7 -0
- data/lib/cosmos/dart/config/initializers/cookies_serializer.rb +5 -0
- data/lib/cosmos/dart/config/initializers/filter_parameter_logging.rb +4 -0
- data/lib/cosmos/dart/config/initializers/inflections.rb +16 -0
- data/lib/cosmos/dart/config/initializers/mime_types.rb +4 -0
- data/lib/cosmos/dart/config/initializers/new_framework_defaults.rb +25 -0
- data/lib/cosmos/dart/config/initializers/session_store.rb +3 -0
- data/lib/cosmos/dart/config/initializers/wrap_parameters.rb +14 -0
- data/lib/cosmos/dart/config/locales/en.yml +23 -0
- data/lib/cosmos/dart/config/puma.rb +47 -0
- data/lib/cosmos/dart/config/routes.rb +3 -0
- data/lib/cosmos/dart/config/secrets.yml +22 -0
- data/lib/cosmos/dart/config.ru +5 -0
- data/lib/cosmos/dart/db/migrate/20170406172907_create_targets.rb +8 -0
- data/lib/cosmos/dart/db/migrate/20170406172927_create_packets.rb +10 -0
- data/lib/cosmos/dart/db/migrate/20170406172937_create_packet_logs.rb +9 -0
- data/lib/cosmos/dart/db/migrate/20170406172943_create_packet_log_entries.rb +16 -0
- data/lib/cosmos/dart/db/migrate/20170406183500_change_packet_log_entries_primary_key.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20170407153618_add_unique_requirements.rb +7 -0
- data/lib/cosmos/dart/db/migrate/20170511155447_add_meta_id_to_packet_log_entries.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20170523185056_rename_received_time_and_add_is_tlm_to_packet_log_entries.rb +7 -0
- data/lib/cosmos/dart/db/migrate/20170525201157_create_items.rb +10 -0
- data/lib/cosmos/dart/db/migrate/20170525201315_create_system_configs.rb +9 -0
- data/lib/cosmos/dart/db/migrate/20170525201624_create_packet_configs.rb +11 -0
- data/lib/cosmos/dart/db/migrate/20170525201745_create_item_to_decom_table_mappings.rb +12 -0
- data/lib/cosmos/dart/db/migrate/20170525201939_create_decom_tables.rb +12 -0
- data/lib/cosmos/dart/db/migrate/20170525202051_add_decom_state_to_packet_log_entry.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20170913160409_update_items.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20170913160558_update_item_to_decom_table_mapping.rb +11 -0
- data/lib/cosmos/dart/db/migrate/20170913160916_udpate_decom_table.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20170913212026_add_ready_to_packet_configs.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20170913223556_modify_tables.rb +9 -0
- data/lib/cosmos/dart/db/migrate/20170914215744_modify_mapping_table.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20170919201433_add_system_config_id_to_packet_config.rb +11 -0
- data/lib/cosmos/dart/db/migrate/20170919210307_add_max_table_index_to_packet_configs.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20171215225546_add_ready_to_packet_log_entries.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20180116214338_add_index_for_ple_ready_to_packet_log_entries.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20180423205644_create_statuses.rb +22 -0
- data/lib/cosmos/dart/db/migrate/20180425211340_add_decom_state_index.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20180509204705_remove_indexes.rb +29 -0
- data/lib/cosmos/dart/db/migrate/20180510160002_remove_timestamps_from_ples.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20180511194944_add_packet_log_id_to_tables.rb +18 -0
- data/lib/cosmos/dart/db/schema.rb +109 -0
- data/lib/cosmos/dart/db/seeds.rb +15 -0
- data/lib/cosmos/dart/examples/dart_decom_client.rb +45 -0
- data/lib/cosmos/dart/examples/dart_stream_client.rb +97 -0
- data/lib/cosmos/dart/lib/dart_common.rb +755 -0
- data/lib/cosmos/dart/lib/dart_constants.rb +15 -0
- data/lib/cosmos/dart/lib/dart_database_cleaner.rb +223 -0
- data/lib/cosmos/dart/lib/dart_decom_query.rb +285 -0
- data/lib/cosmos/dart/lib/dart_decommutator.rb +304 -0
- data/lib/cosmos/dart/lib/dart_importer.rb +184 -0
- data/lib/cosmos/dart/lib/dart_logging.rb +50 -0
- data/lib/cosmos/dart/lib/dart_master_query.rb +71 -0
- data/lib/cosmos/dart/lib/dart_packet_log_writer.rb +157 -0
- data/lib/cosmos/dart/lib/dart_reducer_manager.rb +116 -0
- data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +305 -0
- data/lib/cosmos/dart/lib/dart_tcpip_server_interface.rb +142 -0
- data/lib/cosmos/dart/processes/dart.rb +148 -0
- data/lib/cosmos/dart/processes/dart_decom_server.rb +40 -0
- data/lib/cosmos/dart/processes/dart_import.rb +64 -0
- data/lib/cosmos/dart/processes/dart_ingester.rb +132 -0
- data/lib/cosmos/dart/processes/dart_master.rb +44 -0
- data/lib/cosmos/dart/processes/dart_reducer.rb +28 -0
- data/lib/cosmos/dart/processes/dart_stream_server.rb +32 -0
- data/lib/cosmos/dart/processes/dart_util.rb +262 -0
- data/lib/cosmos/dart/processes/dart_worker.rb +38 -0
- data/lib/cosmos/dart/spec/dart/dart_common_spec.rb +333 -0
- data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +455 -0
- data/lib/cosmos/dart/spec/dart/dart_decom_query_spec.rb +154 -0
- data/lib/cosmos/dart/spec/dart/dart_decommutator_spec.rb +337 -0
- data/lib/cosmos/dart/spec/dart/dart_importer_spec.rb +84 -0
- data/lib/cosmos/dart/spec/dart/dart_logging_spec.rb +30 -0
- data/lib/cosmos/dart/spec/dart/dart_packet_log_writer_spec.rb +152 -0
- data/lib/cosmos/dart/spec/dart/dart_reducer_manager_spec.rb +290 -0
- data/lib/cosmos/dart/spec/dart/dart_tcpip_server_interface_spec.rb +240 -0
- data/lib/cosmos/dart/spec/rails_helper.rb +60 -0
- data/lib/cosmos/dart/spec/spec_helper.rb +139 -0
- data/lib/cosmos/ext/.keep +0 -0
- data/lib/cosmos/gui/choosers/combobox_chooser.rb +141 -0
- data/lib/cosmos/gui/choosers/file_chooser.rb +85 -0
- data/lib/cosmos/gui/choosers/float_chooser.rb +67 -0
- data/lib/cosmos/gui/choosers/integer_chooser.rb +69 -0
- data/lib/cosmos/gui/choosers/string_chooser.rb +35 -0
- data/lib/cosmos/gui/choosers/telemetry_chooser.rb +326 -0
- data/lib/cosmos/gui/choosers/value_chooser.rb +67 -0
- data/lib/cosmos/gui/dialogs/about_dialog.rb +166 -0
- data/lib/cosmos/gui/dialogs/calendar_dialog.rb +140 -0
- data/lib/cosmos/gui/dialogs/cmd_details_dialog.rb +51 -0
- data/lib/cosmos/gui/dialogs/cmd_tlm_raw_dialog.rb +167 -0
- data/lib/cosmos/gui/dialogs/dart_dialog.rb +60 -0
- data/lib/cosmos/gui/dialogs/details_dialog.rb +205 -0
- data/lib/cosmos/gui/dialogs/exception_dialog.rb +121 -0
- data/lib/cosmos/gui/dialogs/exception_list_dialog.rb +60 -0
- data/lib/cosmos/gui/dialogs/find_replace_dialog.rb +272 -0
- data/lib/cosmos/gui/dialogs/interface_raw_dialog.rb +143 -0
- data/lib/cosmos/gui/dialogs/legal_dialog.rb +184 -0
- data/lib/cosmos/gui/dialogs/packet_log_dialog.rb +97 -0
- data/lib/cosmos/gui/dialogs/progress_dialog.rb +313 -0
- data/lib/cosmos/gui/dialogs/pry_dialog.rb +169 -0
- data/lib/cosmos/gui/dialogs/scroll_text_dialog.rb +48 -0
- data/lib/cosmos/gui/dialogs/select_dialog.rb +59 -0
- data/lib/cosmos/gui/dialogs/set_tlm_dialog.rb +159 -0
- data/lib/cosmos/gui/dialogs/splash.rb +145 -0
- data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +202 -0
- data/lib/cosmos/gui/dialogs/tlm_edit_dialog.rb +79 -0
- data/lib/cosmos/gui/dialogs/tlm_graph_dialog.rb +110 -0
- data/lib/cosmos/gui/line_graph/line_graph.rb +482 -0
- data/lib/cosmos/gui/line_graph/line_graph_dialog.rb +36 -0
- data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +521 -0
- data/lib/cosmos/gui/line_graph/line_graph_popups.rb +112 -0
- data/lib/cosmos/gui/line_graph/line_graph_scaling.rb +452 -0
- data/lib/cosmos/gui/line_graph/line_graph_script.rb +81 -0
- data/lib/cosmos/gui/line_graph/lines.rb +304 -0
- data/lib/cosmos/gui/line_graph/overview_graph.rb +474 -0
- data/lib/cosmos/gui/opengl/earth_model.rb +25 -0
- data/lib/cosmos/gui/opengl/gl_bounds.rb +55 -0
- data/lib/cosmos/gui/opengl/gl_light.rb +38 -0
- data/lib/cosmos/gui/opengl/gl_material.rb +28 -0
- data/lib/cosmos/gui/opengl/gl_scene.rb +78 -0
- data/lib/cosmos/gui/opengl/gl_shape.rb +148 -0
- data/lib/cosmos/gui/opengl/gl_viewer.rb +715 -0
- data/lib/cosmos/gui/opengl/gl_viewport.rb +34 -0
- data/lib/cosmos/gui/opengl/moon_model.rb +25 -0
- data/lib/cosmos/gui/opengl/opengl.rb +14 -0
- data/lib/cosmos/gui/opengl/stl_reader.rb +210 -0
- data/lib/cosmos/gui/opengl/stl_shape.rb +127 -0
- data/lib/cosmos/gui/opengl/texture_mapped_sphere.rb +204 -0
- data/lib/cosmos/gui/qt.rb +858 -0
- data/lib/cosmos/gui/qt_tool.rb +524 -0
- data/lib/cosmos/gui/text/completion.rb +403 -0
- data/lib/cosmos/gui/text/completion_line_edit.rb +30 -0
- data/lib/cosmos/gui/text/completion_text_edit.rb +198 -0
- data/lib/cosmos/gui/text/ruby_editor.rb +505 -0
- data/lib/cosmos/gui/utilities/analyze_log.rb +153 -0
- data/lib/cosmos/gui/utilities/classification_banner.rb +60 -0
- data/lib/cosmos/gui/utilities/screenshot.rb +33 -0
- data/lib/cosmos/gui/utilities/script_module_gui.rb +390 -0
- data/lib/cosmos/gui/widgets/dart_frame.rb +142 -0
- data/lib/cosmos/gui/widgets/dart_meta_frame.rb +145 -0
- data/lib/cosmos/gui/widgets/full_text_search_line_edit.rb +171 -0
- data/lib/cosmos/gui/widgets/packet_log_frame.rb +374 -0
- data/lib/cosmos/gui/widgets/realtime_button_bar.rb +99 -0
- data/lib/cosmos/interfaces/cmd_tlm_server_interface.rb +134 -0
- data/lib/cosmos/interfaces/dart_status_interface.rb +91 -0
- data/lib/cosmos/interfaces/interface.rb +456 -0
- data/lib/cosmos/interfaces/linc_interface.rb +459 -0
- data/lib/cosmos/interfaces/protocols/burst_protocol.rb +183 -0
- data/lib/cosmos/interfaces/protocols/crc_protocol.rb +183 -0
- data/lib/cosmos/interfaces/protocols/fixed_protocol.rb +144 -0
- data/lib/cosmos/interfaces/protocols/ignore_packet_protocol.rb +46 -0
- data/lib/cosmos/interfaces/protocols/length_protocol.rb +154 -0
- data/lib/cosmos/interfaces/protocols/override_protocol.rb +52 -0
- data/lib/cosmos/interfaces/protocols/preidentified_protocol.rb +187 -0
- data/lib/cosmos/interfaces/protocols/protocol.rb +73 -0
- data/lib/cosmos/interfaces/protocols/template_protocol.rb +253 -0
- data/lib/cosmos/interfaces/protocols/terminated_protocol.rb +83 -0
- data/lib/cosmos/interfaces/serial_interface.rb +91 -0
- data/lib/cosmos/interfaces/simulated_target_interface.rb +149 -0
- data/lib/cosmos/interfaces/stream_interface.rb +65 -0
- data/lib/cosmos/interfaces/tcpip_client_interface.rb +60 -0
- data/lib/cosmos/interfaces/tcpip_server_interface.rb +624 -0
- data/lib/cosmos/interfaces/udp_interface.rb +154 -0
- data/lib/cosmos/interfaces.rb +24 -0
- data/lib/cosmos/io/buffered_file.rb +100 -0
- data/lib/cosmos/io/cosmos_snmp.rb +50 -0
- data/lib/cosmos/io/io_multiplexer.rb +75 -0
- data/lib/cosmos/io/json_drb.rb +307 -0
- data/lib/cosmos/io/json_drb_object.rb +172 -0
- data/lib/cosmos/io/json_drb_rack.rb +99 -0
- data/lib/cosmos/io/json_rpc.rb +394 -0
- data/lib/cosmos/io/posix_serial_driver.rb +187 -0
- data/lib/cosmos/io/raw_logger.rb +170 -0
- data/lib/cosmos/io/raw_logger_pair.rb +71 -0
- data/lib/cosmos/io/serial_driver.rb +101 -0
- data/lib/cosmos/io/stderr.rb +36 -0
- data/lib/cosmos/io/stdout.rb +36 -0
- data/lib/cosmos/io/udp_sockets.rb +196 -0
- data/lib/cosmos/io/win32_serial_driver.rb +187 -0
- data/lib/cosmos/packet_logs/ccsds_log_reader.rb +104 -0
- data/lib/cosmos/packet_logs/packet_log_reader.rb +504 -0
- data/lib/cosmos/packet_logs/packet_log_writer.rb +353 -0
- data/lib/cosmos/packet_logs/packet_log_writer_pair.rb +30 -0
- data/lib/cosmos/packet_logs.rb +6 -0
- data/lib/cosmos/packets/binary_accessor.rb +1201 -0
- data/lib/cosmos/packets/commands.rb +361 -0
- data/lib/cosmos/packets/limits.rb +264 -0
- data/lib/cosmos/packets/limits_response.rb +42 -0
- data/lib/cosmos/packets/packet.rb +1075 -0
- data/lib/cosmos/packets/packet_config.rb +614 -0
- data/lib/cosmos/packets/packet_item.rb +442 -0
- data/lib/cosmos/packets/packet_item_limits.rb +128 -0
- data/lib/cosmos/packets/parsers/format_string_parser.rb +58 -0
- data/lib/cosmos/packets/parsers/limits_parser.rb +147 -0
- data/lib/cosmos/packets/parsers/limits_response_parser.rb +52 -0
- data/lib/cosmos/packets/parsers/macro_parser.rb +121 -0
- data/lib/cosmos/packets/parsers/packet_item_parser.rb +252 -0
- data/lib/cosmos/packets/parsers/packet_parser.rb +124 -0
- data/lib/cosmos/packets/parsers/processor_parser.rb +63 -0
- data/lib/cosmos/packets/parsers/state_parser.rb +118 -0
- data/lib/cosmos/packets/parsers/xtce_converter.rb +428 -0
- data/lib/cosmos/packets/parsers/xtce_parser.rb +694 -0
- data/lib/cosmos/packets/structure.rb +557 -0
- data/lib/cosmos/packets/structure_item.rb +326 -0
- data/lib/cosmos/packets/telemetry.rb +470 -0
- data/lib/cosmos/processors/new_packet_log_processor.rb +39 -0
- data/lib/cosmos/processors/processor.rb +76 -0
- data/lib/cosmos/processors/statistics_processor.rb +72 -0
- data/lib/cosmos/processors/watermark_processor.rb +49 -0
- data/lib/cosmos/processors.rb +6 -0
- data/lib/cosmos/script/api_shared.rb +995 -0
- data/lib/cosmos/script/cmd_tlm_server.rb +216 -0
- data/lib/cosmos/script/commands.rb +177 -0
- data/lib/cosmos/script/extract.rb +141 -0
- data/lib/cosmos/script/limits.rb +120 -0
- data/lib/cosmos/script/replay.rb +60 -0
- data/lib/cosmos/script/script.rb +149 -0
- data/lib/cosmos/script/scripting.rb +146 -0
- data/lib/cosmos/script/telemetry.rb +218 -0
- data/lib/cosmos/script/tools.rb +121 -0
- data/lib/cosmos/script.rb +9 -0
- data/lib/cosmos/streams/serial_stream.rb +160 -0
- data/lib/cosmos/streams/stream.rb +54 -0
- data/lib/cosmos/streams/tcpip_client_stream.rb +113 -0
- data/lib/cosmos/streams/tcpip_socket_stream.rb +186 -0
- data/lib/cosmos/system/system.rb +1029 -0
- data/lib/cosmos/system/target.rb +262 -0
- data/lib/cosmos/system.rb +4 -0
- data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +470 -0
- data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +94 -0
- data/lib/cosmos/tools/cmd_sender/cmd_params.rb +382 -0
- data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +533 -0
- data/lib/cosmos/tools/cmd_sender/cmd_sender_text_edit.rb +70 -0
- data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +769 -0
- data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +221 -0
- data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +206 -0
- data/lib/cosmos/tools/cmd_tlm_server/api.rb +1694 -0
- data/lib/cosmos/tools/cmd_tlm_server/background_task.rb +54 -0
- data/lib/cosmos/tools/cmd_tlm_server/background_tasks.rb +82 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +785 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +294 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +650 -0
- data/lib/cosmos/tools/cmd_tlm_server/commanding.rb +132 -0
- data/lib/cosmos/tools/cmd_tlm_server/connections.rb +175 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +216 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +181 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +163 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/replay_tab.rb +319 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +270 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +93 -0
- data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +292 -0
- data/lib/cosmos/tools/cmd_tlm_server/interfaces.rb +153 -0
- data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +124 -0
- data/lib/cosmos/tools/cmd_tlm_server/packet_logging.rb +161 -0
- data/lib/cosmos/tools/cmd_tlm_server/replay_backend.rb +511 -0
- data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +71 -0
- data/lib/cosmos/tools/cmd_tlm_server/routers.rb +144 -0
- data/lib/cosmos/tools/config_editor/config_editor.rb +918 -0
- data/lib/cosmos/tools/config_editor/config_editor_frame.rb +686 -0
- data/lib/cosmos/tools/config_editor/system_config_dialog.rb +158 -0
- data/lib/cosmos/tools/data_viewer/data_viewer.rb +789 -0
- data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +121 -0
- data/lib/cosmos/tools/data_viewer/dump_component.rb +34 -0
- data/lib/cosmos/tools/data_viewer/text_component.rb +77 -0
- data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +182 -0
- data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +380 -0
- data/lib/cosmos/tools/launcher/launcher.rb +195 -0
- data/lib/cosmos/tools/launcher/launcher_config.rb +245 -0
- data/lib/cosmos/tools/launcher/launcher_multitool.rb +40 -0
- data/lib/cosmos/tools/launcher/launcher_tool.rb +116 -0
- data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +1029 -0
- data/lib/cosmos/tools/opengl_builder/opengl_builder.rb +416 -0
- data/lib/cosmos/tools/opengl_builder/scene_config.rb +118 -0
- data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +641 -0
- data/lib/cosmos/tools/replay/replay.rb +17 -0
- data/lib/cosmos/tools/script_runner/script_audit.rb +148 -0
- data/lib/cosmos/tools/script_runner/script_runner.rb +1066 -0
- data/lib/cosmos/tools/script_runner/script_runner_config.rb +53 -0
- data/lib/cosmos/tools/script_runner/script_runner_frame.rb +1985 -0
- data/lib/cosmos/tools/table_manager/table.rb +61 -0
- data/lib/cosmos/tools/table_manager/table_config.rb +191 -0
- data/lib/cosmos/tools/table_manager/table_item.rb +58 -0
- data/lib/cosmos/tools/table_manager/table_item_parser.rb +48 -0
- data/lib/cosmos/tools/table_manager/table_manager.rb +1152 -0
- data/lib/cosmos/tools/table_manager/table_manager_core.rb +320 -0
- data/lib/cosmos/tools/table_manager/table_parser.rb +75 -0
- data/lib/cosmos/tools/test_runner/results_writer.rb +287 -0
- data/lib/cosmos/tools/test_runner/test.rb +540 -0
- data/lib/cosmos/tools/test_runner/test_runner.rb +1302 -0
- data/lib/cosmos/tools/test_runner/test_runner_chooser.rb +353 -0
- data/lib/cosmos/tools/tlm_extractor/text_item_chooser.rb +60 -0
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +1305 -0
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +535 -0
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +131 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_adders/housekeeping_data_object_adder.rb +92 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_adders/singlexy_data_object_adder.rb +44 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_adders/xy_data_object_adder.rb +95 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/data_object_editor.rb +61 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +250 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/linegraph_data_object_editor.rb +141 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/singlexy_data_object_editor.rb +30 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/xy_data_object_editor.rb +210 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/data_object.rb +232 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +503 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/linegraph_data_object.rb +173 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/singlexy_data_object.rb +21 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/xy_data_object.rb +381 -0
- data/lib/cosmos/tools/tlm_grapher/plot_editors/linegraph_plot_editor.rb +191 -0
- data/lib/cosmos/tools/tlm_grapher/plot_editors/plot_editor.rb +28 -0
- data/lib/cosmos/tools/tlm_grapher/plot_editors/singlexy_plot_editor.rb +30 -0
- data/lib/cosmos/tools/tlm_grapher/plot_editors/xy_plot_editor.rb +59 -0
- data/lib/cosmos/tools/tlm_grapher/plot_gui_objects/linegraph_plot_gui_object.rb +173 -0
- data/lib/cosmos/tools/tlm_grapher/plot_gui_objects/singlexy_plot_gui_object.rb +27 -0
- data/lib/cosmos/tools/tlm_grapher/plot_gui_objects/xy_plot_gui_object.rb +74 -0
- data/lib/cosmos/tools/tlm_grapher/plots/linegraph_plot.rb +209 -0
- data/lib/cosmos/tools/tlm_grapher/plots/plot.rb +69 -0
- data/lib/cosmos/tools/tlm_grapher/plots/singlexy_plot.rb +20 -0
- data/lib/cosmos/tools/tlm_grapher/plots/xy_plot.rb +61 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +1291 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +447 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +164 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_data_object_editor.rb +107 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_logfile_thread.rb +114 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_plot_editor.rb +101 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_realtime_thread.rb +79 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tab.rb +57 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tool.rb +1079 -0
- data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +104 -0
- data/lib/cosmos/tools/tlm_viewer/screen.rb +590 -0
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +615 -0
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer_config.rb +314 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/aging_widget.rb +109 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/array_widget.rb +65 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/backgroundbutton_widget.rb +54 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/block_widget.rb +56 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/button_widget.rb +39 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvas_clickable.rb +47 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvas_widget.rb +84 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +78 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasellipse_widget.rb +40 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasimage_widget.rb +48 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasimagevalue_widget.rb +109 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabel_widget.rb +45 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabelvalue_widget.rb +55 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasline_widget.rb +55 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvaslinevalue_widget.rb +67 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasvalue_widget.rb +131 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/checkbutton_widget.rb +40 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/combobox_widget.rb +32 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/formatfontvalue_widget.rb +31 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/formatvalue_widget.rb +32 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/horizontal_widget.rb +27 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/horizontalbox_widget.rb +30 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/horizontalline_widget.rb +24 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/label_widget.rb +31 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelformatvalue_widget.rb +38 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelled_widget.rb +58 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelprogressbar_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labeltrendlimitsbar_widget.rb +36 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvalue_widget.rb +58 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluedesc_widget.rb +40 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluelimitsbar_widget.rb +36 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluelimitscolumn_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangebar_widget.rb +36 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangecolumn_widget.rb +38 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/layout_widget.rb +32 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/led_widget.rb +108 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limits_widget.rb +163 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limitsbar_widget.rb +130 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limitscolor_widget.rb +108 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limitscolumn_widget.rb +130 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/linegraph_widget.rb +62 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +59 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/multi_widget.rb +114 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/progressbar_widget.rb +39 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/radiobutton_widget.rb +41 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/rangebar_widget.rb +63 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/rangecolumn_widget.rb +63 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/screenshotbutton_widget.rb +35 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/scrollwindow_widget.rb +34 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/sectionheader_widget.rb +32 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/spacer_widget.rb +53 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/tabbook_widget.rb +25 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/tabitem_widget.rb +27 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/textbox_widget.rb +56 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/textfield_widget.rb +25 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/timegraph_widget.rb +86 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/title_widget.rb +21 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/trendbar_widget.rb +125 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/trendlimitsbar_widget.rb +48 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/value_widget.rb +43 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/valuelimitsbar_widget.rb +36 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/valuelimitscolumn_widget.rb +36 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/valuerangebar_widget.rb +36 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/valuerangecolumn_widget.rb +36 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/vertical_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/verticalbox_widget.rb +40 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +270 -0
- data/lib/cosmos/tools/tlm_viewer/widgets.rb +65 -0
- data/lib/cosmos/top_level.rb +825 -0
- data/lib/cosmos/utilities/crc.rb +271 -0
- data/lib/cosmos/utilities/csv.rb +190 -0
- data/lib/cosmos/utilities/logger.rb +137 -0
- data/lib/cosmos/utilities/low_fragmentation_array.rb +19 -0
- data/lib/cosmos/utilities/message_log.rb +80 -0
- data/lib/cosmos/utilities/quaternion.rb +258 -0
- data/lib/cosmos/utilities/ruby_lex_utils.rb +312 -0
- data/lib/cosmos/utilities/simulated_target.rb +100 -0
- data/lib/cosmos/utilities/sleeper.rb +44 -0
- data/lib/cosmos/utilities.rb +11 -0
- data/lib/cosmos/version.rb +12 -0
- data/lib/cosmos/win32/excel.rb +123 -0
- data/lib/cosmos/win32/win32.rb +381 -0
- data/lib/cosmos/win32/win32_main.rb +325 -0
- data/lib/cosmos.rb +63 -0
- data/make_gems.sh +10 -0
- data/roodi.yml +24 -0
- data/run_gui_tests.bat +46 -0
- data/spec/ccsds/ccsds_packet_spec.rb +67 -0
- data/spec/ccsds/ccsds_parser_spec.rb +148 -0
- data/spec/config/config_parser_spec.rb +399 -0
- data/spec/conversions/conversion_spec.rb +31 -0
- data/spec/conversions/generic_conversion_spec.rb +45 -0
- data/spec/conversions/new_packet_log_conversion_spec.rb +39 -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/conversions/polynomial_conversion_spec.rb +40 -0
- data/spec/conversions/processor_conversion_spec.rb +45 -0
- data/spec/conversions/received_count_conversion_spec.rb +43 -0
- data/spec/conversions/received_time_formatted_conversion_spec.rb +49 -0
- data/spec/conversions/received_time_seconds_conversion_spec.rb +50 -0
- data/spec/conversions/segmented_polynomial_conversion_spec.rb +51 -0
- data/spec/conversions/unix_time_formatted_conversion_spec.rb +74 -0
- data/spec/conversions/unix_time_seconds_conversion_spec.rb +76 -0
- data/spec/core_ext/array_spec.rb +247 -0
- data/spec/core_ext/class_spec.rb +90 -0
- data/spec/core_ext/cosmos_io_spec.rb +77 -0
- data/spec/core_ext/exception_spec.rb +91 -0
- data/spec/core_ext/file_spec.rb +72 -0
- data/spec/core_ext/hash_spec.rb +24 -0
- data/spec/core_ext/io_spec.rb +46 -0
- data/spec/core_ext/kernel_spec.rb +54 -0
- data/spec/core_ext/math_spec.rb +116 -0
- data/spec/core_ext/matrix_spec.rb +127 -0
- data/spec/core_ext/objectspace_spec.rb +32 -0
- data/spec/core_ext/range_spec.rb +21 -0
- data/spec/core_ext/socket_spec.rb +34 -0
- data/spec/core_ext/string_spec.rb +239 -0
- data/spec/core_ext/stringio_spec.rb +21 -0
- data/spec/core_ext/time_spec.rb +222 -0
- data/spec/gui/line_graph/line_clip_spec.rb +324 -0
- data/spec/gui/qt_spec.rb +104 -0
- data/spec/gui/utilities/script_module_gui_spec.rb +83 -0
- data/spec/install/config/data/data.txt +1 -0
- data/spec/install/config/system/system.txt +27 -0
- data/spec/install/config/targets/INST/cmd_tlm/inst_cmd_linc.txt +30 -0
- data/spec/install/config/targets/INST/cmd_tlm/inst_cmds.txt +113 -0
- data/spec/install/config/targets/INST/cmd_tlm/inst_tlm.txt +236 -0
- data/spec/install/config/targets/INST/cmd_tlm/inst_tlm_linc.txt +25 -0
- data/spec/install/config/targets/INST/cmd_tlm_server.txt +5 -0
- data/spec/install/config/targets/INST/lib/sim_inst.rb +305 -0
- data/spec/install/config/targets/INST/screens/hs.txt +42 -0
- data/spec/install/config/targets/INST/target.txt +12 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +7 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm/meta_tlm.txt +10 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm/system_cmds.txt +41 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm_server.txt +6 -0
- data/spec/install/config/targets/SYSTEM/screens/status.txt +12 -0
- data/spec/install/config/targets/SYSTEM/target.txt +12 -0
- data/spec/install/config/tools/cmd_tlm_server/cmd_tlm_server.txt +4 -0
- data/spec/install/lib/README.txt +1 -0
- data/spec/install/yaml_docs_spec.rb +132 -0
- data/spec/interfaces/cmd_tlm_server_interface_spec.rb +149 -0
- data/spec/interfaces/interface_spec.rb +513 -0
- data/spec/interfaces/linc_interface_spec.rb +243 -0
- data/spec/interfaces/protocols/burst_protocol_spec.rb +318 -0
- data/spec/interfaces/protocols/crc_protocol_spec.rb +825 -0
- data/spec/interfaces/protocols/fixed_protocol_spec.rb +154 -0
- data/spec/interfaces/protocols/ignore_packet_protocol_spec.rb +243 -0
- data/spec/interfaces/protocols/length_protocol_spec.rb +587 -0
- data/spec/interfaces/protocols/override_protocol_spec.rb +162 -0
- data/spec/interfaces/protocols/preidentified_protocol_spec.rb +368 -0
- data/spec/interfaces/protocols/template_protocol_spec.rb +444 -0
- data/spec/interfaces/protocols/terminated_protocol_spec.rb +174 -0
- data/spec/interfaces/serial_interface_spec.rb +66 -0
- data/spec/interfaces/simulated_target_interface_spec.rb +128 -0
- data/spec/interfaces/tcpip_client_interface_spec.rb +60 -0
- data/spec/interfaces/tcpip_server_interface_spec.rb +157 -0
- data/spec/interfaces/udp_interface_spec.rb +249 -0
- data/spec/io/buffered_file_spec.rb +146 -0
- data/spec/io/io_multiplexer_spec.rb +102 -0
- data/spec/io/json_drb_object_spec.rb +106 -0
- data/spec/io/json_drb_rack_spec.rb +166 -0
- data/spec/io/json_drb_spec.rb +251 -0
- data/spec/io/json_rpc_spec.rb +270 -0
- data/spec/io/posix_serial_driver_spec.rb +87 -0
- data/spec/io/raw_logger_pair_spec.rb +76 -0
- data/spec/io/raw_logger_spec.rb +138 -0
- data/spec/io/serial_driver_spec.rb +64 -0
- data/spec/io/stderr_spec.rb +32 -0
- data/spec/io/stdout_spec.rb +32 -0
- data/spec/io/udp_sockets_spec.rb +139 -0
- data/spec/io/win32_serial_driver_spec.rb +129 -0
- data/spec/packet_logs/packet_log_reader_spec.rb +607 -0
- data/spec/packet_logs/packet_log_writer_pair_spec.rb +30 -0
- data/spec/packet_logs/packet_log_writer_spec.rb +227 -0
- data/spec/packets/binary_accessor_spec.rb +2323 -0
- data/spec/packets/commands_spec.rb +401 -0
- data/spec/packets/limits_response_spec.rb +25 -0
- data/spec/packets/limits_spec.rb +344 -0
- data/spec/packets/packet_config_spec.rb +862 -0
- data/spec/packets/packet_item_limits_spec.rb +161 -0
- data/spec/packets/packet_item_spec.rb +450 -0
- data/spec/packets/packet_spec.rb +1499 -0
- data/spec/packets/parsers/format_string_parser_spec.rb +122 -0
- data/spec/packets/parsers/limits_parser_spec.rb +293 -0
- data/spec/packets/parsers/limits_response_parser_spec.rb +149 -0
- data/spec/packets/parsers/macro_parser_spec.rb +220 -0
- data/spec/packets/parsers/packet_item_parser_spec.rb +405 -0
- data/spec/packets/parsers/packet_parser_spec.rb +99 -0
- data/spec/packets/parsers/processor_parser_spec.rb +114 -0
- data/spec/packets/parsers/state_parser_spec.rb +247 -0
- data/spec/packets/parsers/xtce_parser_spec.rb +395 -0
- data/spec/packets/structure_item_spec.rb +200 -0
- data/spec/packets/structure_spec.rb +657 -0
- data/spec/packets/telemetry_spec.rb +629 -0
- data/spec/processors/new_packet_log_processor_spec.rb +39 -0
- data/spec/processors/processor_spec.rb +55 -0
- data/spec/processors/statistics_processor_spec.rb +95 -0
- data/spec/processors/watermark_processor_spec.rb +51 -0
- data/spec/script/cmd_tlm_server_spec.rb +194 -0
- data/spec/script/commands_disconnect_spec.rb +258 -0
- data/spec/script/commands_spec.rb +283 -0
- data/spec/script/extract_spec.rb +166 -0
- data/spec/script/limits_spec.rb +133 -0
- data/spec/script/script_spec.rb +80 -0
- data/spec/script/scripting_spec.rb +742 -0
- data/spec/script/telemetry_spec.rb +186 -0
- data/spec/script/tools_spec.rb +111 -0
- data/spec/spec_helper.rb +248 -0
- data/spec/streams/serial_stream_spec.rb +122 -0
- data/spec/streams/stream_spec.rb +30 -0
- data/spec/streams/tcpip_client_stream_spec.rb +65 -0
- data/spec/streams/tcpip_socket_stream_spec.rb +231 -0
- data/spec/system/system_spec.rb +1081 -0
- data/spec/system/target_spec.rb +368 -0
- data/spec/tools/cmd_tlm_server/api_spec.rb +1656 -0
- data/spec/tools/cmd_tlm_server/background_task_spec.rb +44 -0
- data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +190 -0
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +785 -0
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +496 -0
- data/spec/tools/cmd_tlm_server/commanding_spec.rb +171 -0
- data/spec/tools/cmd_tlm_server/connections_spec.rb +231 -0
- data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +319 -0
- data/spec/tools/cmd_tlm_server/interfaces_spec.rb +248 -0
- data/spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb +153 -0
- data/spec/tools/cmd_tlm_server/packet_logging_spec.rb +139 -0
- data/spec/tools/cmd_tlm_server/router_thread_spec.rb +150 -0
- data/spec/tools/cmd_tlm_server/routers_spec.rb +219 -0
- data/spec/tools/launcher/launcher_config_spec.rb +474 -0
- data/spec/tools/table_manager/table_config_spec.rb +225 -0
- data/spec/tools/table_manager/table_item_parser_spec.rb +61 -0
- data/spec/tools/table_manager/table_item_spec.rb +57 -0
- data/spec/tools/table_manager/table_parser_spec.rb +96 -0
- data/spec/tools/table_manager/table_spec.rb +90 -0
- data/spec/tools/table_manager/tablemanager_core_spec.rb +556 -0
- data/spec/tools/tlm_viewer/tlm_viewer_config_spec.rb +403 -0
- data/spec/top_level/top_level_spec.rb +545 -0
- data/spec/utilities/crc_spec.rb +45 -0
- data/spec/utilities/csv_spec.rb +148 -0
- data/spec/utilities/logger_spec.rb +102 -0
- data/spec/utilities/message_log_spec.rb +84 -0
- data/spec/utilities/quaternion_spec.rb +107 -0
- data/spec/utilities/ruby_lex_utils_spec.rb +86 -0
- data/tasks/gemfile_stats.rake +103 -0
- data/tasks/manifest.rake +22 -0
- data/tasks/spec.rake +23 -0
- data/test/benchmarks/binary_accessor_benchmark.rb +14 -0
- data/test/benchmarks/gsub_benchmark.rb +152 -0
- data/test/benchmarks/is_a_benchmark.rb +34 -0
- data/test/performance/PACKETS.bat +1 -0
- data/test/performance/Rakefile +77 -0
- data/test/performance/THREADS.bat +1 -0
- data/test/performance/config/data/attitude.bin +0 -0
- data/test/performance/config/data/crc.txt +215 -0
- data/test/performance/config/data/diamond.STL +58 -0
- data/test/performance/config/data/groundoff.gif +0 -0
- data/test/performance/config/data/groundon.gif +0 -0
- data/test/performance/config/data/hselectoff.gif +0 -0
- data/test/performance/config/data/hselecton.gif +0 -0
- data/test/performance/config/data/hswitchoff.gif +0 -0
- data/test/performance/config/data/hswitchon.gif +0 -0
- data/test/performance/config/data/meta_init.txt +4 -0
- data/test/performance/config/data/position.bin +0 -0
- data/test/performance/config/data/poweroff.gif +0 -0
- data/test/performance/config/data/poweron.gif +0 -0
- data/test/performance/config/data/satellite.gif +0 -0
- data/test/performance/config/data/tada.wav +0 -0
- data/test/performance/config/data/vswitchoff.gif +0 -0
- data/test/performance/config/data/vswitchon.gif +0 -0
- data/test/performance/config/system/system.txt +0 -0
- data/test/performance/config/system/system_packets.txt +38 -0
- data/test/performance/config/system/system_threads.txt +58 -0
- data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +46 -0
- data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +15 -0
- data/test/performance/config/targets/COSMOS/cmd_tlm_server.txt +6 -0
- data/test/performance/config/targets/COSMOS/screens/limits_change.txt +20 -0
- data/test/performance/config/targets/COSMOS/screens/version.txt +19 -0
- data/test/performance/config/targets/COSMOS/target.txt +11 -0
- data/test/performance/config/targets/PACKET/cmd_tlm/packet_cmds.txt +20 -0
- data/test/performance/config/targets/PACKET/cmd_tlm/packet_tlm.txt +98 -0
- data/test/performance/config/targets/PACKET/cmd_tlm_server.txt +6 -0
- data/test/performance/config/targets/PACKET/lib/packet_interface.rb +22 -0
- data/test/performance/config/targets/PACKET/lib/packet_limits_response.rb +24 -0
- data/test/performance/config/targets/PACKET/screens/status.txt +25 -0
- data/test/performance/config/targets/PACKET/target.txt +28 -0
- data/test/performance/config/targets/SYSTEM/screens/status.txt +12 -0
- data/test/performance/config/targets/THREAD/cmd_tlm/thread_cmds.txt +17 -0
- data/test/performance/config/targets/THREAD/cmd_tlm/thread_tlm.txt +18 -0
- data/test/performance/config/targets/THREAD/cmd_tlm_server.txt +6 -0
- data/test/performance/config/targets/THREAD/lib/thread_interface.rb +22 -0
- data/test/performance/config/targets/THREAD/screens/status.txt +25 -0
- data/test/performance/config/targets/THREAD/target.txt +7 -0
- data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_packets.txt +28 -0
- data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_threads.txt +68 -0
- data/test/performance/config/tools/data_viewer/data_viewer.txt +11 -0
- 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/handbook_creator/default_toc.xsl +59 -0
- data/test/performance/config/tools/handbook_creator/handbook_creator.txt +66 -0
- data/test/performance/config/tools/handbook_creator/templates/command_packets.html.erb +86 -0
- data/test/performance/config/tools/handbook_creator/templates/command_toc.html.erb +38 -0
- data/test/performance/config/tools/handbook_creator/templates/footer.html.erb +9 -0
- data/test/performance/config/tools/handbook_creator/templates/header.html.erb +25 -0
- data/test/performance/config/tools/handbook_creator/templates/limits_groups.html.erb +13 -0
- data/test/performance/config/tools/handbook_creator/templates/nav.html.erb +27 -0
- data/test/performance/config/tools/handbook_creator/templates/overview.html.erb +1 -0
- data/test/performance/config/tools/handbook_creator/templates/pdf_cover.html.erb +23 -0
- data/test/performance/config/tools/handbook_creator/templates/pdf_footer.html.erb +33 -0
- data/test/performance/config/tools/handbook_creator/templates/pdf_header.html.erb +41 -0
- data/test/performance/config/tools/handbook_creator/templates/telemetry_packets.html.erb +80 -0
- data/test/performance/config/tools/handbook_creator/templates/telemetry_toc.html.erb +38 -0
- data/test/performance/config/tools/handbook_creator/templates/title.html.erb +1 -0
- data/test/performance/config/tools/launcher/launcher_packets.txt +34 -0
- data/test/performance/config/tools/launcher/launcher_threads.txt +83 -0
- data/test/performance/config/tools/limits_monitor/README.txt +1 -0
- data/test/performance/config/tools/opengl_builder/README.txt +1 -0
- data/test/performance/config/tools/script_runner/script_runner.txt +3 -0
- data/test/performance/config/tools/table_manager/ConfigTables_def.txt +8 -0
- data/test/performance/config/tools/table_manager/ExampleTableDefinition.txt +24 -0
- data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +25 -0
- data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +25 -0
- data/test/performance/config/tools/table_manager/PPSSelectionTable_def.txt +8 -0
- data/test/performance/config/tools/table_manager/TLMMonitoringTable_def.txt +248 -0
- data/test/performance/config/tools/test_runner/test_runner.txt +17 -0
- data/test/performance/config/tools/tlm_extractor/tlm_extractor.txt +13 -0
- data/test/performance/config/tools/tlm_extractor/tlm_extractor2.txt +2 -0
- data/test/performance/config/tools/tlm_extractor/tlm_extractor3.txt +2 -0
- data/test/performance/config/tools/tlm_extractor/tlm_extractor4.txt +2 -0
- data/test/performance/config/tools/tlm_grapher/README.txt +1 -0
- data/test/performance/config/tools/tlm_grapher/tlm_grapher.txt +204 -0
- data/test/performance/config/tools/tlm_viewer/tlm_viewer.txt +13 -0
- data/test/performance/lib/packet_target.rb +126 -0
- data/test/performance/lib/thread_target.rb +120 -0
- data/test/performance/lib/user_version.rb +3 -0
- data/test/performance/outputs/handbooks/README.txt +1 -0
- data/test/performance/outputs/logs/README.txt +1 -0
- data/test/performance/outputs/saved_config/README.txt +1 -0
- data/test/performance/outputs/tables/README.txt +1 -0
- data/test/performance/outputs/tmp/README.txt +1 -0
- data/test/performance/procedures/checks.rb +11 -0
- data/test/performance/procedures/clear_util.rb +7 -0
- data/test/performance/procedures/collect.rb +18 -0
- data/test/performance/procedures/collect_util.rb +14 -0
- data/test/performance/procedures/cosmos_api_test.rb +293 -0
- data/test/performance/procedures/disconnect.rb +29 -0
- data/test/performance/procedures/example_test.rb +182 -0
- data/test/performance/procedures/plot_test.rb +8 -0
- data/test/performance/procedures/procedure.rb +3 -0
- data/test/performance/procedures/run_example_test.rb +3 -0
- data/test/performance/procedures/test.rb +51 -0
- data/test/performance/tools/CmdExtractor +14 -0
- data/test/performance/tools/CmdExtractor.bat +59 -0
- data/test/performance/tools/CmdSender +14 -0
- data/test/performance/tools/CmdSender.bat +59 -0
- data/test/performance/tools/CmdTlmServer +16 -0
- data/test/performance/tools/CmdTlmServer.bat +59 -0
- data/test/performance/tools/CmdTlmServerMemProf +20 -0
- data/test/performance/tools/CmdTlmServerMemProf.bat +59 -0
- data/test/performance/tools/DataViewer +14 -0
- data/test/performance/tools/DataViewer.bat +59 -0
- data/test/performance/tools/HandbookCreator +14 -0
- data/test/performance/tools/HandbookCreator.bat +61 -0
- data/test/performance/tools/Launcher +14 -0
- data/test/performance/tools/Launcher.bat +59 -0
- data/test/performance/tools/LimitsMonitor +14 -0
- data/test/performance/tools/LimitsMonitor.bat +59 -0
- data/test/performance/tools/OpenGLBuilder +14 -0
- data/test/performance/tools/OpenGLBuilder.bat +59 -0
- data/test/performance/tools/PacketTarget +14 -0
- data/test/performance/tools/PacketTarget.bat +59 -0
- data/test/performance/tools/PacketViewer +14 -0
- data/test/performance/tools/PacketViewer.bat +59 -0
- data/test/performance/tools/Replay +14 -0
- data/test/performance/tools/Replay.bat +59 -0
- data/test/performance/tools/ScpiTarget +14 -0
- data/test/performance/tools/ScpiTarget.bat +59 -0
- data/test/performance/tools/ScriptRunner +14 -0
- data/test/performance/tools/ScriptRunner.bat +59 -0
- data/test/performance/tools/TableManager +14 -0
- data/test/performance/tools/TableManager.bat +59 -0
- data/test/performance/tools/TestRunner +14 -0
- data/test/performance/tools/TestRunner.bat +59 -0
- data/test/performance/tools/ThreadTarget +14 -0
- data/test/performance/tools/ThreadTarget.bat +59 -0
- data/test/performance/tools/TlmExtractor +14 -0
- data/test/performance/tools/TlmExtractor.bat +59 -0
- data/test/performance/tools/TlmGrapher +14 -0
- data/test/performance/tools/TlmGrapher.bat +59 -0
- data/test/performance/tools/TlmGrapherMemProf +19 -0
- data/test/performance/tools/TlmGrapherMemProf.bat +59 -0
- data/test/performance/tools/TlmViewer +14 -0
- data/test/performance/tools/TlmViewer.bat +59 -0
- data/test/performance/tools/TlmViewerMemProf +19 -0
- data/test/performance/tools/TlmViewerMemProf.bat +59 -0
- data/test/performance/tools/identify_performance.rb +82 -0
- data/test/performance/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +15 -0
- data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/CmdSender.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +15 -0
- data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/CmdTlmServer.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +15 -0
- data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/DataViewer.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +15 -0
- data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/HandbookCreator.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +15 -0
- data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/Launcher.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +15 -0
- data/test/performance/tools/mac/Launcher.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/LimitsMonitor.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +15 -0
- data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +15 -0
- data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/PacketViewer.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +15 -0
- data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/Replay.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/Replay.app/Contents/MacOS/Replay.rb +15 -0
- data/test/performance/tools/mac/Replay.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/ScriptRunner.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +15 -0
- data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TableManager.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +15 -0
- data/test/performance/tools/mac/TableManager.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TestRunner.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +15 -0
- data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TlmExtractor.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +15 -0
- data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TlmGrapher.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +15 -0
- data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TlmViewer.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +15 -0
- data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
- metadata +2286 -0
@@ -0,0 +1,1694 @@
|
|
1
|
+
# encoding: ascii-8bit
|
2
|
+
|
3
|
+
# Copyright 2014 Ball Aerospace & Technologies Corp.
|
4
|
+
# All Rights Reserved.
|
5
|
+
#
|
6
|
+
# This program is free software; you can modify and/or redistribute it
|
7
|
+
# under the terms of the GNU General Public License
|
8
|
+
# as published by the Free Software Foundation; version 3 with
|
9
|
+
# attribution addendums as found in the LICENSE.txt
|
10
|
+
|
11
|
+
require 'cosmos/script/extract'
|
12
|
+
require 'cosmos/script/api_shared'
|
13
|
+
require 'cosmos/tools/tlm_viewer/tlm_viewer_config'
|
14
|
+
|
15
|
+
module Cosmos
|
16
|
+
|
17
|
+
module Api
|
18
|
+
include Extract
|
19
|
+
include ApiShared
|
20
|
+
|
21
|
+
# Sets api_requests to 0 and initializes the whitelist of allowable API
|
22
|
+
# method calls
|
23
|
+
def initialize
|
24
|
+
@api_whitelist = [
|
25
|
+
'cmd',
|
26
|
+
'cmd_no_range_check',
|
27
|
+
'cmd_no_hazardous_check',
|
28
|
+
'cmd_no_checks',
|
29
|
+
'cmd_raw',
|
30
|
+
'cmd_raw_no_range_check',
|
31
|
+
'cmd_raw_no_hazardous_check',
|
32
|
+
'cmd_raw_no_checks',
|
33
|
+
'send_raw',
|
34
|
+
'get_cmd_buffer',
|
35
|
+
'get_cmd_list',
|
36
|
+
'get_cmd_param_list',
|
37
|
+
'get_cmd_hazardous',
|
38
|
+
'get_cmd_value',
|
39
|
+
'get_cmd_time',
|
40
|
+
'tlm',
|
41
|
+
'tlm_raw',
|
42
|
+
'tlm_formatted',
|
43
|
+
'tlm_with_units',
|
44
|
+
'tlm_variable',
|
45
|
+
'set_tlm',
|
46
|
+
'set_tlm_raw',
|
47
|
+
'inject_tlm',
|
48
|
+
'override_tlm',
|
49
|
+
'override_tlm_raw',
|
50
|
+
'normalize_tlm',
|
51
|
+
'get_tlm_buffer',
|
52
|
+
'get_tlm_packet',
|
53
|
+
'get_tlm_values',
|
54
|
+
'get_tlm_list',
|
55
|
+
'get_tlm_item_list',
|
56
|
+
'get_tlm_details',
|
57
|
+
'get_out_of_limits',
|
58
|
+
'get_overall_limits_state',
|
59
|
+
'limits_enabled?',
|
60
|
+
'enable_limits',
|
61
|
+
'disable_limits',
|
62
|
+
'get_stale',
|
63
|
+
'get_limits',
|
64
|
+
'set_limits',
|
65
|
+
'get_limits_groups',
|
66
|
+
'enable_limits_group',
|
67
|
+
'disable_limits_group',
|
68
|
+
'get_limits_sets',
|
69
|
+
'set_limits_set',
|
70
|
+
'get_limits_set',
|
71
|
+
'get_target_list',
|
72
|
+
'subscribe_limits_events',
|
73
|
+
'unsubscribe_limits_events',
|
74
|
+
'get_limits_event',
|
75
|
+
'subscribe_packet_data',
|
76
|
+
'unsubscribe_packet_data',
|
77
|
+
'get_packet_data',
|
78
|
+
'subscribe_server_messages',
|
79
|
+
'unsubscribe_server_messages',
|
80
|
+
'get_server_message',
|
81
|
+
'get_interface_targets',
|
82
|
+
'get_interface_names',
|
83
|
+
'connect_interface',
|
84
|
+
'disconnect_interface',
|
85
|
+
'interface_state',
|
86
|
+
'map_target_to_interface',
|
87
|
+
'get_router_names',
|
88
|
+
'connect_router',
|
89
|
+
'disconnect_router',
|
90
|
+
'router_state',
|
91
|
+
'get_all_target_info',
|
92
|
+
'get_target_info',
|
93
|
+
'get_target_ignored_parameters',
|
94
|
+
'get_target_ignored_items',
|
95
|
+
'get_interface_info',
|
96
|
+
'get_all_interface_info',
|
97
|
+
'get_router_info',
|
98
|
+
'get_all_router_info',
|
99
|
+
'get_all_cmd_info',
|
100
|
+
'get_all_tlm_info',
|
101
|
+
'get_cmd_cnt',
|
102
|
+
'get_tlm_cnt',
|
103
|
+
'get_packet_loggers',
|
104
|
+
'get_packet_logger_info',
|
105
|
+
'get_all_packet_logger_info',
|
106
|
+
'get_background_tasks',
|
107
|
+
'start_background_task',
|
108
|
+
'stop_background_task',
|
109
|
+
'get_server_status',
|
110
|
+
'get_cmd_log_filename',
|
111
|
+
'get_tlm_log_filename',
|
112
|
+
'start_logging',
|
113
|
+
'stop_logging',
|
114
|
+
'start_cmd_log',
|
115
|
+
'start_tlm_log',
|
116
|
+
'stop_cmd_log',
|
117
|
+
'stop_tlm_log',
|
118
|
+
'start_raw_logging_interface',
|
119
|
+
'stop_raw_logging_interface',
|
120
|
+
'start_raw_logging_router',
|
121
|
+
'stop_raw_logging_router',
|
122
|
+
'get_server_message_log_filename',
|
123
|
+
'start_new_server_message_log',
|
124
|
+
'cmd_tlm_reload',
|
125
|
+
'cmd_tlm_clear_counters',
|
126
|
+
'get_output_logs_filenames',
|
127
|
+
'replay_select_file',
|
128
|
+
'replay_status',
|
129
|
+
'replay_set_playback_delay',
|
130
|
+
'replay_play',
|
131
|
+
'replay_reverse_play',
|
132
|
+
'replay_stop',
|
133
|
+
'replay_step_forward',
|
134
|
+
'replay_step_back',
|
135
|
+
'replay_move_start',
|
136
|
+
'replay_move_end',
|
137
|
+
'replay_move_index',
|
138
|
+
'get_screen_list',
|
139
|
+
'get_screen_definition',
|
140
|
+
'get_saved_config',
|
141
|
+
]
|
142
|
+
@tlm_viewer_config_filename = nil
|
143
|
+
@tlm_viewer_config = nil
|
144
|
+
end
|
145
|
+
|
146
|
+
############################################################################
|
147
|
+
# Methods Used by cosmos/script
|
148
|
+
############################################################################
|
149
|
+
|
150
|
+
# Send a command packet to a target.
|
151
|
+
#
|
152
|
+
# Accepts two different calling styles:
|
153
|
+
# cmd("TGT CMD with PARAM1 val, PARAM2 val")
|
154
|
+
# cmd('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
155
|
+
#
|
156
|
+
# Favor the first syntax where possible as it is more succinct.
|
157
|
+
#
|
158
|
+
# @param args [String|Array<String>] See the description for calling style
|
159
|
+
# @return [Array<String, String, Hash>] target_name, command_name, parameters
|
160
|
+
def cmd(*args)
|
161
|
+
cmd_implementation(true, true, false, 'cmd', *args)
|
162
|
+
end
|
163
|
+
|
164
|
+
# Send a command packet to a target without performing any value range
|
165
|
+
# checks on the parameters. Useful for testing to allow sending command
|
166
|
+
# parameters outside the allowable range as defined in the configuration.
|
167
|
+
#
|
168
|
+
# Accepts two different calling styles:
|
169
|
+
# cmd_no_range_check("TGT CMD with PARAM1 val, PARAM2 val")
|
170
|
+
# cmd_no_range_check('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
171
|
+
#
|
172
|
+
# Favor the first syntax where possible as it is more succinct.
|
173
|
+
#
|
174
|
+
# @param (see #cmd)
|
175
|
+
# @return (see #cmd)
|
176
|
+
def cmd_no_range_check(*args)
|
177
|
+
cmd_implementation(false, true, false, 'cmd_no_range_check', *args)
|
178
|
+
end
|
179
|
+
|
180
|
+
# Send a command packet to a target without performing any hazardous checks
|
181
|
+
# both on the command itself and its parameters. Useful in scripts to
|
182
|
+
# prevent popping up warnings to the user.
|
183
|
+
#
|
184
|
+
# Accepts two different calling styles:
|
185
|
+
# cmd_no_hazardous_check("TGT CMD with PARAM1 val, PARAM2 val")
|
186
|
+
# cmd_no_hazardous_check('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
187
|
+
#
|
188
|
+
# Favor the first syntax where possible as it is more succinct.
|
189
|
+
#
|
190
|
+
# @param (see #cmd)
|
191
|
+
# @return (see #cmd)
|
192
|
+
def cmd_no_hazardous_check(*args)
|
193
|
+
cmd_implementation(true, false, false, 'cmd_no_hazardous_check', *args)
|
194
|
+
end
|
195
|
+
|
196
|
+
# Send a command packet to a target without performing any value range
|
197
|
+
# checks or hazardous checks both on the command itself and its parameters.
|
198
|
+
#
|
199
|
+
# Accepts two different calling styles:
|
200
|
+
# cmd_no_checks("TGT CMD with PARAM1 val, PARAM2 val")
|
201
|
+
# cmd_no_checks('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
202
|
+
#
|
203
|
+
# Favor the first syntax where possible as it is more succinct.
|
204
|
+
#
|
205
|
+
# @param (see #cmd)
|
206
|
+
# @return (see #cmd)
|
207
|
+
def cmd_no_checks(*args)
|
208
|
+
cmd_implementation(false, false, false, 'cmd_no_checks', *args)
|
209
|
+
end
|
210
|
+
|
211
|
+
# Send a command packet to a target without running conversions.
|
212
|
+
#
|
213
|
+
# Accepts two different calling styles:
|
214
|
+
# cmd_raw("TGT CMD with PARAM1 val, PARAM2 val")
|
215
|
+
# cmd_raw('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
216
|
+
#
|
217
|
+
# Favor the first syntax where possible as it is more succinct.
|
218
|
+
#
|
219
|
+
# @param args [String|Array<String>] See the description for calling style
|
220
|
+
# @return [Array<String, String, Hash>] target_name, command_name, parameters
|
221
|
+
def cmd_raw(*args)
|
222
|
+
cmd_implementation(true, true, true, 'cmd_raw', *args)
|
223
|
+
end
|
224
|
+
|
225
|
+
# Send a command packet to a target without performing any value range
|
226
|
+
# checks on the parameters or running conversions. Useful for testing to allow sending command
|
227
|
+
# parameters outside the allowable range as defined in the configuration.
|
228
|
+
#
|
229
|
+
# Accepts two different calling styles:
|
230
|
+
# cmd_raw_no_range_check("TGT CMD with PARAM1 val, PARAM2 val")
|
231
|
+
# cmd_raw_no_range_check('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
232
|
+
#
|
233
|
+
# Favor the first syntax where possible as it is more succinct.
|
234
|
+
#
|
235
|
+
# @param (see #cmd)
|
236
|
+
# @return (see #cmd)
|
237
|
+
def cmd_raw_no_range_check(*args)
|
238
|
+
cmd_implementation(false, true, true, 'cmd_raw_no_range_check', *args)
|
239
|
+
end
|
240
|
+
|
241
|
+
# Send a command packet to a target without running conversions or performing any hazardous checks
|
242
|
+
# both on the command itself and its parameters. Useful in scripts to
|
243
|
+
# prevent popping up warnings to the user.
|
244
|
+
#
|
245
|
+
# Accepts two different calling styles:
|
246
|
+
# cmd_raw_no_hazardous_check("TGT CMD with PARAM1 val, PARAM2 val")
|
247
|
+
# cmd_raw_no_hazardous_check('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
248
|
+
#
|
249
|
+
# Favor the first syntax where possible as it is more succinct.
|
250
|
+
#
|
251
|
+
# @param (see #cmd)
|
252
|
+
# @return (see #cmd)
|
253
|
+
def cmd_raw_no_hazardous_check(*args)
|
254
|
+
cmd_implementation(true, false, true, 'cmd_raw_no_hazardous_check', *args)
|
255
|
+
end
|
256
|
+
|
257
|
+
# Send a command packet to a target without running conversions or performing any value range
|
258
|
+
# checks or hazardous checks both on the command itself and its parameters.
|
259
|
+
#
|
260
|
+
# Accepts two different calling styles:
|
261
|
+
# cmd_raw_no_checks("TGT CMD with PARAM1 val, PARAM2 val")
|
262
|
+
# cmd_raw_no_checks('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
263
|
+
#
|
264
|
+
# Favor the first syntax where possible as it is more succinct.
|
265
|
+
#
|
266
|
+
# @param (see #cmd)
|
267
|
+
# @return (see #cmd)
|
268
|
+
def cmd_raw_no_checks(*args)
|
269
|
+
cmd_implementation(false, false, true, 'cmd_raw_no_checks', *args)
|
270
|
+
end
|
271
|
+
|
272
|
+
# Send a raw binary string to the specified interface.
|
273
|
+
#
|
274
|
+
# @param interface_name [String] The interface to send the raw binary
|
275
|
+
# @param data [String] The raw binary data
|
276
|
+
def send_raw(interface_name, data)
|
277
|
+
CmdTlmServer.commanding.send_raw(interface_name, data)
|
278
|
+
nil
|
279
|
+
end
|
280
|
+
|
281
|
+
# Returns the raw buffer from the most recent specified command packet.
|
282
|
+
#
|
283
|
+
# @param target_name [String] Target name of the command
|
284
|
+
# @param command_name [String] Packet name of the command
|
285
|
+
# @return [String] last command buffer packet
|
286
|
+
def get_cmd_buffer(target_name, command_name)
|
287
|
+
packet = System.commands.packet(target_name, command_name)
|
288
|
+
return packet.buffer
|
289
|
+
end
|
290
|
+
|
291
|
+
# Returns the list of all the command names and their descriptions from the
|
292
|
+
# given target.
|
293
|
+
#
|
294
|
+
# @param target_name [String] Name of the target
|
295
|
+
# @return [Array<Array<String, String>>] Array containing \[command name,
|
296
|
+
# command description] for all commands in the target
|
297
|
+
def get_cmd_list(target_name)
|
298
|
+
list = []
|
299
|
+
System.commands.packets(target_name).each do |name, command|
|
300
|
+
list << [name, command.description]
|
301
|
+
end
|
302
|
+
return list.sort
|
303
|
+
end
|
304
|
+
|
305
|
+
# Returns the list of all the parameters for the given command.
|
306
|
+
#
|
307
|
+
# @param target_name (see #get_cmd_list)
|
308
|
+
# @param command_name [String] Name of the command
|
309
|
+
# @return [Array<Array<String, Object, nil|Array, nil|String, nil|String,
|
310
|
+
# nil|String, Boolean>] Array containing \[name, default, states,
|
311
|
+
# description, units_full, units, required] for all parameters in the
|
312
|
+
# command
|
313
|
+
def get_cmd_param_list(target_name, command_name)
|
314
|
+
list = []
|
315
|
+
System.commands.params(target_name, command_name).each do |parameter|
|
316
|
+
if parameter.format_string
|
317
|
+
unless parameter.default.kind_of?(Array)
|
318
|
+
list << [parameter.name, sprintf(parameter.format_string, parameter.default), parameter.states, parameter.description, parameter.units_full, parameter.units, parameter.required, parameter.data_type.to_s]
|
319
|
+
else
|
320
|
+
list << [parameter.name, "[]", parameter.states, parameter.description, parameter.units_full, parameter.units, parameter.required, parameter.data_type.to_s]
|
321
|
+
end
|
322
|
+
else
|
323
|
+
list << [parameter.name, parameter.default, parameter.states, parameter.description, parameter.units_full, parameter.units, parameter.required, parameter.data_type.to_s]
|
324
|
+
end
|
325
|
+
end
|
326
|
+
return list
|
327
|
+
end
|
328
|
+
|
329
|
+
# Returns whether the specified command is hazardous
|
330
|
+
#
|
331
|
+
# @param target_name (see #get_cmd_param_list)
|
332
|
+
# @param command_name (see #get_cmd_param_list)
|
333
|
+
# @param params [Hash] Command parameter hash to test whether a particular
|
334
|
+
# parameter setting makes the command hazardous
|
335
|
+
# @return [Boolean] Whether the command is hazardous
|
336
|
+
def get_cmd_hazardous(target_name, command_name, params = {})
|
337
|
+
hazardous, _ = System.commands.cmd_hazardous?(target_name, command_name, params)
|
338
|
+
return hazardous
|
339
|
+
end
|
340
|
+
|
341
|
+
# Returns a value from the specified command
|
342
|
+
#
|
343
|
+
# @param target_name [String] Target name of the command
|
344
|
+
# @param command_name [String] Packet name of the command
|
345
|
+
# @param parameter_name [String] Parameter name in the command
|
346
|
+
# @param value_type [Symbol] How the values should be converted. Must be
|
347
|
+
# one of {Packet::VALUE_TYPES}
|
348
|
+
# @return [Varies] value
|
349
|
+
def get_cmd_value(target_name, command_name, parameter_name, value_type = :CONVERTED)
|
350
|
+
packet = System.commands.packet(target_name, command_name)
|
351
|
+
# Virtually support RECEIVED_TIMEFORMATTED, RECEIVED_TIMESECONDS, RECEIVED_COUNT
|
352
|
+
# Also PACKET_TIMEFORMATTED and PACKET_TIMESECONDS
|
353
|
+
case parameter_name.to_s.upcase
|
354
|
+
when 'PACKET_TIMEFORMATTED'
|
355
|
+
if packet.packet_time
|
356
|
+
return packet.packet_time.formatted
|
357
|
+
else
|
358
|
+
return 'No Packet Time'
|
359
|
+
end
|
360
|
+
when 'PACKET_TIMESECONDS'
|
361
|
+
if packet.packet_time
|
362
|
+
return packet.packet_time.to_f
|
363
|
+
else
|
364
|
+
return 0.0
|
365
|
+
end
|
366
|
+
when 'RECEIVED_TIMEFORMATTED'
|
367
|
+
if packet.received_time
|
368
|
+
return packet.received_time.formatted
|
369
|
+
else
|
370
|
+
return 'No Packet Received Time'
|
371
|
+
end
|
372
|
+
when 'RECEIVED_TIMESECONDS'
|
373
|
+
if packet.received_time
|
374
|
+
return packet.received_time.to_f
|
375
|
+
else
|
376
|
+
return 0.0
|
377
|
+
end
|
378
|
+
when 'RECEIVED_COUNT'
|
379
|
+
return packet.received_count
|
380
|
+
else
|
381
|
+
return packet.read(parameter_name, value_type.intern)
|
382
|
+
end
|
383
|
+
end
|
384
|
+
|
385
|
+
# Returns the time the most recent command was sent
|
386
|
+
#
|
387
|
+
# @param target_name [String] Target name of the command. If not given then
|
388
|
+
# the most recent time from all commands will be returned
|
389
|
+
# @param command_name [String] Packet name of the command. If not given then
|
390
|
+
# then most recent time from the given target will be returned.
|
391
|
+
# @return [Array<Target Name, Command Name, Time Seconds, Time Microseconds>]
|
392
|
+
def get_cmd_time(target_name = nil, command_name = nil)
|
393
|
+
last_command = nil
|
394
|
+
if target_name
|
395
|
+
if command_name
|
396
|
+
last_command = System.commands.packet(target_name, command_name)
|
397
|
+
else
|
398
|
+
System.commands.packets(target_name).each do |packet_name, command|
|
399
|
+
last_command = command if !last_command and command.received_time
|
400
|
+
if command.received_time and command.received_time > last_command.received_time
|
401
|
+
last_command = command
|
402
|
+
end
|
403
|
+
end
|
404
|
+
end
|
405
|
+
else
|
406
|
+
commands = System.commands.all
|
407
|
+
commands.each do |_, target_commands|
|
408
|
+
target_commands.each do |packet_name, command|
|
409
|
+
last_command = command if !last_command and command.received_time
|
410
|
+
if command.received_time and command.received_time > last_command.received_time
|
411
|
+
last_command = command
|
412
|
+
end
|
413
|
+
end
|
414
|
+
end
|
415
|
+
end
|
416
|
+
|
417
|
+
if last_command
|
418
|
+
if last_command.received_time
|
419
|
+
return [last_command.target_name, last_command.packet_name, last_command.received_time.tv_sec, last_command.received_time.tv_usec]
|
420
|
+
else
|
421
|
+
return [last_command.target_name, last_command.packet_name, nil, nil]
|
422
|
+
end
|
423
|
+
else
|
424
|
+
return [nil, nil, nil, nil]
|
425
|
+
end
|
426
|
+
end
|
427
|
+
|
428
|
+
# Request a converted telemetry item from a packet.
|
429
|
+
#
|
430
|
+
# Accepts two different calling styles:
|
431
|
+
# tlm("TGT PKT ITEM")
|
432
|
+
# tlm('TGT','PKT','ITEM')
|
433
|
+
#
|
434
|
+
# Favor the first syntax where possible as it is more succinct.
|
435
|
+
#
|
436
|
+
# @param args [String|Array<String>] See the description for calling style
|
437
|
+
# @return [Numeric] The converted telemetry value without formatting or
|
438
|
+
# units
|
439
|
+
def tlm(*args)
|
440
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'tlm')
|
441
|
+
System.telemetry.value(target_name, packet_name, item_name, :CONVERTED)
|
442
|
+
end
|
443
|
+
|
444
|
+
# Request a raw telemetry item from a packet.
|
445
|
+
#
|
446
|
+
# Accepts two different calling styles:
|
447
|
+
# tlm_raw("TGT PKT ITEM")
|
448
|
+
# tlm_raw('TGT','PKT','ITEM')
|
449
|
+
#
|
450
|
+
# Favor the first syntax where possible as it is more succinct.
|
451
|
+
#
|
452
|
+
# @param args (see #tlm)
|
453
|
+
# @return [Numeric] The unconverted telemetry value without formatting or
|
454
|
+
# units
|
455
|
+
def tlm_raw(*args)
|
456
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'tlm_raw')
|
457
|
+
System.telemetry.value(target_name, packet_name, item_name, :RAW)
|
458
|
+
end
|
459
|
+
|
460
|
+
# Request a formatted telemetry item from a packet.
|
461
|
+
#
|
462
|
+
# Accepts two different calling styles:
|
463
|
+
# tlm_formatted("TGT PKT ITEM")
|
464
|
+
# tlm_formatted('TGT','PKT','ITEM')
|
465
|
+
#
|
466
|
+
# Favor the first syntax where possible as it is more succinct.
|
467
|
+
#
|
468
|
+
# @param args (see #tlm)
|
469
|
+
# @return [String] The converted telemetry value with formatting but
|
470
|
+
# without units
|
471
|
+
def tlm_formatted(*args)
|
472
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'tlm_formatted')
|
473
|
+
System.telemetry.value(target_name, packet_name, item_name, :FORMATTED)
|
474
|
+
end
|
475
|
+
|
476
|
+
# Request a telemetry item with units from a packet.
|
477
|
+
#
|
478
|
+
# Accepts two different calling styles:
|
479
|
+
# tlm_with_units("TGT PKT ITEM")
|
480
|
+
# tlm_with_units('TGT','PKT','ITEM')
|
481
|
+
#
|
482
|
+
# Favor the first syntax where possible as it is more succinct.
|
483
|
+
#
|
484
|
+
# @param args (see #tlm)
|
485
|
+
# @return [String] The converted, formatted telemetry value with units
|
486
|
+
def tlm_with_units(*args)
|
487
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'tlm_with_units')
|
488
|
+
System.telemetry.value(target_name, packet_name, item_name, :WITH_UNITS)
|
489
|
+
end
|
490
|
+
|
491
|
+
# Request a telemetry item from a packet with the specified conversion
|
492
|
+
# applied. This method is equivalent to calling the other tlm_xxx methods.
|
493
|
+
#
|
494
|
+
# Accepts two different calling styles:
|
495
|
+
# tlm_variable("TGT PKT ITEM", :RAW)
|
496
|
+
# tlm_variable('TGT','PKT','ITEM', :RAW)
|
497
|
+
#
|
498
|
+
# Favor the first syntax where possible as it is more succinct.
|
499
|
+
#
|
500
|
+
# @param args The args must either be a string followed by a symbol or
|
501
|
+
# three strings followed by a symbol (see the calling style in the
|
502
|
+
# description). The symbol must be one of {Packet::VALUE_TYPES}.
|
503
|
+
# @return [Object] The converted telemetry value
|
504
|
+
def tlm_variable(*args)
|
505
|
+
target_name, packet_name, item_name, value_type = tlm_variable_process_args(args, 'tlm_variable')
|
506
|
+
System.telemetry.value(target_name, packet_name, item_name, value_type)
|
507
|
+
end
|
508
|
+
|
509
|
+
# Set a telemetry item in a packet to a particular value and then verifies
|
510
|
+
# the value is within the acceptable limits. This method uses any
|
511
|
+
# conversions that apply to the item when setting the value.
|
512
|
+
#
|
513
|
+
# Note: If this is done while COSMOS is currently receiving telemetry,
|
514
|
+
# this value could get overwritten at any time. Thus this capability is
|
515
|
+
# best used for testing or for telemetry items that are not received
|
516
|
+
# regularly through the target interface.
|
517
|
+
#
|
518
|
+
# Accepts two different calling styles:
|
519
|
+
# set_tlm("TGT PKT ITEM = 1.0")
|
520
|
+
# set_tlm('TGT','PKT','ITEM', 10.0)
|
521
|
+
#
|
522
|
+
# Favor the first syntax where possible as it is more succinct.
|
523
|
+
#
|
524
|
+
# @param args The args must either be a string followed by a value or
|
525
|
+
# three strings followed by a value (see the calling style in the
|
526
|
+
# description).
|
527
|
+
def set_tlm(*args)
|
528
|
+
target_name, packet_name, item_name, value = set_tlm_process_args(args, 'set_tlm')
|
529
|
+
if target_name == 'SYSTEM'.freeze and packet_name == 'META'.freeze
|
530
|
+
raise "set_tlm not allowed on #{target_name} #{packet_name} #{item_name}" if ['PKTID', 'CONFIG'].include?(item_name)
|
531
|
+
end
|
532
|
+
System.telemetry.set_value(target_name, packet_name, item_name, value, :CONVERTED)
|
533
|
+
if target_name == 'SYSTEM'.freeze and packet_name == 'META'.freeze
|
534
|
+
tlm_packet = System.telemetry.packet('SYSTEM', 'META')
|
535
|
+
cmd_packet = System.commands.packet('SYSTEM', 'META')
|
536
|
+
cmd_packet.buffer = tlm_packet.buffer
|
537
|
+
end
|
538
|
+
System.telemetry.packet(target_name, packet_name).check_limits(System.limits_set, true)
|
539
|
+
nil
|
540
|
+
end
|
541
|
+
|
542
|
+
# Set a telemetry item in a packet to a particular value and then verifies
|
543
|
+
# the value is within the acceptable limits. No conversions are applied.
|
544
|
+
#
|
545
|
+
# Note: If this is done while COSMOS is currently receiving telemetry,
|
546
|
+
# this value could get overwritten at any time. Thus this capability is
|
547
|
+
# best used for testing or for telemetry items that are not received
|
548
|
+
# regularly through the target interface.
|
549
|
+
#
|
550
|
+
# Accepts two different calling styles:
|
551
|
+
# set_tlm_raw("TGT PKT ITEM = 1.0")
|
552
|
+
# set_tlm_raw('TGT','PKT','ITEM', 10.0)
|
553
|
+
#
|
554
|
+
# Favor the first syntax where possible as it is more succinct.
|
555
|
+
#
|
556
|
+
# @param args The args must either be a string followed by a value or
|
557
|
+
# three strings followed by a value (see the calling style in the
|
558
|
+
# description).
|
559
|
+
def set_tlm_raw(*args)
|
560
|
+
target_name, packet_name, item_name, value = set_tlm_process_args(args, 'set_tlm_raw')
|
561
|
+
System.telemetry.set_value(target_name, packet_name, item_name, value, :RAW)
|
562
|
+
System.telemetry.packet(target_name, packet_name).check_limits(System.limits_set, true)
|
563
|
+
nil
|
564
|
+
end
|
565
|
+
|
566
|
+
# Injects a packet into the system as if it was received from an interface
|
567
|
+
#
|
568
|
+
# @param target_name[String] Target name of the packet
|
569
|
+
# @param packet_name[String] Packet name of the packet
|
570
|
+
# @param item_hash[Hash] Hash of item_name and value for each item you want to change from the current value table
|
571
|
+
# @param value_type[Symbol/String] Type of the values in the item_hash (RAW or CONVERTED)
|
572
|
+
# @param send_routers[Boolean] Whether or not to send to routers for the target's interface
|
573
|
+
# @param send_packet_log_writers[Boolean] Whether or not to send to the packet log writers for the target's interface
|
574
|
+
# @param create_new_logs[Boolean] Whether or not to create new log files before writing this packet to logs
|
575
|
+
def inject_tlm(target_name, packet_name, item_hash = nil, value_type = :CONVERTED, send_routers = true, send_packet_log_writers = true, create_new_logs = false)
|
576
|
+
received_time = Time.now
|
577
|
+
target = System.targets[target_name.upcase]
|
578
|
+
raise "Unknown target: #{target_name}" unless target
|
579
|
+
|
580
|
+
# Find and clone the telemetry packet
|
581
|
+
cvt_packet = System.telemetry.packet(target_name, packet_name)
|
582
|
+
packet = cvt_packet.clone
|
583
|
+
packet.received_time = received_time
|
584
|
+
|
585
|
+
if item_hash
|
586
|
+
# Update the packet with item_hash
|
587
|
+
value_type = value_type.to_s.intern
|
588
|
+
item_hash.each do |item_name, item_value|
|
589
|
+
packet.write(item_name.to_s, item_value, value_type)
|
590
|
+
end
|
591
|
+
end
|
592
|
+
|
593
|
+
# Update current value table
|
594
|
+
cvt_packet.synchronize do
|
595
|
+
cvt_packet.buffer = packet.buffer(false)
|
596
|
+
cvt_packet.received_time = received_time
|
597
|
+
|
598
|
+
# The interface does the following line, but I don't think inject_tlm should because it could confuse the interface
|
599
|
+
target.tlm_cnt += 1
|
600
|
+
packet.received_count += 1
|
601
|
+
cvt_packet.received_count += 1
|
602
|
+
CmdTlmServer.instance.identified_packet_callback(cvt_packet)
|
603
|
+
end
|
604
|
+
|
605
|
+
# Find the interface for this target
|
606
|
+
interface = target.interface
|
607
|
+
|
608
|
+
if interface
|
609
|
+
# Write to routers
|
610
|
+
if send_routers
|
611
|
+
interface.routers.each do |router|
|
612
|
+
begin
|
613
|
+
router.write(packet) if router.write_allowed? and router.connected?
|
614
|
+
rescue => err
|
615
|
+
Logger.error "Problem writing to router #{router.name} - #{err.class}:#{err.message}"
|
616
|
+
end
|
617
|
+
end
|
618
|
+
end
|
619
|
+
|
620
|
+
# Write to packet log writers
|
621
|
+
if create_new_logs or send_packet_log_writers
|
622
|
+
interface.packet_log_writer_pairs.each do |packet_log_writer_pair|
|
623
|
+
# Optionally create new log files
|
624
|
+
packet_log_writer_pair.tlm_log_writer.start if create_new_logs
|
625
|
+
|
626
|
+
# Optionally write to packet logs - Write errors are handled by the log writer
|
627
|
+
packet_log_writer_pair.tlm_log_writer.write(packet) if send_packet_log_writers
|
628
|
+
end
|
629
|
+
end
|
630
|
+
else
|
631
|
+
# Some packets don't have an interface - Can still write to standard routers and packet logs
|
632
|
+
|
633
|
+
# Write to routers
|
634
|
+
if send_routers
|
635
|
+
router = CmdTlmServer.instance.routers.all['PREIDENTIFIED_ROUTER']
|
636
|
+
if router
|
637
|
+
begin
|
638
|
+
router.write(packet) if router.write_allowed? and router.connected?
|
639
|
+
rescue => err
|
640
|
+
Logger.error "Problem writing to router #{router.name} - #{err.class}:#{err.message}"
|
641
|
+
end
|
642
|
+
end
|
643
|
+
end
|
644
|
+
|
645
|
+
if create_new_logs or send_packet_log_writers
|
646
|
+
# Handle packet logging
|
647
|
+
packet_log_writer_pair = CmdTlmServer.instance.packet_logging.all['DEFAULT']
|
648
|
+
|
649
|
+
if packet_log_writer_pair
|
650
|
+
# Optionally create new logs
|
651
|
+
packet_log_writer_pair.tlm_log_writer.start if create_new_logs
|
652
|
+
|
653
|
+
# Optionally write to packet logs - Write errors are handled by the log writer
|
654
|
+
packet_log_writer_pair.tlm_log_writer.write(packet) if send_packet_log_writers
|
655
|
+
end
|
656
|
+
end
|
657
|
+
end
|
658
|
+
|
659
|
+
nil
|
660
|
+
end
|
661
|
+
|
662
|
+
# Override a telemetry item in a packet to a particular value such that it
|
663
|
+
# is always returned even when new telemetry packets are received from the
|
664
|
+
# target.
|
665
|
+
#
|
666
|
+
# Accepts two different calling styles:
|
667
|
+
# override_tlm("TGT PKT ITEM = 1.0")
|
668
|
+
# override_tlm('TGT','PKT','ITEM', 10.0)
|
669
|
+
#
|
670
|
+
# Favor the first syntax where possible as it is more succinct.
|
671
|
+
#
|
672
|
+
# @param args The args must either be a string followed by a value or
|
673
|
+
# three strings followed by a value (see the calling style in the
|
674
|
+
# description).
|
675
|
+
def override_tlm(*args)
|
676
|
+
_override(__method__, set_tlm_process_args(args, __method__))
|
677
|
+
end
|
678
|
+
|
679
|
+
# Override a telemetry item in a packet to a particular value such that it
|
680
|
+
# is always returned even when new telemetry packets are received from the
|
681
|
+
# target. This only accepts RAW data items and any conversions are applied
|
682
|
+
# to the raw data when the packet is read.
|
683
|
+
#
|
684
|
+
# Accepts two different calling styles:
|
685
|
+
# override_tlm_raw("TGT PKT ITEM = 1.0")
|
686
|
+
# override_tlm_raw('TGT','PKT','ITEM', 10.0)
|
687
|
+
#
|
688
|
+
# Favor the first syntax where possible as it is more succinct.
|
689
|
+
#
|
690
|
+
# @param args The args must either be a string followed by a value or
|
691
|
+
# three strings followed by a value (see the calling style in the
|
692
|
+
# description).
|
693
|
+
def override_tlm_raw(*args)
|
694
|
+
_override(__method__, set_tlm_process_args(args, __method__))
|
695
|
+
end
|
696
|
+
|
697
|
+
# Normalize a telemetry item in a packet to its default behavior. Called
|
698
|
+
# after override_tlm and override_tlm_raw to restore standard processing.
|
699
|
+
#
|
700
|
+
# Accepts two different calling styles:
|
701
|
+
# normalize_tlm("TGT PKT ITEM")
|
702
|
+
# normalize_tlm('TGT','PKT','ITEM')
|
703
|
+
#
|
704
|
+
# Favor the first syntax where possible as it is more succinct.
|
705
|
+
#
|
706
|
+
# @param args The args must either be a string or three strings
|
707
|
+
# (see the calling style in the description).
|
708
|
+
def normalize_tlm(*args)
|
709
|
+
_override(__method__, tlm_process_args(args, __method__))
|
710
|
+
end
|
711
|
+
|
712
|
+
private
|
713
|
+
|
714
|
+
def _override(method, tgt_pkt_item)
|
715
|
+
target = System.targets[tgt_pkt_item[0]]
|
716
|
+
raise "Target '#{tgt_pkt_item[0]}' does not exist" unless target
|
717
|
+
interface = System.targets[tgt_pkt_item[0]].interface
|
718
|
+
raise "Target '#{tgt_pkt_item[0]}' has no interface" unless interface
|
719
|
+
found = false
|
720
|
+
if interface.read_protocols
|
721
|
+
interface.read_protocols.each do |protocol|
|
722
|
+
found = true if protocol.kind_of? OverrideProtocol
|
723
|
+
end
|
724
|
+
end
|
725
|
+
if found
|
726
|
+
# Test to see if this telemetry item exists
|
727
|
+
System.telemetry.value(tgt_pkt_item[0], tgt_pkt_item[1], tgt_pkt_item[2], :RAW)
|
728
|
+
interface.public_send("_#{method}", *tgt_pkt_item)
|
729
|
+
else
|
730
|
+
raise "Interface #{interface.name} does not have override ability. Is 'PROTOCOL READ_WRITE OverrideProtocol' under the interface definition?"
|
731
|
+
end
|
732
|
+
nil
|
733
|
+
end
|
734
|
+
|
735
|
+
public
|
736
|
+
|
737
|
+
# Returns the raw buffer for a telemetry packet.
|
738
|
+
#
|
739
|
+
# @param target_name [String] Name of the target
|
740
|
+
# @param packet_name [String] Name of the packet
|
741
|
+
# @return [String] last telemetry packet buffer
|
742
|
+
def get_tlm_buffer(target_name, packet_name)
|
743
|
+
packet = System.telemetry.packet(target_name, packet_name)
|
744
|
+
return packet.buffer
|
745
|
+
end
|
746
|
+
|
747
|
+
# Returns all the values (along with their limits state) for a packet.
|
748
|
+
#
|
749
|
+
# @param target_name [String] Name of the target
|
750
|
+
# @param packet_name [String] Name of the packet
|
751
|
+
# @param value_type [Symbol] How the values should be converted. Must be
|
752
|
+
# one of {Packet::VALUE_TYPES}
|
753
|
+
# @return (see Cosmos::Packet#read_all_with_limits_states)
|
754
|
+
def get_tlm_packet(target_name, packet_name, value_type = :CONVERTED)
|
755
|
+
packet = System.telemetry.packet(target_name, packet_name)
|
756
|
+
return packet.read_all_with_limits_states(value_type.to_s.intern)
|
757
|
+
end
|
758
|
+
|
759
|
+
# Returns all the item values (along with their limits state). The items
|
760
|
+
# can be from any target and packet and thus must be fully qualified with
|
761
|
+
# their target and packet names.
|
762
|
+
#
|
763
|
+
# @param (see Cosmos::Telemetry#values_and_limits_states)
|
764
|
+
# @return [Array< Array<Object>, Array<Symbol>, Array<Array<Numeric>>, String>]
|
765
|
+
# Array consisting of an Array of item values, an Array of item limits state
|
766
|
+
# given as symbols such as :RED, :YELLOW, :STALE, an Array of Arrays including
|
767
|
+
# the limits setting such as red low, yellow low, yellow high, red high and
|
768
|
+
# optionally green low and high, and the overall limits state which is
|
769
|
+
# one of {Cosmos::Limits::LIMITS_STATES}.
|
770
|
+
def get_tlm_values(item_array, value_types = :CONVERTED)
|
771
|
+
if !item_array.is_a?(Array) || (!item_array[0].is_a?(Array) and !item_array.empty?)
|
772
|
+
raise ArgumentError, "item_array must be nested array: [['TGT','PKT','ITEM'],...]"
|
773
|
+
end
|
774
|
+
return [[], [], [], System.limits_set] if item_array.empty?
|
775
|
+
if value_types.is_a?(Array)
|
776
|
+
elem = value_types[0]
|
777
|
+
else
|
778
|
+
elem = value_types
|
779
|
+
end
|
780
|
+
# Due to JSON round tripping from scripts, value_types can be a String
|
781
|
+
# so we must check for both Symbol and String
|
782
|
+
if !elem.is_a?(Symbol) && !elem.is_a?(String)
|
783
|
+
raise ArgumentError, "value_types must be a single symbol or array of symbols specifying the conversion method (:RAW, :CONVERTED, :FORMATTED, :WITH_UNITS)"
|
784
|
+
end
|
785
|
+
array = System.telemetry.values_and_limits_states(item_array, value_types)
|
786
|
+
array << System.limits_set
|
787
|
+
return array
|
788
|
+
end
|
789
|
+
|
790
|
+
# Returns the sorted packet names and their descriptions for a particular
|
791
|
+
# target.
|
792
|
+
#
|
793
|
+
# @param target_name (see #get_tlm_packet)
|
794
|
+
# @return [Array<String, String>] Array of \[packet name, packet
|
795
|
+
# description] sorted by packet name
|
796
|
+
def get_tlm_list(target_name)
|
797
|
+
list = []
|
798
|
+
packets = System.telemetry.packets(target_name)
|
799
|
+
packets.each do |packet_name, packet|
|
800
|
+
list << [packet_name, packet.description]
|
801
|
+
end
|
802
|
+
list.sort
|
803
|
+
end
|
804
|
+
|
805
|
+
# Returns the item names and their states and descriptions for a particular
|
806
|
+
# packet.
|
807
|
+
#
|
808
|
+
# @param target_name (see #get_tlm_packet)
|
809
|
+
# @param packet_name (see #get_tlm_packet)
|
810
|
+
# @return [Array<String, Hash, String>] Array of \[item name, item states,
|
811
|
+
# item description]
|
812
|
+
def get_tlm_item_list(target_name, packet_name)
|
813
|
+
list = []
|
814
|
+
System.telemetry.items(target_name, packet_name).each do |item|
|
815
|
+
list << [item.name, item.states, item.description]
|
816
|
+
end
|
817
|
+
list
|
818
|
+
end
|
819
|
+
|
820
|
+
# Returns an array of Hashes with all the attributes of the item.
|
821
|
+
#
|
822
|
+
# @param (see Cosmos::Telemetry#values_and_limits_states)
|
823
|
+
# @return [Array<Hash>] Array of hashes describing the items. All the
|
824
|
+
# attributes in {Cosmos::PacketItem} and {Cosmos::StructItem} are
|
825
|
+
# present in the Hash.
|
826
|
+
def get_tlm_details(item_array)
|
827
|
+
if !item_array.is_a?(Array) || !item_array[0].is_a?(Array)
|
828
|
+
raise ArgumentError, "item_array must be nested array: [['TGT','PKT','ITEM'],...]"
|
829
|
+
end
|
830
|
+
details = []
|
831
|
+
item_array.each do |target_name, packet_name, item_name|
|
832
|
+
_, item = System.telemetry.packet_and_item(target_name, packet_name, item_name)
|
833
|
+
details << item.to_hash
|
834
|
+
end
|
835
|
+
details
|
836
|
+
end
|
837
|
+
|
838
|
+
# (see Cosmos::Limits#out_of_limits)
|
839
|
+
def get_out_of_limits
|
840
|
+
return System.limits.out_of_limits
|
841
|
+
end
|
842
|
+
|
843
|
+
# (see Cosmos::Limits#overall_limits_state)
|
844
|
+
def get_overall_limits_state(ignored_items = nil)
|
845
|
+
return System.limits.overall_limits_state(ignored_items)
|
846
|
+
end
|
847
|
+
|
848
|
+
# Whether the limits are enabled for the given item
|
849
|
+
#
|
850
|
+
# Accepts two different calling styles:
|
851
|
+
# limits_enabled?("TGT PKT ITEM")
|
852
|
+
# limits_enabled?('TGT','PKT','ITEM')
|
853
|
+
#
|
854
|
+
# Favor the first syntax where possible as it is more succinct.
|
855
|
+
#
|
856
|
+
# @param args [String|Array<String>] See the description for calling style
|
857
|
+
# @return [Boolean] Whether limits are enable for the itme
|
858
|
+
def limits_enabled?(*args)
|
859
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'limits_enabled?')
|
860
|
+
return System.limits.enabled?(target_name, packet_name, item_name)
|
861
|
+
end
|
862
|
+
|
863
|
+
# Enable limits checking for a telemetry item
|
864
|
+
#
|
865
|
+
# Accepts two different calling styles:
|
866
|
+
# enable_limits("TGT PKT ITEM")
|
867
|
+
# enable_limits('TGT','PKT','ITEM')
|
868
|
+
#
|
869
|
+
# Favor the first syntax where possible as it is more succinct.
|
870
|
+
#
|
871
|
+
# @param args [String|Array<String>] See the description for calling style
|
872
|
+
def enable_limits(*args)
|
873
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'enable_limits')
|
874
|
+
System.limits.enable(target_name, packet_name, item_name)
|
875
|
+
nil
|
876
|
+
end
|
877
|
+
|
878
|
+
# Disable limit checking for a telemetry item
|
879
|
+
#
|
880
|
+
# Accepts two different calling styles:
|
881
|
+
# disable_limits("TGT PKT ITEM")
|
882
|
+
# disable_limits('TGT','PKT','ITEM')
|
883
|
+
#
|
884
|
+
# Favor the first syntax where possible as it is more succinct.
|
885
|
+
#
|
886
|
+
# @param args [String|Array<String>] See the description for calling style
|
887
|
+
def disable_limits(*args)
|
888
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'disable_limits')
|
889
|
+
System.limits.disable(target_name, packet_name, item_name)
|
890
|
+
nil
|
891
|
+
end
|
892
|
+
|
893
|
+
# Get the list of stale packets for a specific target or pass nil to list
|
894
|
+
# all stale packets
|
895
|
+
#
|
896
|
+
# @param with_limits_only [Boolean] Return only the stale packets
|
897
|
+
# that have limits items and thus affect the overall limits
|
898
|
+
# state of the system
|
899
|
+
# @param target [String] The target to find stale packets for or nil to list
|
900
|
+
# all stale packets in the system
|
901
|
+
# @return [Array<Array<String, String>>] Array of arrays listing the target
|
902
|
+
# name and packet name
|
903
|
+
def get_stale(with_limits_only = false, target = nil)
|
904
|
+
stale = []
|
905
|
+
System.telemetry.stale(with_limits_only, target).each do |packet|
|
906
|
+
stale << [packet.target_name, packet.packet_name]
|
907
|
+
end
|
908
|
+
stale
|
909
|
+
end
|
910
|
+
|
911
|
+
# (see Cosmos::Limits#get)
|
912
|
+
def get_limits(target_name, packet_name, item_name, limits_set = nil)
|
913
|
+
System.limits.get(target_name, packet_name, item_name, limits_set)
|
914
|
+
end
|
915
|
+
|
916
|
+
# (see Cosmos::Limits#set)
|
917
|
+
def set_limits(target_name, packet_name, item_name, red_low, yellow_low, yellow_high, red_high, green_low = nil, green_high = nil, limits_set = :CUSTOM, persistence = nil, enabled = true)
|
918
|
+
result = System.limits.set(target_name, packet_name, item_name, red_low, yellow_low, yellow_high, red_high, green_low, green_high, limits_set, persistence, enabled)
|
919
|
+
if result[0] != nil
|
920
|
+
limits_settings = [target_name, packet_name, item_name].concat(result)
|
921
|
+
CmdTlmServer.instance.post_limits_event(:LIMITS_SETTINGS, limits_settings)
|
922
|
+
Logger.info("Limits Settings Changed: #{limits_settings}")
|
923
|
+
end
|
924
|
+
result
|
925
|
+
end
|
926
|
+
|
927
|
+
# (see Cosmos::Limits#groups)
|
928
|
+
def get_limits_groups
|
929
|
+
return System.limits.groups.keys
|
930
|
+
end
|
931
|
+
|
932
|
+
# (see Cosmos::Limits#enable_group)
|
933
|
+
def enable_limits_group(group_name)
|
934
|
+
Logger.info("Enabling Limits Group: #{group_name.upcase}")
|
935
|
+
System.limits.enable_group(group_name)
|
936
|
+
nil
|
937
|
+
end
|
938
|
+
|
939
|
+
# (see Cosmos::Limits#disable_group)
|
940
|
+
def disable_limits_group(group_name)
|
941
|
+
Logger.info("Disabling Limits Group: #{group_name.upcase}")
|
942
|
+
System.limits.disable_group(group_name)
|
943
|
+
nil
|
944
|
+
end
|
945
|
+
|
946
|
+
# Returns all defined limits sets
|
947
|
+
#
|
948
|
+
# @return [Array<Symbol>] All defined limits sets
|
949
|
+
def get_limits_sets
|
950
|
+
return System.limits.sets
|
951
|
+
end
|
952
|
+
|
953
|
+
# Changes the active limits set that applies to all telemetry
|
954
|
+
#
|
955
|
+
# @param limits_set [String] The name of the limits set
|
956
|
+
def set_limits_set(limits_set)
|
957
|
+
System.limits_set = limits_set if System.limits_set != limits_set.to_s.upcase.intern
|
958
|
+
end
|
959
|
+
|
960
|
+
# Returns the active limits set that applies to all telemetry
|
961
|
+
#
|
962
|
+
# @return [String] The current limits set
|
963
|
+
def get_limits_set
|
964
|
+
return System.limits_set.to_s
|
965
|
+
end
|
966
|
+
|
967
|
+
#
|
968
|
+
# General Purpose Methods
|
969
|
+
#
|
970
|
+
|
971
|
+
# Returns the list of all target names
|
972
|
+
#
|
973
|
+
# @return [Array<String>] All target names
|
974
|
+
def get_target_list
|
975
|
+
list = []
|
976
|
+
System.targets.each_key {|target_name| list << target_name }
|
977
|
+
return list.sort
|
978
|
+
end
|
979
|
+
|
980
|
+
# @see CmdTlmServer.subscribe_limits_events
|
981
|
+
def subscribe_limits_events(queue_size = CmdTlmServer::DEFAULT_LIMITS_EVENT_QUEUE_SIZE)
|
982
|
+
CmdTlmServer.subscribe_limits_events(queue_size)
|
983
|
+
end
|
984
|
+
|
985
|
+
# @see CmdTlmServer.unsubscribe_limits_events
|
986
|
+
def unsubscribe_limits_events(id)
|
987
|
+
CmdTlmServer.unsubscribe_limits_events(id)
|
988
|
+
end
|
989
|
+
|
990
|
+
# @see CmdTlmServer.get_limits_event
|
991
|
+
def get_limits_event(id, non_block = false)
|
992
|
+
CmdTlmServer.get_limits_event(id, non_block)
|
993
|
+
end
|
994
|
+
|
995
|
+
# @see CmdTlmServer.subscribe_packet_data
|
996
|
+
def subscribe_packet_data(packets,
|
997
|
+
queue_size = CmdTlmServer::DEFAULT_PACKET_DATA_QUEUE_SIZE)
|
998
|
+
CmdTlmServer.subscribe_packet_data(packets, queue_size)
|
999
|
+
end
|
1000
|
+
|
1001
|
+
# @see CmdTlmServer.unsubscribe_packet_data
|
1002
|
+
def unsubscribe_packet_data(id)
|
1003
|
+
CmdTlmServer.unsubscribe_packet_data(id)
|
1004
|
+
end
|
1005
|
+
|
1006
|
+
# @see CmdTlmServer.get_packet_data
|
1007
|
+
def get_packet_data(id, non_block = false)
|
1008
|
+
CmdTlmServer.get_packet_data(id, non_block)
|
1009
|
+
end
|
1010
|
+
|
1011
|
+
# @see CmdTlmServer.subscribe_server_messages
|
1012
|
+
def subscribe_server_messages(queue_size = CmdTlmServer::DEFAULT_SERVER_MESSAGES_QUEUE_SIZE)
|
1013
|
+
CmdTlmServer.subscribe_server_messages(queue_size)
|
1014
|
+
end
|
1015
|
+
|
1016
|
+
# @see CmdTlmServer.unsubscribe_server_messages
|
1017
|
+
def unsubscribe_server_messages(id)
|
1018
|
+
CmdTlmServer.unsubscribe_server_messages(id)
|
1019
|
+
end
|
1020
|
+
|
1021
|
+
# @see CmdTlmServer.get_server_message
|
1022
|
+
def get_server_message(id, non_block = false)
|
1023
|
+
CmdTlmServer.get_server_message(id, non_block)
|
1024
|
+
end
|
1025
|
+
|
1026
|
+
# Get a packet which was previously subscribed to by
|
1027
|
+
# subscribe_packet_data. This method can block waiting for new packets or
|
1028
|
+
# not based on the second parameter. It returns a single Cosmos::Packet instance
|
1029
|
+
# and will return nil when no more packets are buffered (assuming non_block
|
1030
|
+
# is false).
|
1031
|
+
# Usage:
|
1032
|
+
# get_packet(id, <true or false to block>)
|
1033
|
+
def get_packet(id, non_block = false)
|
1034
|
+
packet = nil
|
1035
|
+
# The get_packet_data in the CmdTlmServer returns the number of seconds
|
1036
|
+
# followed by microseconds after the packet_name. This is different that the Script API.
|
1037
|
+
buffer, target_name, packet_name, rx_sec, rx_usec, rx_count = get_packet_data(id, non_block)
|
1038
|
+
if buffer
|
1039
|
+
packet = System.telemetry.packet(target_name, packet_name).clone
|
1040
|
+
packet.buffer = buffer
|
1041
|
+
packet.received_time = Time.at(rx_sec, rx_usec).sys
|
1042
|
+
packet.received_count = rx_count
|
1043
|
+
end
|
1044
|
+
packet
|
1045
|
+
end
|
1046
|
+
|
1047
|
+
#
|
1048
|
+
# Methods for scripting
|
1049
|
+
#
|
1050
|
+
|
1051
|
+
# @return [Array<String>] All the targets mapped to the given interface
|
1052
|
+
def get_interface_targets(interface_name)
|
1053
|
+
CmdTlmServer.interfaces.targets(interface_name)
|
1054
|
+
end
|
1055
|
+
|
1056
|
+
# @return [Array<String>] All the interface names
|
1057
|
+
def get_interface_names
|
1058
|
+
CmdTlmServer.interfaces.names
|
1059
|
+
end
|
1060
|
+
|
1061
|
+
# Connects to an interface and starts its telemetry gathering thread. If
|
1062
|
+
# optional parameters are given, the interface is recreated with new
|
1063
|
+
# parameters.
|
1064
|
+
#
|
1065
|
+
# @param interface_name [String] The name of the interface
|
1066
|
+
# @param params [Array] Parameters to pass to the interface.
|
1067
|
+
def connect_interface(interface_name, *params)
|
1068
|
+
CmdTlmServer.interfaces.connect(interface_name, *params)
|
1069
|
+
nil
|
1070
|
+
end
|
1071
|
+
|
1072
|
+
# Disconnects from an interface and kills its telemetry gathering thread
|
1073
|
+
#
|
1074
|
+
# @param interface_name (see #connect_interface)
|
1075
|
+
def disconnect_interface(interface_name)
|
1076
|
+
CmdTlmServer.interfaces.disconnect(interface_name)
|
1077
|
+
nil
|
1078
|
+
end
|
1079
|
+
|
1080
|
+
# @param interface_name (see #connect_interface)
|
1081
|
+
# @return [String] The state of the interface which is one of 'CONNECTED',
|
1082
|
+
# 'ATTEMPTING' or 'DISCONNECTED'.
|
1083
|
+
def interface_state(interface_name)
|
1084
|
+
CmdTlmServer.interfaces.state(interface_name)
|
1085
|
+
end
|
1086
|
+
|
1087
|
+
# Associates a target and all its commands and telemetry with a particular
|
1088
|
+
# interface. All the commands will go out over and telemetry be received
|
1089
|
+
# from that interface.
|
1090
|
+
#
|
1091
|
+
# @param target_name [String] The name of the target
|
1092
|
+
# @param interface_name (see #connect_interface)
|
1093
|
+
def map_target_to_interface(target_name, interface_name)
|
1094
|
+
CmdTlmServer.interfaces.map_target(target_name, interface_name)
|
1095
|
+
nil
|
1096
|
+
end
|
1097
|
+
|
1098
|
+
# @return [Array<String>] All the router names
|
1099
|
+
def get_router_names
|
1100
|
+
CmdTlmServer.routers.names
|
1101
|
+
end
|
1102
|
+
|
1103
|
+
# Connects a router and starts its command gathering thread. If
|
1104
|
+
# optional parameters are given, the router is recreated with new
|
1105
|
+
# parameters.
|
1106
|
+
#
|
1107
|
+
# @param router_name [String] The name of the router
|
1108
|
+
# @param params [Array] Parameters to pass to the router.
|
1109
|
+
def connect_router(router_name, *params)
|
1110
|
+
CmdTlmServer.routers.connect(router_name, *params)
|
1111
|
+
nil
|
1112
|
+
end
|
1113
|
+
|
1114
|
+
# Disconnects a router and kills its command gathering thread
|
1115
|
+
#
|
1116
|
+
# @param router_name (see #connect_router)
|
1117
|
+
def disconnect_router(router_name)
|
1118
|
+
CmdTlmServer.routers.disconnect(router_name)
|
1119
|
+
nil
|
1120
|
+
end
|
1121
|
+
|
1122
|
+
# @param router_name (see #connect_router)
|
1123
|
+
# @return [String] The state of the router which is one of 'CONNECTED',
|
1124
|
+
# 'ATTEMPTING' or 'DISCONNECTED'.
|
1125
|
+
def router_state(router_name)
|
1126
|
+
CmdTlmServer.routers.state(router_name)
|
1127
|
+
end
|
1128
|
+
|
1129
|
+
# Get information about a target
|
1130
|
+
#
|
1131
|
+
# @param target_name [String] Target name
|
1132
|
+
# @return [Array<Numeric, Numeric>] Array of \[cmd_cnt, tlm_cnt]
|
1133
|
+
def get_target_info(target_name)
|
1134
|
+
target = System.targets[target_name.upcase]
|
1135
|
+
raise "Unknown target: #{target_name}" unless target
|
1136
|
+
return [target.cmd_cnt, target.tlm_cnt]
|
1137
|
+
end
|
1138
|
+
|
1139
|
+
# Get information about all targets
|
1140
|
+
#
|
1141
|
+
# @return [Array<Array<String, Numeric, Numeric>] Array of Arrays \[name, cmd_cnt, tlm_cnt]
|
1142
|
+
def get_all_target_info
|
1143
|
+
info = []
|
1144
|
+
System.targets.sort.each do |target_name, target|
|
1145
|
+
interface_name = target.interface ? target.interface.name : ''
|
1146
|
+
info << [target_name, interface_name, target.cmd_cnt, target.tlm_cnt]
|
1147
|
+
end
|
1148
|
+
info
|
1149
|
+
end
|
1150
|
+
|
1151
|
+
# Get the list of ignored command parameters for a target
|
1152
|
+
#
|
1153
|
+
# @param target_name [String] Target name
|
1154
|
+
# @return [Array<String>] All of the ignored command parameters for a target.
|
1155
|
+
def get_target_ignored_parameters(target_name)
|
1156
|
+
target = System.targets[target_name.upcase]
|
1157
|
+
raise "Unknown target: #{target_name}" unless target
|
1158
|
+
return target.ignored_parameters
|
1159
|
+
end
|
1160
|
+
|
1161
|
+
# Get the list of ignored telemetry items for a target
|
1162
|
+
#
|
1163
|
+
# @param target_name [String] Target name
|
1164
|
+
# @return [Array<String>] All of the ignored telemetry items for a target.
|
1165
|
+
def get_target_ignored_items(target_name)
|
1166
|
+
target = System.targets[target_name.upcase]
|
1167
|
+
raise "Unknown target: #{target_name}" unless target
|
1168
|
+
return target.ignored_items
|
1169
|
+
end
|
1170
|
+
|
1171
|
+
# Get information about an interface
|
1172
|
+
#
|
1173
|
+
# @param interface_name [String] Interface name
|
1174
|
+
# @return [Array<String, Numeric, Numeric, Numeric, Numeric, Numeric,
|
1175
|
+
# Numeric, Numeric>] Array containing \[state, num clients,
|
1176
|
+
# TX queue size, RX queue size, TX bytes, RX bytes, Command count,
|
1177
|
+
# Telemetry count] for the interface
|
1178
|
+
def get_interface_info(interface_name)
|
1179
|
+
CmdTlmServer.interfaces.get_info(interface_name)
|
1180
|
+
end
|
1181
|
+
|
1182
|
+
# Get information about all interfaces
|
1183
|
+
#
|
1184
|
+
# @return [Array<Array<String, Numeric, Numeric, Numeric, Numeric, Numeric,
|
1185
|
+
# Numeric, Numeric>>] Array of Arrays containing \[name, state, num clients,
|
1186
|
+
# TX queue size, RX queue size, TX bytes, RX bytes, Command count,
|
1187
|
+
# Telemetry count] for all interfaces
|
1188
|
+
def get_all_interface_info
|
1189
|
+
info = []
|
1190
|
+
CmdTlmServer.interfaces.names.sort.each do |interface_name|
|
1191
|
+
info << [interface_name].concat(CmdTlmServer.interfaces.get_info(interface_name))
|
1192
|
+
end
|
1193
|
+
info
|
1194
|
+
end
|
1195
|
+
|
1196
|
+
# Get information about a router
|
1197
|
+
#
|
1198
|
+
# @param router_name [String] Router name
|
1199
|
+
# @return [Array<String, Numeric, Numeric, Numeric, Numeric, Numeric,
|
1200
|
+
# Numeric, Numeric>] Array containing \[state, num clients,
|
1201
|
+
# TX queue size, RX queue size, TX bytes, RX bytes, Pkts received,
|
1202
|
+
# Pkts sent] for the router
|
1203
|
+
def get_router_info(router_name)
|
1204
|
+
CmdTlmServer.routers.get_info(router_name)
|
1205
|
+
end
|
1206
|
+
|
1207
|
+
# Get information about all routers
|
1208
|
+
#
|
1209
|
+
# @return [Array<Array<String, Numeric, Numeric, Numeric, Numeric, Numeric,
|
1210
|
+
# Numeric, Numeric>>] Array of Arrays containing \[name, state, num clients,
|
1211
|
+
# TX queue size, RX queue size, TX bytes, RX bytes, Command count,
|
1212
|
+
# Telemetry count] for all routers
|
1213
|
+
def get_all_router_info
|
1214
|
+
info = []
|
1215
|
+
CmdTlmServer.routers.names.sort.each do |router_name|
|
1216
|
+
info << [router_name].concat(CmdTlmServer.routers.get_info(router_name))
|
1217
|
+
end
|
1218
|
+
info
|
1219
|
+
end
|
1220
|
+
|
1221
|
+
# Get the transmit count for a command packet
|
1222
|
+
#
|
1223
|
+
# @param target_name [String] Target name of the command
|
1224
|
+
# @param command_name [String] Packet name of the command
|
1225
|
+
# @return [Numeric] Transmit count for the command
|
1226
|
+
def get_cmd_cnt(target_name, command_name)
|
1227
|
+
packet = System.commands.packet(target_name, command_name)
|
1228
|
+
packet.received_count
|
1229
|
+
end
|
1230
|
+
|
1231
|
+
# Get the receive count for a telemetry packet
|
1232
|
+
#
|
1233
|
+
# @param target_name [String] Name of the target
|
1234
|
+
# @param packet_name [String] Name of the packet
|
1235
|
+
# @return [Numeric] Receive count for the telemetry packet
|
1236
|
+
def get_tlm_cnt(target_name, packet_name)
|
1237
|
+
packet = System.telemetry.packet(target_name, packet_name)
|
1238
|
+
packet.received_count
|
1239
|
+
end
|
1240
|
+
|
1241
|
+
# Get information on all command packets
|
1242
|
+
#
|
1243
|
+
# @return [Numeric] Transmit count for the command
|
1244
|
+
def get_all_cmd_info
|
1245
|
+
info = []
|
1246
|
+
System.commands.all.sort.each do |target_name, packets|
|
1247
|
+
packets.sort.each do |packet_name, packet|
|
1248
|
+
info << [target_name, packet_name, packet.received_count]
|
1249
|
+
end
|
1250
|
+
end
|
1251
|
+
info
|
1252
|
+
end
|
1253
|
+
|
1254
|
+
# Get information on all telemetry packets
|
1255
|
+
#
|
1256
|
+
# @return [Numeric] Receive count for the telemetry packet
|
1257
|
+
def get_all_tlm_info
|
1258
|
+
info = []
|
1259
|
+
System.telemetry.all.sort.each do |target_name, packets|
|
1260
|
+
packets.sort.each do |packet_name, packet|
|
1261
|
+
info << [target_name, packet_name, packet.received_count]
|
1262
|
+
end
|
1263
|
+
end
|
1264
|
+
info
|
1265
|
+
end
|
1266
|
+
|
1267
|
+
# Get the list of packet loggers.
|
1268
|
+
#
|
1269
|
+
# @return [Array<String>] Array containing the names of all packet loggers
|
1270
|
+
def get_packet_loggers
|
1271
|
+
return CmdTlmServer.packet_logging.all.keys
|
1272
|
+
end
|
1273
|
+
|
1274
|
+
# Get information about a packet logger.
|
1275
|
+
#
|
1276
|
+
# @param packet_logger_name [String] Name of the packet logger
|
1277
|
+
# @return [Array<<Array<String>, Boolean, Numeric, String, Numeric,
|
1278
|
+
# Boolean, Numeric, String, Numeric>] Array containing \[interfaces,
|
1279
|
+
# cmd logging enabled, cmd queue size, cmd filename, cmd file size,
|
1280
|
+
# tlm logging enabled, tlm queue size, tlm filename, tlm file size]
|
1281
|
+
# for the packet logger
|
1282
|
+
def get_packet_logger_info(packet_logger_name = 'DEFAULT')
|
1283
|
+
logger_info = CmdTlmServer.packet_logging.get_info(packet_logger_name)
|
1284
|
+
packet_log_writer_pair = CmdTlmServer.packet_logging.all[packet_logger_name.upcase]
|
1285
|
+
interfaces = []
|
1286
|
+
CmdTlmServer.interfaces.all.each do |interface_name, interface|
|
1287
|
+
if interface.packet_log_writer_pairs.include?(packet_log_writer_pair)
|
1288
|
+
interfaces << interface.name
|
1289
|
+
end
|
1290
|
+
end
|
1291
|
+
return [interfaces] + logger_info
|
1292
|
+
end
|
1293
|
+
|
1294
|
+
def get_all_packet_logger_info
|
1295
|
+
info = []
|
1296
|
+
CmdTlmServer.packet_logging.all.keys.sort.each do |packet_logger_name|
|
1297
|
+
packet_log_writer_pair = CmdTlmServer.packet_logging.all[packet_logger_name.upcase]
|
1298
|
+
interfaces = []
|
1299
|
+
CmdTlmServer.interfaces.all.each do |interface_name, interface|
|
1300
|
+
if interface.packet_log_writer_pairs.include?(packet_log_writer_pair)
|
1301
|
+
interfaces << interface.name
|
1302
|
+
end
|
1303
|
+
end
|
1304
|
+
info << [packet_logger_name, interfaces].concat(CmdTlmServer.packet_logging.get_info(packet_logger_name))
|
1305
|
+
end
|
1306
|
+
info
|
1307
|
+
end
|
1308
|
+
|
1309
|
+
# Get background task information
|
1310
|
+
#
|
1311
|
+
# @return [Array<Array<String, String, String>>] Array of Arrays containing
|
1312
|
+
# the background task name, thread status, and task status
|
1313
|
+
def get_background_tasks
|
1314
|
+
result = []
|
1315
|
+
CmdTlmServer.background_tasks.all.each do |task|
|
1316
|
+
if task.thread
|
1317
|
+
thread_status = task.thread.status
|
1318
|
+
thread_status = 'complete' if thread_status == false
|
1319
|
+
else
|
1320
|
+
thread_status = 'no thread'
|
1321
|
+
end
|
1322
|
+
result << [task.name, thread_status, task.status]
|
1323
|
+
end
|
1324
|
+
result
|
1325
|
+
end
|
1326
|
+
|
1327
|
+
# Start a background task
|
1328
|
+
def start_background_task(task_name)
|
1329
|
+
CmdTlmServer.background_tasks.all.each_with_index do |task, index|
|
1330
|
+
if task.name == task_name
|
1331
|
+
CmdTlmServer.background_tasks.start(index)
|
1332
|
+
break
|
1333
|
+
end
|
1334
|
+
end
|
1335
|
+
end
|
1336
|
+
|
1337
|
+
# Stop a background task
|
1338
|
+
def stop_background_task(task_name)
|
1339
|
+
CmdTlmServer.background_tasks.all.each_with_index do |task, index|
|
1340
|
+
if task.name == task_name
|
1341
|
+
CmdTlmServer.background_tasks.stop(index)
|
1342
|
+
break
|
1343
|
+
end
|
1344
|
+
end
|
1345
|
+
end
|
1346
|
+
|
1347
|
+
# Get JSON DRB information
|
1348
|
+
#
|
1349
|
+
# @return [String, Integer, Integer, Integer, Float, Integer] Server
|
1350
|
+
# status including Limits Set, API Port, JSON DRB num clients,
|
1351
|
+
# JSON DRB request count, JSON DRB average request time, and the total
|
1352
|
+
# number of Ruby threads in the server/
|
1353
|
+
def get_server_status
|
1354
|
+
[ System.limits_set.to_s,
|
1355
|
+
CmdTlmServer.mode == :CMD_TLM_SERVER ? System.ports['CTS_API'] : System.ports['REPLAY_API'],
|
1356
|
+
CmdTlmServer.json_drb.num_clients,
|
1357
|
+
CmdTlmServer.json_drb.request_count,
|
1358
|
+
CmdTlmServer.json_drb.average_request_time,
|
1359
|
+
Thread.list.length
|
1360
|
+
]
|
1361
|
+
end
|
1362
|
+
|
1363
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
1364
|
+
# is writing the command packet log
|
1365
|
+
# @return [String] The command packet log filename
|
1366
|
+
def get_cmd_log_filename(packet_log_writer_name = 'DEFAULT')
|
1367
|
+
CmdTlmServer.packet_logging.cmd_filename(packet_log_writer_name)
|
1368
|
+
end
|
1369
|
+
|
1370
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
1371
|
+
# is writing the telemetry packet log
|
1372
|
+
# @return [String] The telemetry packet log filename
|
1373
|
+
def get_tlm_log_filename(packet_log_writer_name = 'DEFAULT')
|
1374
|
+
CmdTlmServer.packet_logging.tlm_filename(packet_log_writer_name)
|
1375
|
+
end
|
1376
|
+
|
1377
|
+
# Start both command and telemetry packet logging.
|
1378
|
+
#
|
1379
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
1380
|
+
# is writing both the command and telemetry logs
|
1381
|
+
# @param label [String] Optional label to apply to both the command and
|
1382
|
+
# telemetry packet log filename
|
1383
|
+
def start_logging(packet_log_writer_name = 'ALL', label = nil)
|
1384
|
+
CmdTlmServer.packet_logging.start(packet_log_writer_name, label)
|
1385
|
+
nil
|
1386
|
+
end
|
1387
|
+
|
1388
|
+
# Stop both command and telemetry packet logging.
|
1389
|
+
#
|
1390
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
1391
|
+
# is writing both the command and telemetry logs
|
1392
|
+
def stop_logging(packet_log_writer_name = 'ALL')
|
1393
|
+
CmdTlmServer.packet_logging.stop(packet_log_writer_name)
|
1394
|
+
nil
|
1395
|
+
end
|
1396
|
+
|
1397
|
+
# Start command packet logging.
|
1398
|
+
#
|
1399
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
1400
|
+
# is writing the command logs
|
1401
|
+
# @param label [String] Optional label to apply to the command packet log
|
1402
|
+
# filename
|
1403
|
+
def start_cmd_log(packet_log_writer_name = 'ALL', label = nil)
|
1404
|
+
CmdTlmServer.packet_logging.start_cmd(packet_log_writer_name, label)
|
1405
|
+
nil
|
1406
|
+
end
|
1407
|
+
|
1408
|
+
# Start telemetry packet logging.
|
1409
|
+
#
|
1410
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
1411
|
+
# is writing the telemetry logs
|
1412
|
+
# @param label [String] Optional label to apply to the telemetry packet log
|
1413
|
+
# filename
|
1414
|
+
def start_tlm_log(packet_log_writer_name = 'ALL', label = nil)
|
1415
|
+
CmdTlmServer.packet_logging.start_tlm(packet_log_writer_name, label)
|
1416
|
+
nil
|
1417
|
+
end
|
1418
|
+
|
1419
|
+
# Stop command packet logging.
|
1420
|
+
#
|
1421
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
1422
|
+
# is writing the command log
|
1423
|
+
def stop_cmd_log(packet_log_writer_name = 'ALL')
|
1424
|
+
CmdTlmServer.packet_logging.stop_cmd(packet_log_writer_name)
|
1425
|
+
nil
|
1426
|
+
end
|
1427
|
+
|
1428
|
+
# Stop telemetry packet logging.
|
1429
|
+
#
|
1430
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
1431
|
+
# is writing the telemetry log
|
1432
|
+
def stop_tlm_log(packet_log_writer_name = 'ALL')
|
1433
|
+
CmdTlmServer.packet_logging.stop_tlm(packet_log_writer_name)
|
1434
|
+
nil
|
1435
|
+
end
|
1436
|
+
|
1437
|
+
# Starts raw logging for an interface
|
1438
|
+
#
|
1439
|
+
# @param interface_name [String] The name of the interface
|
1440
|
+
def start_raw_logging_interface(interface_name = 'ALL')
|
1441
|
+
CmdTlmServer.interfaces.start_raw_logging(interface_name)
|
1442
|
+
nil
|
1443
|
+
end
|
1444
|
+
|
1445
|
+
# Stop raw logging for an interface
|
1446
|
+
#
|
1447
|
+
# @param interface_name [String] The name of the interface
|
1448
|
+
def stop_raw_logging_interface(interface_name = 'ALL')
|
1449
|
+
CmdTlmServer.interfaces.stop_raw_logging(interface_name)
|
1450
|
+
nil
|
1451
|
+
end
|
1452
|
+
|
1453
|
+
# Starts raw logging for a router
|
1454
|
+
#
|
1455
|
+
# @param router_name [String] The name of the router
|
1456
|
+
def start_raw_logging_router(router_name = 'ALL')
|
1457
|
+
CmdTlmServer.routers.start_raw_logging(router_name)
|
1458
|
+
nil
|
1459
|
+
end
|
1460
|
+
|
1461
|
+
# Stops raw logging for a router
|
1462
|
+
#
|
1463
|
+
# @param router_name [String] The name of the router
|
1464
|
+
def stop_raw_logging_router(router_name = 'ALL')
|
1465
|
+
CmdTlmServer.routers.stop_raw_logging(router_name)
|
1466
|
+
nil
|
1467
|
+
end
|
1468
|
+
|
1469
|
+
# @return [String] The server message log filename
|
1470
|
+
def get_server_message_log_filename
|
1471
|
+
if CmdTlmServer.message_log
|
1472
|
+
CmdTlmServer.message_log.filename
|
1473
|
+
else
|
1474
|
+
nil
|
1475
|
+
end
|
1476
|
+
end
|
1477
|
+
|
1478
|
+
# Starts a new server message log
|
1479
|
+
def start_new_server_message_log
|
1480
|
+
CmdTlmServer.message_log.start if CmdTlmServer.message_log
|
1481
|
+
nil
|
1482
|
+
end
|
1483
|
+
|
1484
|
+
# Reload the default configuration
|
1485
|
+
def cmd_tlm_reload
|
1486
|
+
Thread.new do
|
1487
|
+
CmdTlmServer.instance.reload
|
1488
|
+
end
|
1489
|
+
nil
|
1490
|
+
end
|
1491
|
+
|
1492
|
+
# Clear server counters
|
1493
|
+
def cmd_tlm_clear_counters
|
1494
|
+
CmdTlmServer.clear_counters
|
1495
|
+
end
|
1496
|
+
|
1497
|
+
# Get the list of filenames in the outputs logs folder
|
1498
|
+
def get_output_logs_filenames(filter = '*tlm.bin')
|
1499
|
+
raise "Filter must not contain slashes" if filter.index('/') or filter.index('\\')
|
1500
|
+
Dir.glob(File.join(System.paths['LOGS'], '**', filter))
|
1501
|
+
end
|
1502
|
+
|
1503
|
+
# Select and start analyzing a file for replay
|
1504
|
+
#
|
1505
|
+
# filename [String] filename relative to output logs folder or absolute filename
|
1506
|
+
def replay_select_file(filename, packet_log_reader = "DEFAULT")
|
1507
|
+
CmdTlmServer.replay_backend.select_file(filename, packet_log_reader)
|
1508
|
+
end
|
1509
|
+
|
1510
|
+
# Get current replay status
|
1511
|
+
#
|
1512
|
+
# status, delay, filename, file_start, file_current, file_end, file_index, file_max_index
|
1513
|
+
def replay_status
|
1514
|
+
CmdTlmServer.replay_backend.status
|
1515
|
+
end
|
1516
|
+
|
1517
|
+
# Set the replay delay
|
1518
|
+
#
|
1519
|
+
# @param delay [Float] delay between packets in seconds 0.0 to 1.0, nil = REALTIME
|
1520
|
+
def replay_set_playback_delay(delay)
|
1521
|
+
CmdTlmServer.replay_backend.set_playback_delay(delay)
|
1522
|
+
end
|
1523
|
+
|
1524
|
+
# Replay start playing forward
|
1525
|
+
def replay_play
|
1526
|
+
CmdTlmServer.replay_backend.play
|
1527
|
+
end
|
1528
|
+
|
1529
|
+
# Replay start playing backward
|
1530
|
+
def replay_reverse_play
|
1531
|
+
CmdTlmServer.replay_backend.reverse_play
|
1532
|
+
end
|
1533
|
+
|
1534
|
+
# Replay stop
|
1535
|
+
def replay_stop
|
1536
|
+
CmdTlmServer.replay_backend.stop
|
1537
|
+
end
|
1538
|
+
|
1539
|
+
# Replay step forward one packet
|
1540
|
+
def replay_step_forward
|
1541
|
+
CmdTlmServer.replay_backend.step_forward
|
1542
|
+
end
|
1543
|
+
|
1544
|
+
# Replay step backward one packet
|
1545
|
+
def replay_step_back
|
1546
|
+
CmdTlmServer.replay_backend.step_back
|
1547
|
+
end
|
1548
|
+
|
1549
|
+
# Replay move to start of file
|
1550
|
+
def replay_move_start
|
1551
|
+
CmdTlmServer.replay_backend.move_start
|
1552
|
+
end
|
1553
|
+
|
1554
|
+
# Replay move to end of file
|
1555
|
+
def replay_move_end
|
1556
|
+
CmdTlmServer.replay_backend.move_end
|
1557
|
+
end
|
1558
|
+
|
1559
|
+
# Replay move to index
|
1560
|
+
#
|
1561
|
+
# @param index [Integer] packet index into file
|
1562
|
+
def replay_move_index(index)
|
1563
|
+
CmdTlmServer.replay_backend.move_index(index)
|
1564
|
+
end
|
1565
|
+
|
1566
|
+
# Get the organized list of available telemetry screens
|
1567
|
+
def get_screen_list(config_filename = nil, force_refresh = false)
|
1568
|
+
if force_refresh or !@tlm_viewer_config or @tlm_viewer_config_filename != config_filename
|
1569
|
+
@tlm_viewer_config = TlmViewerConfig.new(config_filename, true)
|
1570
|
+
@tlm_viewer_config_filename = config_filename
|
1571
|
+
end
|
1572
|
+
return @tlm_viewer_config.columns
|
1573
|
+
end
|
1574
|
+
|
1575
|
+
# Get a specific screen definition
|
1576
|
+
def get_screen_definition(screen_full_name, config_filename = nil, force_refresh = false)
|
1577
|
+
get_screen_list(config_filename, force_refresh) if force_refresh or !@tlm_viewer_config
|
1578
|
+
screen_info = @tlm_viewer_config.screen_infos[screen_full_name.upcase]
|
1579
|
+
raise "Unknown screen: #{screen_full_name.upcase}" unless screen_info
|
1580
|
+
screen_definition = File.read(screen_info.filename)
|
1581
|
+
return screen_definition
|
1582
|
+
end
|
1583
|
+
|
1584
|
+
# Get a saved configuration zip file
|
1585
|
+
def get_saved_config(configuration_name = nil)
|
1586
|
+
configuration_name ||= System.initial_config.name if System.initial_config
|
1587
|
+
if configuration_name
|
1588
|
+
configuration = System.instance.find_configuration(configuration_name)
|
1589
|
+
if configuration and File.exist?(configuration) and configuration[-4..-1] == ".zip"
|
1590
|
+
filename = File.basename(configuration)
|
1591
|
+
data = ''
|
1592
|
+
File.open(configuration, 'rb') {|file| data = file.read}
|
1593
|
+
return [filename, data]
|
1594
|
+
end
|
1595
|
+
end
|
1596
|
+
return nil
|
1597
|
+
end
|
1598
|
+
|
1599
|
+
private
|
1600
|
+
|
1601
|
+
def cmd_implementation(range_check, hazardous_check, raw, method_name, *args)
|
1602
|
+
case args.length
|
1603
|
+
when 1
|
1604
|
+
target_name, cmd_name, cmd_params = extract_fields_from_cmd_text(args[0])
|
1605
|
+
when 2, 3
|
1606
|
+
target_name = args[0]
|
1607
|
+
cmd_name = args[1]
|
1608
|
+
if args.length == 2
|
1609
|
+
cmd_params = {}
|
1610
|
+
else
|
1611
|
+
cmd_params = args[2]
|
1612
|
+
end
|
1613
|
+
else
|
1614
|
+
# Invalid number of arguments
|
1615
|
+
raise "ERROR: Invalid number of arguments (#{args.length}) passed to #{method_name}()"
|
1616
|
+
end
|
1617
|
+
|
1618
|
+
# Build the command
|
1619
|
+
begin
|
1620
|
+
command = System.commands.build_cmd(target_name, cmd_name, cmd_params, range_check, raw)
|
1621
|
+
rescue => e
|
1622
|
+
Logger.error e.message
|
1623
|
+
raise e
|
1624
|
+
end
|
1625
|
+
|
1626
|
+
if hazardous_check
|
1627
|
+
hazardous, hazardous_description = System.commands.cmd_pkt_hazardous?(command)
|
1628
|
+
if hazardous
|
1629
|
+
error = HazardousError.new
|
1630
|
+
error.target_name = target_name
|
1631
|
+
error.cmd_name = cmd_name
|
1632
|
+
error.cmd_params = cmd_params
|
1633
|
+
error.hazardous_description = hazardous_description
|
1634
|
+
raise error
|
1635
|
+
end
|
1636
|
+
end
|
1637
|
+
|
1638
|
+
# Send the command
|
1639
|
+
@disconnect = false unless defined? @disconnect
|
1640
|
+
CmdTlmServer.commanding.send_command_to_target(target_name, command) unless @disconnect
|
1641
|
+
|
1642
|
+
[target_name, cmd_name, cmd_params]
|
1643
|
+
end
|
1644
|
+
|
1645
|
+
def tlm_process_args(args, function_name)
|
1646
|
+
case args.length
|
1647
|
+
when 1
|
1648
|
+
target_name, packet_name, item_name = extract_fields_from_tlm_text(args[0])
|
1649
|
+
when 3
|
1650
|
+
target_name = args[0]
|
1651
|
+
packet_name = args[1]
|
1652
|
+
item_name = args[2]
|
1653
|
+
else
|
1654
|
+
# Invalid number of arguments
|
1655
|
+
raise "ERROR: Invalid number of arguments (#{args.length}) passed to #{function_name}()"
|
1656
|
+
end
|
1657
|
+
return [target_name, packet_name, item_name]
|
1658
|
+
end
|
1659
|
+
|
1660
|
+
def tlm_variable_process_args(args, function_name)
|
1661
|
+
case args.length
|
1662
|
+
when 2
|
1663
|
+
target_name, packet_name, item_name = extract_fields_from_tlm_text(args[0])
|
1664
|
+
value_type = args[1].to_s.intern
|
1665
|
+
when 4
|
1666
|
+
target_name = args[0]
|
1667
|
+
packet_name = args[1]
|
1668
|
+
item_name = args[2]
|
1669
|
+
value_type = args[3].to_s.intern
|
1670
|
+
else
|
1671
|
+
# Invalid number of arguments
|
1672
|
+
raise "ERROR: Invalid number of arguments (#{args.length}) passed to #{function_name}()"
|
1673
|
+
end
|
1674
|
+
return [target_name, packet_name, item_name, value_type]
|
1675
|
+
end
|
1676
|
+
|
1677
|
+
def set_tlm_process_args(args, function_name)
|
1678
|
+
case args.length
|
1679
|
+
when 1
|
1680
|
+
target_name, packet_name, item_name, value = extract_fields_from_set_tlm_text(args[0])
|
1681
|
+
when 4
|
1682
|
+
target_name = args[0]
|
1683
|
+
packet_name = args[1]
|
1684
|
+
item_name = args[2]
|
1685
|
+
value = args[3]
|
1686
|
+
else
|
1687
|
+
# Invalid number of arguments
|
1688
|
+
raise "ERROR: Invalid number of arguments (#{args.length}) passed to #{function_name}()"
|
1689
|
+
end
|
1690
|
+
return [target_name, packet_name, item_name, value]
|
1691
|
+
end
|
1692
|
+
|
1693
|
+
end # module Api
|
1694
|
+
end # module Cosmos
|