cosmos 3.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/.gitignore +48 -0
- data/.travis.yml +5 -0
- data/Gemfile +5 -0
- data/Guardfile +27 -0
- data/LICENSE.txt +879 -0
- data/Manifest.txt +1112 -0
- data/README.md +42 -0
- data/Rakefile +214 -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 +34 -0
- data/autohotkey/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +41 -0
- data/autohotkey/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +15 -0
- data/autohotkey/config/targets/COSMOS/cmd_tlm_server.txt +6 -0
- data/autohotkey/config/targets/COSMOS/target.txt +5 -0
- data/autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt +121 -0
- data/autohotkey/config/targets/INST/cmd_tlm/inst_tlm.txt +247 -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 +294 -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/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 +49 -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/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/SYSTEM/cmd_tlm/limits_groups.txt +7 -0
- data/autohotkey/config/targets/SYSTEM/screens/error.txt +11 -0
- data/autohotkey/config/tools/cmd_sender/cmd_sender.txt +1 -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/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 +8 -0
- data/autohotkey/config/tools/table_manager/OneDimensionalTable_def.txt +19 -0
- data/autohotkey/config/tools/table_manager/TwoDimensionalTable_def.txt +248 -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/example_background_task.rb +42 -0
- data/autohotkey/lib/user_version.rb +3 -0
- data/autohotkey/outputs/handbooks/assets/css/bootstrap-theme.css +397 -0
- data/autohotkey/outputs/handbooks/assets/css/bootstrap-theme.min.css +7 -0
- data/autohotkey/outputs/handbooks/assets/css/bootstrap.css +7118 -0
- data/autohotkey/outputs/handbooks/assets/css/bootstrap.min.css +7 -0
- data/autohotkey/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/autohotkey/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/autohotkey/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/autohotkey/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/autohotkey/outputs/handbooks/assets/js/bootstrap.js +2006 -0
- data/autohotkey/outputs/handbooks/assets/js/bootstrap.min.js +7 -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/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 +67 -0
- data/autohotkey/procedures/example_test2.rb +74 -0
- data/autohotkey/procedures/script_test.rb +17 -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/CmdTlmServer +14 -0
- data/autohotkey/tools/CmdTlmServerAHK +28 -0
- data/autohotkey/tools/CmdTlmServerAHK2 +17 -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 +20 -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/Replay.bat +59 -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 +30 -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/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 +18 -0
- data/autohotkey/tools/TlmViewerAHK3 +18 -0
- data/autohotkey/tools/TlmViewerAHK4 +18 -0
- data/autohotkey/tools/TlmViewerAHK5 +18 -0
- data/autohotkey/tools/autohotkey.rb +37 -0
- data/autohotkey/tools/cmd_extractor.ahk +27 -0
- data/autohotkey/tools/cmd_sender.ahk +162 -0
- data/autohotkey/tools/cmd_tlm_server.ahk +89 -0
- data/autohotkey/tools/cmd_tlm_server2.ahk +45 -0
- data/autohotkey/tools/data_viewer.ahk +135 -0
- data/autohotkey/tools/handbook_creator.ahk +23 -0
- data/autohotkey/tools/launcher.ahk +41 -0
- data/autohotkey/tools/limits_monitor.ahk +70 -0
- data/autohotkey/tools/open_gl_builder.ahk +134 -0
- data/autohotkey/tools/packet_viewer.ahk +143 -0
- data/autohotkey/tools/packet_viewer2.ahk +9 -0
- data/autohotkey/tools/replay.ahk +98 -0
- data/autohotkey/tools/script_runner.ahk +589 -0
- data/autohotkey/tools/script_runner2.ahk +31 -0
- data/autohotkey/tools/table_manager.ahk +220 -0
- data/autohotkey/tools/test_runner.ahk +259 -0
- data/autohotkey/tools/test_runner2.ahk +52 -0
- data/autohotkey/tools/test_runner3.ahk +13 -0
- data/autohotkey/tools/tlm_extractor.ahk +272 -0
- data/autohotkey/tools/tlm_grapher.ahk +642 -0
- data/autohotkey/tools/tlm_grapher2.ahk +115 -0
- data/autohotkey/tools/tlm_grapher3.ahk +24 -0
- data/autohotkey/tools/tlm_viewer.ahk +133 -0
- data/autohotkey/tools/tlm_viewer2.ahk +49 -0
- data/autohotkey/tools/tlm_viewer4.ahk +4 -0
- data/autohotkey/tools/tlm_viewer5.ahk +20 -0
- data/autohotkey/userpath.txt +1 -0
- data/bin/cosmos +96 -0
- data/bin/cstol_converter +1166 -0
- data/bin/exchndl20.dll +0 -0
- data/bin/exchndl21.dll +0 -0
- data/bin/mgwhelp.dll +0 -0
- data/bin/rubysloc +85 -0
- data/cosmos.gemspec +98 -0
- data/data/COSMOS_64x64.bmp +0 -0
- data/data/COSMOS_64x64.ico +0 -0
- data/data/COSMOS_64x64.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/copy.png +0 -0
- data/data/cosmos.xcf +0 -0
- data/data/cosmos_word.gif +0 -0
- data/data/crc.txt +305 -0
- data/data/cts.png +0 -0
- data/data/cut.png +0 -0
- data/data/data_viewer.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/launcher.png +0 -0
- data/data/legal.gif +0 -0
- data/data/legal.txt +9 -0
- data/data/limits_monitor.png +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/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/demo/Gemfile +5 -0
- data/demo/Launcher +15 -0
- data/demo/Launcher.bat +59 -0
- data/demo/Rakefile +61 -0
- data/demo/config/data/attitude.bin +0 -0
- data/demo/config/data/crc.txt +206 -0
- data/demo/config/data/diamond.STL +58 -0
- data/demo/config/data/groundoff.gif +0 -0
- data/demo/config/data/groundon.gif +0 -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 +4 -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 +34 -0
- data/demo/config/system/system2.txt +33 -0
- data/demo/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +41 -0
- data/demo/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +15 -0
- data/demo/config/targets/COSMOS/cmd_tlm_server.txt +6 -0
- data/demo/config/targets/COSMOS/screens/limits_change.txt +20 -0
- data/demo/config/targets/COSMOS/screens/version.txt +19 -0
- data/demo/config/targets/COSMOS/target.txt +11 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm/example_cmds.txt +2 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm/example_tlm.txt +3 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm_server.txt +6 -0
- data/demo/config/targets/EXAMPLE/lib/example_interface.rb +22 -0
- data/demo/config/targets/EXAMPLE/target.txt +7 -0
- data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +121 -0
- data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +247 -0
- data/demo/config/targets/INST/cmd_tlm_server.txt +5 -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/sim_inst.rb +294 -0
- data/demo/config/targets/INST/screens/adcs.txt +46 -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 +30 -0
- data/demo/config/targets/INST/screens/graphs.txt +14 -0
- data/demo/config/targets/INST/screens/ground.txt +25 -0
- data/demo/config/targets/INST/screens/hs.txt +44 -0
- data/demo/config/targets/INST/screens/latest.txt +23 -0
- data/demo/config/targets/INST/screens/other.txt +29 -0
- data/demo/config/targets/INST/screens/tabs.txt +70 -0
- data/demo/config/targets/INST/target.txt +33 -0
- data/demo/config/targets/META/cmd_tlm/meta_cmd.txt +10 -0
- data/demo/config/targets/META/cmd_tlm/meta_tlm.txt +13 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +7 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/override.txt +29 -0
- data/demo/config/targets/SYSTEM/screens/status.txt +12 -0
- data/demo/config/targets/TEMPLATED/cmd_tlm/templated_cmds.txt +12 -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 +48 -0
- data/demo/config/targets/TEMPLATED/target.txt +6 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt +33 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt +29 -0
- data/demo/config/tools/data_viewer/data_viewer.txt +11 -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 +86 -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 +80 -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.txt +45 -0
- data/demo/config/tools/launcher/launcher2.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 +3 -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 +25 -0
- data/demo/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +25 -0
- data/demo/config/tools/table_manager/PPSSelectionTable_def.txt +8 -0
- data/demo/config/tools/table_manager/TLMMonitoringTable_def.txt +248 -0
- data/demo/config/tools/test_runner/test_runner.txt +17 -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/example_background_task.rb +52 -0
- data/demo/lib/example_target.rb +108 -0
- data/demo/lib/scpi_target.rb +74 -0
- data/demo/lib/user_version.rb +3 -0
- data/demo/outputs/handbooks/assets/css/bootstrap-theme.css +397 -0
- data/demo/outputs/handbooks/assets/css/bootstrap-theme.min.css +7 -0
- data/demo/outputs/handbooks/assets/css/bootstrap.css +7118 -0
- data/demo/outputs/handbooks/assets/css/bootstrap.min.css +7 -0
- data/demo/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/demo/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/demo/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/demo/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/demo/outputs/handbooks/assets/img/ball_logo.bmp +0 -0
- data/demo/outputs/handbooks/assets/img/ball_logo.gif +0 -0
- data/demo/outputs/handbooks/assets/img/ball_logo.jpg +0 -0
- data/demo/outputs/handbooks/assets/js/bootstrap.js +2006 -0
- data/demo/outputs/handbooks/assets/js/bootstrap.min.js +7 -0
- data/demo/outputs/handbooks/assets/js/html5shiv.js +8 -0
- data/demo/outputs/handbooks/assets/js/jquery-1.10.2.min.js +6 -0
- data/demo/outputs/handbooks/assets/js/respond.min.js +6 -0
- data/demo/outputs/logs/README.txt +1 -0
- data/demo/outputs/saved_config/README.txt +1 -0
- data/demo/outputs/tables/README.txt +1 -0
- data/demo/outputs/tmp/README.txt +1 -0
- data/demo/procedures/checks.rb +11 -0
- data/demo/procedures/clear_util.rb +7 -0
- data/demo/procedures/collect.rb +18 -0
- data/demo/procedures/collect_util.rb +14 -0
- data/demo/procedures/cosmos_api_test.rb +293 -0
- data/demo/procedures/disconnect.rb +29 -0
- data/demo/procedures/example_test.rb +182 -0
- data/demo/procedures/plot_test.rb +8 -0
- data/demo/procedures/run_example_test.rb +3 -0
- data/demo/procedures/test.rb +51 -0
- data/demo/tools/CmdExtractor +15 -0
- data/demo/tools/CmdExtractor.bat +59 -0
- data/demo/tools/CmdSender +15 -0
- data/demo/tools/CmdSender.bat +59 -0
- data/demo/tools/CmdTlmServer +15 -0
- data/demo/tools/CmdTlmServer.bat +59 -0
- data/demo/tools/DataViewer +15 -0
- data/demo/tools/DataViewer.bat +59 -0
- data/demo/tools/ExampleTarget +15 -0
- data/demo/tools/ExampleTarget.bat +59 -0
- data/demo/tools/HandbookCreator +15 -0
- data/demo/tools/HandbookCreator.bat +61 -0
- data/demo/tools/Launcher +15 -0
- data/demo/tools/Launcher.bat +59 -0
- data/demo/tools/LimitsMonitor +15 -0
- data/demo/tools/LimitsMonitor.bat +59 -0
- data/demo/tools/OpenGLBuilder +15 -0
- data/demo/tools/OpenGLBuilder.bat +59 -0
- data/demo/tools/PacketViewer +15 -0
- data/demo/tools/PacketViewer.bat +59 -0
- data/demo/tools/Replay +15 -0
- data/demo/tools/Replay.bat +59 -0
- data/demo/tools/ScpiTarget +15 -0
- data/demo/tools/ScpiTarget.bat +59 -0
- data/demo/tools/ScriptRunner +15 -0
- data/demo/tools/ScriptRunner.bat +59 -0
- data/demo/tools/TableManager +15 -0
- data/demo/tools/TableManager.bat +59 -0
- data/demo/tools/TestRunner +15 -0
- data/demo/tools/TestRunner.bat +59 -0
- data/demo/tools/TlmExtractor +15 -0
- data/demo/tools/TlmExtractor.bat +59 -0
- data/demo/tools/TlmGrapher +15 -0
- data/demo/tools/TlmGrapher.bat +59 -0
- data/demo/tools/TlmViewer +15 -0
- data/demo/tools/TlmViewer.bat +59 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +15 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/CmdSender.app/Contents/MacOS/main.sh +6 -0
- data/demo/tools/mac/CmdSender.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 +15 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +6 -0
- data/demo/tools/mac/CmdTlmServer.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 +15 -0
- data/demo/tools/mac/DataViewer.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/Launcher.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/Replay.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/TableManager.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/TestRunner.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/demo/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +6 -0
- data/demo/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/userpath.txt +1 -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 +237 -0
- data/ext/cosmos/ext/config_parser/extconf.rb +13 -0
- data/ext/cosmos/ext/cosmos_io/cosmos_io.c +117 -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 +501 -0
- data/ext/cosmos/ext/low_fragmentation_array/extconf.rb +13 -0
- data/ext/cosmos/ext/low_fragmentation_array/low_fragmentation_array.c +261 -0
- data/ext/cosmos/ext/packet/extconf.rb +13 -0
- data/ext/cosmos/ext/packet/packet.c +339 -0
- data/ext/cosmos/ext/platform/extconf.rb +13 -0
- data/ext/cosmos/ext/platform/platform.c +82 -0
- data/ext/cosmos/ext/polynomial_conversion/extconf.rb +13 -0
- data/ext/cosmos/ext/polynomial_conversion/polynomial_conversion.c +73 -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 +894 -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 +306 -0
- data/install/Gemfile +5 -0
- data/install/Launcher +14 -0
- data/install/Launcher.bat +59 -0
- data/install/Rakefile +61 -0
- data/install/config/data/README.txt +1 -0
- data/install/config/data/crc.txt +133 -0
- data/install/config/system/system.txt +29 -0
- data/install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +41 -0
- data/install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +15 -0
- data/install/config/targets/COSMOS/cmd_tlm_server.txt +6 -0
- data/install/config/targets/COSMOS/screens/limits_change.txt +20 -0
- data/install/config/targets/COSMOS/screens/version.txt +19 -0
- data/install/config/targets/COSMOS/target.txt +9 -0
- data/install/config/targets/SYSTEM/README.txt +1 -0
- data/install/config/tools/cmd_tlm_server/cmd_tlm_server.txt +2 -0
- data/install/config/tools/data_viewer/data_viewer.txt +4 -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 +39 -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/handbooks/assets/css/bootstrap-theme.css +397 -0
- data/install/outputs/handbooks/assets/css/bootstrap-theme.min.css +7 -0
- data/install/outputs/handbooks/assets/css/bootstrap.css +7118 -0
- data/install/outputs/handbooks/assets/css/bootstrap.min.css +7 -0
- data/install/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/install/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.svg +229 -0
- data/install/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/install/outputs/handbooks/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/install/outputs/handbooks/assets/img/ball_logo.bmp +0 -0
- data/install/outputs/handbooks/assets/img/ball_logo.gif +0 -0
- data/install/outputs/handbooks/assets/img/ball_logo.jpg +0 -0
- data/install/outputs/handbooks/assets/js/bootstrap.js +2006 -0
- data/install/outputs/handbooks/assets/js/bootstrap.min.js +7 -0
- data/install/outputs/handbooks/assets/js/html5shiv.js +8 -0
- data/install/outputs/handbooks/assets/js/jquery-1.10.2.min.js +6 -0
- data/install/outputs/handbooks/assets/js/respond.min.js +6 -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 +15 -0
- data/install/tools/CmdExtractor.bat +59 -0
- data/install/tools/CmdSender +15 -0
- data/install/tools/CmdSender.bat +59 -0
- data/install/tools/CmdTlmServer +15 -0
- data/install/tools/CmdTlmServer.bat +59 -0
- data/install/tools/DataViewer +15 -0
- data/install/tools/DataViewer.bat +59 -0
- data/install/tools/HandbookCreator +15 -0
- data/install/tools/HandbookCreator.bat +61 -0
- data/install/tools/Launcher +15 -0
- data/install/tools/Launcher.bat +59 -0
- data/install/tools/LimitsMonitor +15 -0
- data/install/tools/LimitsMonitor.bat +59 -0
- data/install/tools/OpenGLBuilder +15 -0
- data/install/tools/OpenGLBuilder.bat +59 -0
- data/install/tools/PacketViewer +15 -0
- data/install/tools/PacketViewer.bat +59 -0
- data/install/tools/Replay +15 -0
- data/install/tools/Replay.bat +59 -0
- data/install/tools/ScriptRunner +15 -0
- data/install/tools/ScriptRunner.bat +59 -0
- data/install/tools/TableManager +15 -0
- data/install/tools/TableManager.bat +59 -0
- data/install/tools/TestRunner +15 -0
- data/install/tools/TestRunner.bat +59 -0
- data/install/tools/TlmExtractor +15 -0
- data/install/tools/TlmExtractor.bat +59 -0
- data/install/tools/TlmGrapher +15 -0
- data/install/tools/TlmGrapher.bat +59 -0
- data/install/tools/TlmViewer +15 -0
- data/install/tools/TlmViewer.bat +59 -0
- data/install/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
- data/install/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +15 -0
- data/install/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/CmdSender.app/Contents/MacOS/main.sh +6 -0
- data/install/tools/mac/CmdSender.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 +15 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +6 -0
- data/install/tools/mac/CmdTlmServer.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 +15 -0
- data/install/tools/mac/DataViewer.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/Launcher.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/Replay.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/TableManager.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/TestRunner.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +6 -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 +15 -0
- data/install/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +6 -0
- data/install/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/install/userpath.txt +1 -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 +324 -0
- data/lib/cosmos/conversions/conversion.rb +47 -0
- data/lib/cosmos/conversions/generic_conversion.rb +55 -0
- data/lib/cosmos/conversions/new_packet_log_conversion.rb +45 -0
- data/lib/cosmos/conversions/polynomial_conversion.rb +57 -0
- data/lib/cosmos/conversions/processor_conversion.rb +46 -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 +128 -0
- data/lib/cosmos/conversions/unix_time_conversion.rb +50 -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 +13 -0
- data/lib/cosmos/core_ext/array.rb +354 -0
- data/lib/cosmos/core_ext/class.rb +51 -0
- data/lib/cosmos/core_ext/cosmos_io.rb +29 -0
- data/lib/cosmos/core_ext/exception.rb +52 -0
- data/lib/cosmos/core_ext/file.rb +75 -0
- data/lib/cosmos/core_ext/hash.rb +28 -0
- data/lib/cosmos/core_ext/io.rb +75 -0
- data/lib/cosmos/core_ext/kernel.rb +38 -0
- data/lib/cosmos/core_ext/math.rb +119 -0
- data/lib/cosmos/core_ext/matrix.rb +146 -0
- data/lib/cosmos/core_ext/objectspace.rb +29 -0
- data/lib/cosmos/core_ext/range.rb +22 -0
- data/lib/cosmos/core_ext/socket.rb +32 -0
- data/lib/cosmos/core_ext/string.rb +310 -0
- data/lib/cosmos/core_ext/stringio.rb +24 -0
- data/lib/cosmos/core_ext/time.rb +446 -0
- data/lib/cosmos/core_ext.rb +18 -0
- data/lib/cosmos/ext/.keep +0 -0
- data/lib/cosmos/gui/choosers/combobox_chooser.rb +130 -0
- data/lib/cosmos/gui/choosers/file_chooser.rb +68 -0
- data/lib/cosmos/gui/choosers/float_chooser.rb +82 -0
- data/lib/cosmos/gui/choosers/integer_chooser.rb +80 -0
- data/lib/cosmos/gui/choosers/string_chooser.rb +53 -0
- data/lib/cosmos/gui/choosers/telemetry_chooser.rb +317 -0
- data/lib/cosmos/gui/dialogs/about_dialog.rb +128 -0
- data/lib/cosmos/gui/dialogs/calendar_dialog.rb +136 -0
- data/lib/cosmos/gui/dialogs/cmd_details_dialog.rb +52 -0
- data/lib/cosmos/gui/dialogs/cmd_tlm_raw_dialog.rb +149 -0
- data/lib/cosmos/gui/dialogs/details_dialog.rb +174 -0
- data/lib/cosmos/gui/dialogs/exception_dialog.rb +97 -0
- data/lib/cosmos/gui/dialogs/exception_list_dialog.rb +59 -0
- data/lib/cosmos/gui/dialogs/find_replace_dialog.rb +196 -0
- data/lib/cosmos/gui/dialogs/legal_dialog.rb +168 -0
- data/lib/cosmos/gui/dialogs/packet_log_dialog.rb +118 -0
- data/lib/cosmos/gui/dialogs/progress_dialog.rb +262 -0
- data/lib/cosmos/gui/dialogs/pry_dialog.rb +161 -0
- data/lib/cosmos/gui/dialogs/scroll_text_dialog.rb +37 -0
- data/lib/cosmos/gui/dialogs/select_dialog.rb +54 -0
- data/lib/cosmos/gui/dialogs/set_tlm_dialog.rb +131 -0
- data/lib/cosmos/gui/dialogs/splash.rb +113 -0
- data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +206 -0
- data/lib/cosmos/gui/dialogs/tlm_edit_dialog.rb +81 -0
- data/lib/cosmos/gui/line_graph/line_graph.rb +456 -0
- data/lib/cosmos/gui/line_graph/line_graph_dialog.rb +34 -0
- data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +494 -0
- data/lib/cosmos/gui/line_graph/line_graph_popups.rb +116 -0
- data/lib/cosmos/gui/line_graph/line_graph_scaling.rb +460 -0
- data/lib/cosmos/gui/line_graph/line_graph_script.rb +26 -0
- data/lib/cosmos/gui/line_graph/lines.rb +290 -0
- data/lib/cosmos/gui/line_graph/overview_graph.rb +459 -0
- data/lib/cosmos/gui/opengl/earth_model.rb +22 -0
- data/lib/cosmos/gui/opengl/gl_bounds.rb +67 -0
- data/lib/cosmos/gui/opengl/gl_light.rb +39 -0
- data/lib/cosmos/gui/opengl/gl_material.rb +29 -0
- data/lib/cosmos/gui/opengl/gl_scene.rb +72 -0
- data/lib/cosmos/gui/opengl/gl_shape.rb +146 -0
- data/lib/cosmos/gui/opengl/gl_viewer.rb +712 -0
- data/lib/cosmos/gui/opengl/gl_viewport.rb +35 -0
- data/lib/cosmos/gui/opengl/moon_model.rb +22 -0
- data/lib/cosmos/gui/opengl/opengl.rb +8 -0
- data/lib/cosmos/gui/opengl/stl_reader.rb +211 -0
- data/lib/cosmos/gui/opengl/stl_shape.rb +124 -0
- data/lib/cosmos/gui/opengl/texture_mapped_sphere.rb +202 -0
- data/lib/cosmos/gui/qt.rb +786 -0
- data/lib/cosmos/gui/qt_tool.rb +373 -0
- data/lib/cosmos/gui/text/completion.rb +381 -0
- data/lib/cosmos/gui/text/completion_line_edit.rb +30 -0
- data/lib/cosmos/gui/text/completion_text_edit.rb +179 -0
- data/lib/cosmos/gui/text/ruby_editor.rb +395 -0
- data/lib/cosmos/gui/utilities/screenshot.rb +25 -0
- data/lib/cosmos/gui/utilities/script_module_gui.rb +203 -0
- data/lib/cosmos/gui/widgets/full_text_search_line_edit.rb +161 -0
- data/lib/cosmos/gui/widgets/packet_log_frame.rb +305 -0
- data/lib/cosmos/gui/widgets/realtime_button_bar.rb +98 -0
- data/lib/cosmos/interfaces/cmd_tlm_server_interface.rb +149 -0
- data/lib/cosmos/interfaces/interface.rb +213 -0
- data/lib/cosmos/interfaces/linc_interface.rb +360 -0
- data/lib/cosmos/interfaces/serial_interface.rb +76 -0
- data/lib/cosmos/interfaces/simulated_target_interface.rb +128 -0
- data/lib/cosmos/interfaces/stream_interface.rb +156 -0
- data/lib/cosmos/interfaces/tcpip_client_interface.rb +60 -0
- data/lib/cosmos/interfaces/tcpip_server_interface.rb +154 -0
- data/lib/cosmos/interfaces/udp_interface.rb +173 -0
- data/lib/cosmos/interfaces.rb +11 -0
- data/lib/cosmos/io/buffered_file.rb +11 -0
- data/lib/cosmos/io/cosmos_snmp.rb +50 -0
- data/lib/cosmos/io/io_multiplexer.rb +89 -0
- data/lib/cosmos/io/json_drb.rb +320 -0
- data/lib/cosmos/io/json_drb_object.rb +137 -0
- data/lib/cosmos/io/json_rpc.rb +365 -0
- data/lib/cosmos/io/posix_serial_driver.rb +145 -0
- data/lib/cosmos/io/raw_logger.rb +174 -0
- data/lib/cosmos/io/raw_logger_pair.rb +71 -0
- data/lib/cosmos/io/serial_driver.rb +85 -0
- data/lib/cosmos/io/stderr.rb +36 -0
- data/lib/cosmos/io/stdout.rb +36 -0
- data/lib/cosmos/io/tcpip_server.rb +532 -0
- data/lib/cosmos/io/udp_sockets.rb +152 -0
- data/lib/cosmos/io/win32_serial_driver.rb +147 -0
- data/lib/cosmos/packet_logs/meta_packet_log_writer.rb +107 -0
- data/lib/cosmos/packet_logs/packet_log_reader.rb +439 -0
- data/lib/cosmos/packet_logs/packet_log_writer.rb +309 -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 +921 -0
- data/lib/cosmos/packets/commands.rb +291 -0
- data/lib/cosmos/packets/limits.rb +263 -0
- data/lib/cosmos/packets/limits_response.rb +38 -0
- data/lib/cosmos/packets/packet.rb +699 -0
- data/lib/cosmos/packets/packet_config.rb +1034 -0
- data/lib/cosmos/packets/packet_item.rb +317 -0
- data/lib/cosmos/packets/packet_item_limits.rb +128 -0
- data/lib/cosmos/packets/structure.rb +386 -0
- data/lib/cosmos/packets/structure_item.rb +233 -0
- data/lib/cosmos/packets/telemetry.rb +317 -0
- data/lib/cosmos/processors/new_packet_log_processor.rb +34 -0
- data/lib/cosmos/processors/processor.rb +71 -0
- data/lib/cosmos/processors/statistics_processor.rb +65 -0
- data/lib/cosmos/processors/watermark_processor.rb +44 -0
- data/lib/cosmos/processors.rb +6 -0
- data/lib/cosmos/script/extract.rb +115 -0
- data/lib/cosmos/script/script.rb +1493 -0
- data/lib/cosmos/script.rb +9 -0
- data/lib/cosmos/streams/burst_stream_protocol.rb +25 -0
- data/lib/cosmos/streams/fixed_stream_protocol.rb +111 -0
- data/lib/cosmos/streams/length_stream_protocol.rb +140 -0
- data/lib/cosmos/streams/preidentified_stream_protocol.rb +118 -0
- data/lib/cosmos/streams/serial_stream.rb +143 -0
- data/lib/cosmos/streams/stream.rb +57 -0
- data/lib/cosmos/streams/stream_protocol.rb +369 -0
- data/lib/cosmos/streams/tcpip_client_stream.rb +77 -0
- data/lib/cosmos/streams/tcpip_socket_stream.rb +139 -0
- data/lib/cosmos/streams/template_stream_protocol.rb +140 -0
- data/lib/cosmos/streams/terminated_stream_protocol.rb +81 -0
- data/lib/cosmos/system/system.rb +558 -0
- data/lib/cosmos/system/target.rb +178 -0
- data/lib/cosmos/system.rb +4 -0
- data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +253 -0
- data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +716 -0
- data/lib/cosmos/tools/cmd_sender/cmd_sender_item_delegate.rb +77 -0
- data/lib/cosmos/tools/cmd_sender/cmd_sender_text_edit.rb +70 -0
- data/lib/cosmos/tools/cmd_tlm_server/api.rb +940 -0
- data/lib/cosmos/tools/cmd_tlm_server/background_task.rb +46 -0
- data/lib/cosmos/tools/cmd_tlm_server/background_tasks.rb +63 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +496 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +241 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +1008 -0
- data/lib/cosmos/tools/cmd_tlm_server/commanding.rb +112 -0
- data/lib/cosmos/tools/cmd_tlm_server/connections.rb +176 -0
- data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +221 -0
- data/lib/cosmos/tools/cmd_tlm_server/interfaces.rb +127 -0
- data/lib/cosmos/tools/cmd_tlm_server/packet_logging.rb +132 -0
- data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +66 -0
- data/lib/cosmos/tools/cmd_tlm_server/routers.rb +97 -0
- data/lib/cosmos/tools/data_viewer/data_viewer.rb +600 -0
- data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +167 -0
- data/lib/cosmos/tools/data_viewer/dump_component.rb +40 -0
- data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +149 -0
- data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +360 -0
- data/lib/cosmos/tools/launcher/launcher.rb +184 -0
- data/lib/cosmos/tools/launcher/launcher_config.rb +167 -0
- data/lib/cosmos/tools/launcher/launcher_multitool.rb +41 -0
- data/lib/cosmos/tools/launcher/launcher_tool.rb +104 -0
- data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +768 -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 +525 -0
- data/lib/cosmos/tools/replay/replay.rb +488 -0
- data/lib/cosmos/tools/replay/replay_server.rb +91 -0
- data/lib/cosmos/tools/script_runner/script_audit.rb +139 -0
- data/lib/cosmos/tools/script_runner/script_runner.rb +914 -0
- data/lib/cosmos/tools/script_runner/script_runner_config.rb +40 -0
- data/lib/cosmos/tools/script_runner/script_runner_frame.rb +1859 -0
- data/lib/cosmos/tools/table_manager/table.rb +70 -0
- data/lib/cosmos/tools/table_manager/table_config.rb +764 -0
- data/lib/cosmos/tools/table_manager/table_item.rb +74 -0
- data/lib/cosmos/tools/table_manager/table_manager.rb +1065 -0
- data/lib/cosmos/tools/table_manager/table_manager_core.rb +539 -0
- data/lib/cosmos/tools/test_runner/results_writer.rb +283 -0
- data/lib/cosmos/tools/test_runner/test.rb +480 -0
- data/lib/cosmos/tools/test_runner/test_runner.rb +1157 -0
- data/lib/cosmos/tools/test_runner/test_runner_chooser.rb +338 -0
- data/lib/cosmos/tools/tlm_extractor/text_item_chooser.rb +60 -0
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +1008 -0
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +371 -0
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +60 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_adders/housekeeping_data_object_adder.rb +75 -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 +94 -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 +180 -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 +173 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/data_object.rb +177 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +409 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/linegraph_data_object.rb +176 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/singlexy_data_object.rb +25 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/xy_data_object.rb +320 -0
- data/lib/cosmos/tools/tlm_grapher/plot_editors/linegraph_plot_editor.rb +181 -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 +172 -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 +201 -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 +1278 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +430 -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 +95 -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 +66 -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 +1004 -0
- data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +87 -0
- data/lib/cosmos/tools/tlm_viewer/screen.rb +458 -0
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +544 -0
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer_config.rb +287 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/aging_widget.rb +110 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/array_widget.rb +70 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/block_widget.rb +61 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/button_widget.rb +39 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvas_widget.rb +62 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasimage_widget.rb +41 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasimagevalue_widget.rb +57 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabel_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvaslabelvalue_widget.rb +56 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasline_widget.rb +55 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvaslinevalue_widget.rb +66 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasvalue_widget.rb +124 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/checkbutton_widget.rb +31 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/combobox_widget.rb +30 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/formatfontvalue_widget.rb +36 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/formatvalue_widget.rb +35 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/horizontal_widget.rb +27 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/horizontalbox_widget.rb +31 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/horizontalline_widget.rb +26 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/label_widget.rb +29 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelformatvalue_widget.rb +39 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelprogressbar_widget.rb +38 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labeltrendlimitsbar_widget.rb +38 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvalue_widget.rb +39 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluedesc_widget.rb +42 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluelimitsbar_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangebar_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/layout_widget.rb +34 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limitsbar_widget.rb +178 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/linegraph_widget.rb +54 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +47 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/multi_widget.rb +116 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/progressbar_widget.rb +34 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/radiobutton_widget.rb +30 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/rangebar_widget.rb +57 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/screenshotbutton_widget.rb +34 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/scrollwindow_widget.rb +35 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/sectionheader_widget.rb +33 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/tabbook_widget.rb +26 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/tabitem_widget.rb +28 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/textbox_widget.rb +47 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/textfield_widget.rb +26 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/timegraph_widget.rb +88 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/title_widget.rb +27 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/trendbar_widget.rb +130 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/trendlimitsbar_widget.rb +46 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/value_widget.rb +43 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/valuelimitsbar_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/valuerangebar_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/vertical_widget.rb +35 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/verticalbox_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +257 -0
- data/lib/cosmos/tools/tlm_viewer/widgets.rb +53 -0
- data/lib/cosmos/top_level.rb +596 -0
- data/lib/cosmos/utilities/crc.rb +166 -0
- data/lib/cosmos/utilities/csv.rb +83 -0
- data/lib/cosmos/utilities/logger.rb +137 -0
- data/lib/cosmos/utilities/low_fragmentation_array.rb +11 -0
- data/lib/cosmos/utilities/message_log.rb +74 -0
- data/lib/cosmos/utilities/quaternion.rb +258 -0
- data/lib/cosmos/utilities/ruby_lex_utils.rb +313 -0
- data/lib/cosmos/utilities/simulated_target.rb +99 -0
- data/lib/cosmos/utilities.rb +10 -0
- data/lib/cosmos/version.rb +12 -0
- data/lib/cosmos/win32/excel.rb +66 -0
- data/lib/cosmos/win32/win32.rb +387 -0
- data/lib/cosmos/win32/win32_main.rb +311 -0
- data/lib/cosmos.rb +63 -0
- data/roodi.yml +24 -0
- data/run_gui_tests.bat +32 -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 +322 -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/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 +186 -0
- data/spec/core_ext/class_spec.rb +36 -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 +66 -0
- data/spec/core_ext/objectspace_spec.rb +29 -0
- data/spec/core_ext/range_spec.rb +21 -0
- data/spec/core_ext/socket_spec.rb +32 -0
- data/spec/core_ext/string_spec.rb +223 -0
- data/spec/core_ext/stringio_spec.rb +21 -0
- data/spec/core_ext/time_spec.rb +151 -0
- data/spec/gui/line_graph/line_clip_spec.rb +322 -0
- data/spec/install/config/system/system.txt +33 -0
- data/spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +41 -0
- data/spec/install/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +15 -0
- data/spec/install/config/targets/COSMOS/cmd_tlm_server.txt +6 -0
- data/spec/install/config/targets/COSMOS/screens/limits_change.txt +20 -0
- data/spec/install/config/targets/COSMOS/screens/version.txt +19 -0
- data/spec/install/config/targets/COSMOS/target.txt +5 -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 +111 -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 +294 -0
- data/spec/install/config/targets/INST/target.txt +10 -0
- data/spec/install/config/targets/META/cmd_tlm/meta_cmd.txt +4 -0
- data/spec/install/config/targets/META/cmd_tlm/meta_tlm.txt +4 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +7 -0
- data/spec/install/config/tools/cmd_tlm_server/cmd_tlm_server.txt +1 -0
- data/spec/install/lib/README.txt +1 -0
- data/spec/install/userpath.txt +1 -0
- data/spec/interfaces/cmd_tlm_server_interface_spec.rb +150 -0
- data/spec/interfaces/interface_spec.rb +128 -0
- data/spec/interfaces/linc_interface_spec.rb +199 -0
- data/spec/interfaces/serial_interface_spec.rb +56 -0
- data/spec/interfaces/simulated_target_interface_spec.rb +128 -0
- data/spec/interfaces/stream_interface_spec.rb +157 -0
- data/spec/interfaces/tcpip_client_interface_spec.rb +54 -0
- data/spec/interfaces/tcpip_server_interface_spec.rb +151 -0
- data/spec/interfaces/udp_interface_spec.rb +175 -0
- data/spec/io/buffered_file_spec.rb +113 -0
- data/spec/io/io_multiplexer_spec.rb +94 -0
- data/spec/io/json_drb_object_spec.rb +93 -0
- data/spec/io/json_drb_spec.rb +293 -0
- data/spec/io/json_rpc_spec.rb +264 -0
- data/spec/io/raw_logger_pair_spec.rb +76 -0
- data/spec/io/raw_logger_spec.rb +133 -0
- data/spec/io/serial_driver_spec.rb +61 -0
- data/spec/io/stderr_spec.rb +32 -0
- data/spec/io/stdout_spec.rb +32 -0
- data/spec/io/tcpip_server_spec.rb +322 -0
- data/spec/io/udp_sockets_spec.rb +94 -0
- data/spec/io/win32_serial_driver_spec.rb +88 -0
- data/spec/packet_logs/meta_packet_log_writer_spec.rb +170 -0
- data/spec/packet_logs/packet_log_reader_spec.rb +408 -0
- data/spec/packet_logs/packet_log_writer_pair_spec.rb +30 -0
- data/spec/packet_logs/packet_log_writer_spec.rb +209 -0
- data/spec/packets/binary_accessor_spec.rb +2073 -0
- data/spec/packets/commands_spec.rb +369 -0
- data/spec/packets/limits_response_spec.rb +25 -0
- data/spec/packets/limits_spec.rb +326 -0
- data/spec/packets/packet_config_spec.rb +1620 -0
- data/spec/packets/packet_item_limits_spec.rb +161 -0
- data/spec/packets/packet_item_spec.rb +386 -0
- data/spec/packets/packet_spec.rb +949 -0
- data/spec/packets/structure_item_spec.rb +195 -0
- data/spec/packets/structure_spec.rb +419 -0
- data/spec/packets/telemetry_spec.rb +535 -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 +60 -0
- data/spec/processors/watermark_processor_spec.rb +51 -0
- data/spec/script/script_spec.rb +650 -0
- data/spec/spec_helper.rb +138 -0
- data/spec/streams/burst_stream_protocol_spec.rb +32 -0
- data/spec/streams/fixed_stream_protocol_spec.rb +110 -0
- data/spec/streams/length_stream_protocol_spec.rb +297 -0
- data/spec/streams/preidentified_stream_protocol_spec.rb +118 -0
- data/spec/streams/serial_stream_spec.rb +105 -0
- data/spec/streams/stream_protocol_spec.rb +332 -0
- data/spec/streams/stream_spec.rb +29 -0
- data/spec/streams/tcpip_client_stream_spec.rb +54 -0
- data/spec/streams/tcpip_socket_stream_spec.rb +146 -0
- data/spec/streams/template_stream_protocol_spec.rb +151 -0
- data/spec/streams/terminated_stream_protocol_spec.rb +123 -0
- data/spec/system/system_spec.rb +645 -0
- data/spec/system/target_spec.rb +248 -0
- data/spec/tools/cmd_tlm_server/api_spec.rb +1090 -0
- data/spec/tools/cmd_tlm_server/background_task_spec.rb +32 -0
- data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +82 -0
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +406 -0
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +418 -0
- data/spec/tools/cmd_tlm_server/commanding_spec.rb +123 -0
- data/spec/tools/cmd_tlm_server/connections_spec.rb +147 -0
- data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +317 -0
- data/spec/tools/cmd_tlm_server/interfaces_spec.rb +228 -0
- data/spec/tools/cmd_tlm_server/packet_logging_spec.rb +143 -0
- data/spec/tools/cmd_tlm_server/router_thread_spec.rb +104 -0
- data/spec/tools/cmd_tlm_server/routers_spec.rb +196 -0
- data/spec/top_level/top_level_spec.rb +320 -0
- data/spec/utilities/crc_spec.rb +45 -0
- data/spec/utilities/csv_spec.rb +97 -0
- data/spec/utilities/logger_spec.rb +102 -0
- data/spec/utilities/message_log_spec.rb +89 -0
- data/spec/utilities/quaternion_spec.rb +107 -0
- data/spec/utilities/ruby_lex_utils_spec.rb +86 -0
- data/tasks/manifest.rake +22 -0
- data/tasks/spec.rake +23 -0
- metadata +1566 -0
|
@@ -0,0 +1,940 @@
|
|
|
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
|
+
|
|
13
|
+
module Cosmos
|
|
14
|
+
|
|
15
|
+
module Api
|
|
16
|
+
include Extract
|
|
17
|
+
|
|
18
|
+
# Sets api_requests to 0 and initializes the whitelist of allowable API
|
|
19
|
+
# method calls
|
|
20
|
+
def initialize
|
|
21
|
+
@api_whitelist = [
|
|
22
|
+
'cmd',
|
|
23
|
+
'cmd_no_range_check',
|
|
24
|
+
'cmd_no_hazardous_check',
|
|
25
|
+
'cmd_no_checks',
|
|
26
|
+
'cmd_raw',
|
|
27
|
+
'cmd_raw_no_range_check',
|
|
28
|
+
'cmd_raw_no_hazardous_check',
|
|
29
|
+
'cmd_raw_no_checks',
|
|
30
|
+
'send_raw',
|
|
31
|
+
'get_cmd_list',
|
|
32
|
+
'get_cmd_param_list',
|
|
33
|
+
'get_cmd_hazardous',
|
|
34
|
+
'tlm',
|
|
35
|
+
'tlm_raw',
|
|
36
|
+
'tlm_formatted',
|
|
37
|
+
'tlm_with_units',
|
|
38
|
+
'tlm_variable',
|
|
39
|
+
'set_tlm',
|
|
40
|
+
'set_tlm_raw',
|
|
41
|
+
'get_tlm_packet',
|
|
42
|
+
'get_tlm_values',
|
|
43
|
+
'get_tlm_list',
|
|
44
|
+
'get_tlm_item_list',
|
|
45
|
+
'get_tlm_details',
|
|
46
|
+
'get_out_of_limits',
|
|
47
|
+
'get_overall_limits_state',
|
|
48
|
+
'limits_enabled?',
|
|
49
|
+
'enable_limits',
|
|
50
|
+
'disable_limits',
|
|
51
|
+
'get_limits',
|
|
52
|
+
'set_limits',
|
|
53
|
+
'get_limits_groups',
|
|
54
|
+
'enable_limits_group',
|
|
55
|
+
'disable_limits_group',
|
|
56
|
+
'get_limits_sets',
|
|
57
|
+
'set_limits_set',
|
|
58
|
+
'get_limits_set',
|
|
59
|
+
'get_target_list',
|
|
60
|
+
'subscribe_limits_events',
|
|
61
|
+
'unsubscribe_limits_events',
|
|
62
|
+
'get_limits_event',
|
|
63
|
+
'subscribe_packet_data',
|
|
64
|
+
'unsubscribe_packet_data',
|
|
65
|
+
'get_packet_data',
|
|
66
|
+
'get_interface_names',
|
|
67
|
+
'connect_interface',
|
|
68
|
+
'disconnect_interface',
|
|
69
|
+
'interface_state',
|
|
70
|
+
'map_target_to_interface',
|
|
71
|
+
'get_router_names',
|
|
72
|
+
'connect_router',
|
|
73
|
+
'disconnect_router',
|
|
74
|
+
'router_state',
|
|
75
|
+
'get_cmd_log_filename',
|
|
76
|
+
'get_tlm_log_filename',
|
|
77
|
+
'start_logging',
|
|
78
|
+
'stop_logging',
|
|
79
|
+
'start_cmd_log',
|
|
80
|
+
'start_tlm_log',
|
|
81
|
+
'stop_cmd_log',
|
|
82
|
+
'stop_tlm_log',
|
|
83
|
+
'start_raw_logging_interface',
|
|
84
|
+
'stop_raw_logging_interface',
|
|
85
|
+
'start_raw_logging_router',
|
|
86
|
+
'stop_raw_logging_router',
|
|
87
|
+
'get_server_message_log_filename',
|
|
88
|
+
'start_new_server_message_log']
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
############################################################################
|
|
92
|
+
# Methods Used by cosmos/script
|
|
93
|
+
############################################################################
|
|
94
|
+
|
|
95
|
+
# Send a command packet to a target.
|
|
96
|
+
#
|
|
97
|
+
# Accepts two different calling styles:
|
|
98
|
+
# cmd("TGT CMD with PARAM1 val, PARAM2 val")
|
|
99
|
+
# cmd('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
|
100
|
+
#
|
|
101
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
102
|
+
#
|
|
103
|
+
# @param args [String|Array<String>] See the description for calling style
|
|
104
|
+
# @return [Array<String, String, Hash>] target_name, command_name, parameters
|
|
105
|
+
def cmd(*args)
|
|
106
|
+
cmd_implementation(true, true, false, 'cmd', *args)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Send a command packet to a target without performing any value range
|
|
110
|
+
# checks on the parameters. Useful for testing to allow sending command
|
|
111
|
+
# parameters outside the allowable range as defined in the configuration.
|
|
112
|
+
#
|
|
113
|
+
# Accepts two different calling styles:
|
|
114
|
+
# cmd_no_range_check("TGT CMD with PARAM1 val, PARAM2 val")
|
|
115
|
+
# cmd_no_range_check('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
|
116
|
+
#
|
|
117
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
118
|
+
#
|
|
119
|
+
# @param (see #cmd)
|
|
120
|
+
# @return (see #cmd)
|
|
121
|
+
def cmd_no_range_check(*args)
|
|
122
|
+
cmd_implementation(false, true, false, 'cmd_no_range_check', *args)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Send a command packet to a target without performing any hazardous checks
|
|
126
|
+
# both on the command itself and its parameters. Useful in scripts to
|
|
127
|
+
# prevent popping up warnings to the user.
|
|
128
|
+
#
|
|
129
|
+
# Accepts two different calling styles:
|
|
130
|
+
# cmd_no_hazardous_check("TGT CMD with PARAM1 val, PARAM2 val")
|
|
131
|
+
# cmd_no_hazardous_check('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
|
132
|
+
#
|
|
133
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
134
|
+
#
|
|
135
|
+
# @param (see #cmd)
|
|
136
|
+
# @return (see #cmd)
|
|
137
|
+
def cmd_no_hazardous_check(*args)
|
|
138
|
+
cmd_implementation(true, false, false, 'cmd_no_hazardous_check', *args)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# Send a command packet to a target without performing any value range
|
|
142
|
+
# checks or hazardous checks both on the command itself and its parameters.
|
|
143
|
+
#
|
|
144
|
+
# Accepts two different calling styles:
|
|
145
|
+
# cmd_no_checks("TGT CMD with PARAM1 val, PARAM2 val")
|
|
146
|
+
# cmd_no_checks('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
|
147
|
+
#
|
|
148
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
149
|
+
#
|
|
150
|
+
# @param (see #cmd)
|
|
151
|
+
# @return (see #cmd)
|
|
152
|
+
def cmd_no_checks(*args)
|
|
153
|
+
cmd_implementation(false, false, false, 'cmd_no_checks', *args)
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# Send a command packet to a target without running conversions.
|
|
157
|
+
#
|
|
158
|
+
# Accepts two different calling styles:
|
|
159
|
+
# cmd_raw("TGT CMD with PARAM1 val, PARAM2 val")
|
|
160
|
+
# cmd_raw('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
|
161
|
+
#
|
|
162
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
163
|
+
#
|
|
164
|
+
# @param args [String|Array<String>] See the description for calling style
|
|
165
|
+
# @return [Array<String, String, Hash>] target_name, command_name, parameters
|
|
166
|
+
def cmd_raw(*args)
|
|
167
|
+
cmd_implementation(true, true, true, 'cmd_raw', *args)
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Send a command packet to a target without performing any value range
|
|
171
|
+
# checks on the parameters or running conversions. Useful for testing to allow sending command
|
|
172
|
+
# parameters outside the allowable range as defined in the configuration.
|
|
173
|
+
#
|
|
174
|
+
# Accepts two different calling styles:
|
|
175
|
+
# cmd_raw_no_range_check("TGT CMD with PARAM1 val, PARAM2 val")
|
|
176
|
+
# cmd_raw_no_range_check('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
|
177
|
+
#
|
|
178
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
179
|
+
#
|
|
180
|
+
# @param (see #cmd)
|
|
181
|
+
# @return (see #cmd)
|
|
182
|
+
def cmd_raw_no_range_check(*args)
|
|
183
|
+
cmd_implementation(false, true, true, 'cmd_raw_no_range_check', *args)
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
# Send a command packet to a target without running conversions or performing any hazardous checks
|
|
187
|
+
# both on the command itself and its parameters. Useful in scripts to
|
|
188
|
+
# prevent popping up warnings to the user.
|
|
189
|
+
#
|
|
190
|
+
# Accepts two different calling styles:
|
|
191
|
+
# cmd_raw_no_hazardous_check("TGT CMD with PARAM1 val, PARAM2 val")
|
|
192
|
+
# cmd_raw_no_hazardous_check('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
|
193
|
+
#
|
|
194
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
195
|
+
#
|
|
196
|
+
# @param (see #cmd)
|
|
197
|
+
# @return (see #cmd)
|
|
198
|
+
def cmd_raw_no_hazardous_check(*args)
|
|
199
|
+
cmd_implementation(true, false, true, 'cmd_raw_no_hazardous_check', *args)
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
# Send a command packet to a target without running conversions or performing any value range
|
|
203
|
+
# checks or hazardous checks both on the command itself and its parameters.
|
|
204
|
+
#
|
|
205
|
+
# Accepts two different calling styles:
|
|
206
|
+
# cmd_raw_no_checks("TGT CMD with PARAM1 val, PARAM2 val")
|
|
207
|
+
# cmd_raw_no_checks('TGT','CMD','PARAM1'=>val,'PARAM2'=>val)
|
|
208
|
+
#
|
|
209
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
210
|
+
#
|
|
211
|
+
# @param (see #cmd)
|
|
212
|
+
# @return (see #cmd)
|
|
213
|
+
def cmd_raw_no_checks(*args)
|
|
214
|
+
cmd_implementation(false, false, true, 'cmd_raw_no_checks', *args)
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
# Send a raw binary string to the specified interface.
|
|
218
|
+
#
|
|
219
|
+
# @param interface_name [String] The interface to send the raw binary
|
|
220
|
+
# @param data [String] The raw binary data
|
|
221
|
+
def send_raw(interface_name, data)
|
|
222
|
+
CmdTlmServer.commanding.send_raw(interface_name, data)
|
|
223
|
+
nil
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
# Returns the list of all the command names and their descriptions from the
|
|
227
|
+
# given target.
|
|
228
|
+
#
|
|
229
|
+
# @param target_name [String] Name of the target
|
|
230
|
+
# @return [Array<Array<String, String>>] Array containing \[command name,
|
|
231
|
+
# command description] for all commands in the target
|
|
232
|
+
def get_cmd_list(target_name)
|
|
233
|
+
list = []
|
|
234
|
+
System.commands.packets(target_name).each do |name, command|
|
|
235
|
+
list << [name, command.description]
|
|
236
|
+
end
|
|
237
|
+
return list.sort
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
# Returns the list of all the parameters for the given command.
|
|
241
|
+
#
|
|
242
|
+
# @param target_name (see #get_cmd_list)
|
|
243
|
+
# @param command_name [String] Name of the command
|
|
244
|
+
# @return [Array<Array<String, Object, nil|Array, nil|String, nil|String,
|
|
245
|
+
# nil|String, Boolean>] Array containing \[name, default, states,
|
|
246
|
+
# description, units_full, units, required] for all parameters in the
|
|
247
|
+
# command
|
|
248
|
+
def get_cmd_param_list(target_name, command_name)
|
|
249
|
+
list = []
|
|
250
|
+
System.commands.params(target_name, command_name).each do |parameter|
|
|
251
|
+
if parameter.format_string
|
|
252
|
+
unless parameter.default.kind_of?(Array)
|
|
253
|
+
list << [parameter.name, sprintf(parameter.format_string, parameter.default), parameter.states, parameter.description, parameter.units_full, parameter.units, parameter.required]
|
|
254
|
+
else
|
|
255
|
+
list << [parameter.name, "[]", parameter.states, parameter.description, parameter.units_full, parameter.units, parameter.required]
|
|
256
|
+
end
|
|
257
|
+
else
|
|
258
|
+
list << [parameter.name, parameter.default, parameter.states, parameter.description, parameter.units_full, parameter.units, parameter.required]
|
|
259
|
+
end
|
|
260
|
+
end
|
|
261
|
+
return list
|
|
262
|
+
end
|
|
263
|
+
|
|
264
|
+
# Returns whether the specified command is hazardous
|
|
265
|
+
#
|
|
266
|
+
# @param target_name (see #get_cmd_param_list)
|
|
267
|
+
# @param command_name (see #get_cmd_param_list)
|
|
268
|
+
# @param params [Hash] Command parameter hash to test whether a particular
|
|
269
|
+
# parameter setting makes the command hazardous
|
|
270
|
+
# @return [Boolean] Whether the command is hazardous
|
|
271
|
+
def get_cmd_hazardous(target_name, command_name, params = {})
|
|
272
|
+
hazardous, _ = System.commands.cmd_hazardous?(target_name, command_name, params)
|
|
273
|
+
return hazardous
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
# Request a converted telemetry item from a packet.
|
|
277
|
+
#
|
|
278
|
+
# Accepts two different calling styles:
|
|
279
|
+
# tlm("TGT PKT ITEM")
|
|
280
|
+
# tlm('TGT','PKT','ITEM')
|
|
281
|
+
#
|
|
282
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
283
|
+
#
|
|
284
|
+
# @param args [String|Array<String>] See the description for calling style
|
|
285
|
+
# @return [Numeric] The converted telemetry value without formatting or
|
|
286
|
+
# units
|
|
287
|
+
def tlm(*args)
|
|
288
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'tlm')
|
|
289
|
+
System.telemetry.value(target_name, packet_name, item_name, :CONVERTED)
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
# Request a raw telemetry item from a packet.
|
|
293
|
+
#
|
|
294
|
+
# Accepts two different calling styles:
|
|
295
|
+
# tlm_raw("TGT PKT ITEM")
|
|
296
|
+
# tlm_raw('TGT','PKT','ITEM')
|
|
297
|
+
#
|
|
298
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
299
|
+
#
|
|
300
|
+
# @param args (see #tlm)
|
|
301
|
+
# @return [Numeric] The unconverted telemetry value without formatting or
|
|
302
|
+
# units
|
|
303
|
+
def tlm_raw(*args)
|
|
304
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'tlm_raw')
|
|
305
|
+
System.telemetry.value(target_name, packet_name, item_name, :RAW)
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
# Request a formatted telemetry item from a packet.
|
|
309
|
+
#
|
|
310
|
+
# Accepts two different calling styles:
|
|
311
|
+
# tlm_formatted("TGT PKT ITEM")
|
|
312
|
+
# tlm_formatted('TGT','PKT','ITEM')
|
|
313
|
+
#
|
|
314
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
315
|
+
#
|
|
316
|
+
# @param args (see #tlm)
|
|
317
|
+
# @return [String] The converted telemetry value with formatting but
|
|
318
|
+
# without units
|
|
319
|
+
def tlm_formatted(*args)
|
|
320
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'tlm_formatted')
|
|
321
|
+
System.telemetry.value(target_name, packet_name, item_name, :FORMATTED)
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
# Request a telemetry item with units from a packet.
|
|
325
|
+
#
|
|
326
|
+
# Accepts two different calling styles:
|
|
327
|
+
# tlm_with_units("TGT PKT ITEM")
|
|
328
|
+
# tlm_with_units('TGT','PKT','ITEM')
|
|
329
|
+
#
|
|
330
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
331
|
+
#
|
|
332
|
+
# @param args (see #tlm)
|
|
333
|
+
# @return [String] The converted, formatted telemetry value with units
|
|
334
|
+
def tlm_with_units(*args)
|
|
335
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'tlm_with_units')
|
|
336
|
+
System.telemetry.value(target_name, packet_name, item_name, :WITH_UNITS)
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
# Request a telemetry item from a packet with the specified conversion
|
|
340
|
+
# applied. This method is equivalent to calling the other tlm_xxx methods.
|
|
341
|
+
#
|
|
342
|
+
# Accepts two different calling styles:
|
|
343
|
+
# tlm_variable("TGT PKT ITEM", :RAW)
|
|
344
|
+
# tlm_variable('TGT','PKT','ITEM', :RAW)
|
|
345
|
+
#
|
|
346
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
347
|
+
#
|
|
348
|
+
# @param args The args must either be a string followed by a symbol or
|
|
349
|
+
# three strings followed by a symbol (see the calling style in the
|
|
350
|
+
# description). The symbol must be one of {Packet::VALUE_TYPES}.
|
|
351
|
+
# @return [Object] The converted telemetry value
|
|
352
|
+
def tlm_variable(*args)
|
|
353
|
+
target_name, packet_name, item_name, value_type = tlm_variable_process_args(args, 'tlm_variable')
|
|
354
|
+
System.telemetry.value(target_name, packet_name, item_name, value_type)
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
# Set a telemetry item in a packet to a particular value and then verifies
|
|
358
|
+
# the value is within the acceptable limits. This method uses any
|
|
359
|
+
# conversions that apply to the item when setting the value.
|
|
360
|
+
#
|
|
361
|
+
# Note: If this is done while COSMOS is currently receiving telemetry,
|
|
362
|
+
# this value could get overwritten at any time. Thus this capability is
|
|
363
|
+
# best used for testing or for telemetry items that are not received
|
|
364
|
+
# regularly through the target interface.
|
|
365
|
+
#
|
|
366
|
+
# Accepts two different calling styles:
|
|
367
|
+
# set_tlm("TGT PKT ITEM = 1.0")
|
|
368
|
+
# set_tlm('TGT','PKT','ITEM', 10.0)
|
|
369
|
+
#
|
|
370
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
371
|
+
#
|
|
372
|
+
# @param args The args must either be a string followed by a value or
|
|
373
|
+
# three strings followed by a value (see the calling style in the
|
|
374
|
+
# description).
|
|
375
|
+
def set_tlm(*args)
|
|
376
|
+
target_name, packet_name, item_name, value = set_tlm_process_args(args, 'set_tlm')
|
|
377
|
+
System.telemetry.set_value(target_name, packet_name, item_name, value, :CONVERTED)
|
|
378
|
+
System.telemetry.packet(target_name, packet_name).check_limits(System.limits_set, true)
|
|
379
|
+
nil
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
# Set a telemetry item in a packet to a particular value and then verifies
|
|
383
|
+
# the value is within the acceptable limits. No conversions are applied.
|
|
384
|
+
#
|
|
385
|
+
# Note: If this is done while COSMOS is currently receiving telemetry,
|
|
386
|
+
# this value could get overwritten at any time. Thus this capability is
|
|
387
|
+
# best used for testing or for telemetry items that are not received
|
|
388
|
+
# regularly through the target interface.
|
|
389
|
+
#
|
|
390
|
+
# Accepts two different calling styles:
|
|
391
|
+
# set_tlm_raw("TGT PKT ITEM = 1.0")
|
|
392
|
+
# set_tlm_raw('TGT','PKT','ITEM', 10.0)
|
|
393
|
+
#
|
|
394
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
395
|
+
#
|
|
396
|
+
# @param args The args must either be a string followed by a value or
|
|
397
|
+
# three strings followed by a value (see the calling style in the
|
|
398
|
+
# description).
|
|
399
|
+
def set_tlm_raw(*args)
|
|
400
|
+
target_name, packet_name, item_name, value = set_tlm_process_args(args, 'set_tlm_raw')
|
|
401
|
+
System.telemetry.set_value(target_name, packet_name, item_name, value, :RAW)
|
|
402
|
+
System.telemetry.packet(target_name, packet_name).check_limits(System.limits_set, true)
|
|
403
|
+
nil
|
|
404
|
+
end
|
|
405
|
+
|
|
406
|
+
# Returns all the values (along with their limits state) for a packet.
|
|
407
|
+
#
|
|
408
|
+
# @param target_name [String] Name of the target
|
|
409
|
+
# @param packet_name [String] Name of the packet
|
|
410
|
+
# @param value_type [Symbol] How the values should be converted. Must be
|
|
411
|
+
# one of {Packet::VALUE_TYPES}
|
|
412
|
+
# @return (see Cosmos::Packet#read_all_with_limits_states)
|
|
413
|
+
def get_tlm_packet(target_name, packet_name, value_type = :CONVERTED)
|
|
414
|
+
packet = System.telemetry.packet(target_name, packet_name)
|
|
415
|
+
values = nil
|
|
416
|
+
packet.synchronize do
|
|
417
|
+
values = packet.read_all_with_limits_states(value_type.to_s.intern)
|
|
418
|
+
end
|
|
419
|
+
values
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
# Returns all the item values (along with their limits state). The items
|
|
423
|
+
# can be from any target and packet and thus must be fully qualified with
|
|
424
|
+
# their target and packet names.
|
|
425
|
+
#
|
|
426
|
+
# @param (see Cosmos::Telemetry#values_and_limits_states)
|
|
427
|
+
# @return [Array<String, Object, Array, Symbol|nil>] Array consisting of
|
|
428
|
+
# \[item name, item value, item limits settings, item limits state] where the item limits
|
|
429
|
+
# state can be one of {Cosmos::Limits::LIMITS_STATES}
|
|
430
|
+
def get_tlm_values(item_array, value_types = :CONVERTED)
|
|
431
|
+
if !item_array.is_a?(Array) || (!item_array[0].is_a?(Array) and !item_array.empty?)
|
|
432
|
+
raise ArgumentError, "item_array must be nested array: [['TGT','PKT','ITEM'],...]"
|
|
433
|
+
end
|
|
434
|
+
return [[], [], [], System.limits_set] if item_array.empty?
|
|
435
|
+
if value_types.is_a?(Array)
|
|
436
|
+
elem = value_types[0]
|
|
437
|
+
else
|
|
438
|
+
elem = value_types
|
|
439
|
+
end
|
|
440
|
+
# Due to JSON round tripping from scripts, value_types can be a String
|
|
441
|
+
# so we must check for both Symbol and String
|
|
442
|
+
if !elem.is_a?(Symbol) && !elem.is_a?(String)
|
|
443
|
+
raise ArgumentError, "value_types must be a single symbol or array of symbols specifying the conversion method (:RAW, :CONVERTED, :FORMATTED, :WITH_UNITS)"
|
|
444
|
+
end
|
|
445
|
+
array = System.telemetry.values_and_limits_states(item_array, value_types)
|
|
446
|
+
array << System.limits_set
|
|
447
|
+
return array
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
# Returns the sorted packet names and their descriptions for a particular
|
|
451
|
+
# target.
|
|
452
|
+
#
|
|
453
|
+
# @param target_name (see #get_tlm_packet)
|
|
454
|
+
# @return [Array<String, String>] Array of \[packet name, packet
|
|
455
|
+
# description] sorted by packet name
|
|
456
|
+
def get_tlm_list(target_name)
|
|
457
|
+
list = []
|
|
458
|
+
packets = System.telemetry.packets(target_name)
|
|
459
|
+
packets.each do |packet_name, packet|
|
|
460
|
+
list << [packet_name, packet.description]
|
|
461
|
+
end
|
|
462
|
+
list.sort
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
# Returns the item names and their states and descriptions for a particular
|
|
466
|
+
# packet.
|
|
467
|
+
#
|
|
468
|
+
# @param target_name (see #get_tlm_packet)
|
|
469
|
+
# @param packet_name (see #get_tlm_packet)
|
|
470
|
+
# @return [Array<String, Hash, String>] Array of \[item name, item states,
|
|
471
|
+
# item description]
|
|
472
|
+
def get_tlm_item_list(target_name, packet_name)
|
|
473
|
+
list = []
|
|
474
|
+
System.telemetry.items(target_name, packet_name).each do |item|
|
|
475
|
+
list << [item.name, item.states, item.description]
|
|
476
|
+
end
|
|
477
|
+
list
|
|
478
|
+
end
|
|
479
|
+
|
|
480
|
+
# Returns an array of Hashes with all the attributes of the item.
|
|
481
|
+
#
|
|
482
|
+
# @param (see Cosmos::Telemetry#values_and_limits_states)
|
|
483
|
+
# @return [Array<Hash>] Array of hashes describing the items. All the
|
|
484
|
+
# attributes in {Cosmos::PacketItem} and {Cosmos::StructItem} are
|
|
485
|
+
# present in the Hash.
|
|
486
|
+
def get_tlm_details(item_array)
|
|
487
|
+
if !item_array.is_a?(Array) || !item_array[0].is_a?(Array)
|
|
488
|
+
raise ArgumentError, "item_array must be nested array: [['TGT','PKT','ITEM'],...]"
|
|
489
|
+
end
|
|
490
|
+
details = []
|
|
491
|
+
item_array.each do |target_name, packet_name, item_name|
|
|
492
|
+
_, item = System.telemetry.packet_and_item(target_name, packet_name, item_name)
|
|
493
|
+
details << item.to_hash
|
|
494
|
+
end
|
|
495
|
+
details
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
# (see Cosmos::Limits#out_of_limits)
|
|
499
|
+
def get_out_of_limits
|
|
500
|
+
return System.limits.out_of_limits
|
|
501
|
+
end
|
|
502
|
+
|
|
503
|
+
# (see Cosmos::Limits#overall_limits_state)
|
|
504
|
+
def get_overall_limits_state (ignored_items = nil)
|
|
505
|
+
return System.limits.overall_limits_state(ignored_items)
|
|
506
|
+
end
|
|
507
|
+
|
|
508
|
+
# Whether the limits are enabled for the given item
|
|
509
|
+
#
|
|
510
|
+
# Accepts two different calling styles:
|
|
511
|
+
# limits_enabled?("TGT PKT ITEM")
|
|
512
|
+
# limits_enabled?('TGT','PKT','ITEM')
|
|
513
|
+
#
|
|
514
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
515
|
+
#
|
|
516
|
+
# @param args [String|Array<String>] See the description for calling style
|
|
517
|
+
# @return [Boolean] Whether limits are enable for the itme
|
|
518
|
+
def limits_enabled?(*args)
|
|
519
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'limits_enabled?')
|
|
520
|
+
return System.limits.enabled?(target_name, packet_name, item_name)
|
|
521
|
+
end
|
|
522
|
+
|
|
523
|
+
# Enable limits checking for a telemetry item
|
|
524
|
+
#
|
|
525
|
+
# Accepts two different calling styles:
|
|
526
|
+
# enable_limits("TGT PKT ITEM")
|
|
527
|
+
# enable_limits('TGT','PKT','ITEM')
|
|
528
|
+
#
|
|
529
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
530
|
+
#
|
|
531
|
+
# @param args [String|Array<String>] See the description for calling style
|
|
532
|
+
def enable_limits(*args)
|
|
533
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'enable_limits')
|
|
534
|
+
System.limits.enable(target_name, packet_name, item_name)
|
|
535
|
+
nil
|
|
536
|
+
end
|
|
537
|
+
|
|
538
|
+
# Disable limit checking for a telemetry item
|
|
539
|
+
#
|
|
540
|
+
# Accepts two different calling styles:
|
|
541
|
+
# disable_limits("TGT PKT ITEM")
|
|
542
|
+
# disable_limits('TGT','PKT','ITEM')
|
|
543
|
+
#
|
|
544
|
+
# Favor the first syntax where possible as it is more succinct.
|
|
545
|
+
#
|
|
546
|
+
# @param args [String|Array<String>] See the description for calling style
|
|
547
|
+
def disable_limits(*args)
|
|
548
|
+
target_name, packet_name, item_name = tlm_process_args(args, 'disable_limits')
|
|
549
|
+
System.limits.disable(target_name, packet_name, item_name)
|
|
550
|
+
nil
|
|
551
|
+
end
|
|
552
|
+
|
|
553
|
+
# (see Cosmos::Limits#get)
|
|
554
|
+
def get_limits(target_name, packet_name, item_name, limits_set = nil)
|
|
555
|
+
System.limits.get(target_name, packet_name, item_name, limits_set)
|
|
556
|
+
end
|
|
557
|
+
|
|
558
|
+
# (see Cosmos::Limits#set)
|
|
559
|
+
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)
|
|
560
|
+
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)
|
|
561
|
+
if result[0] != nil
|
|
562
|
+
limits_settings = [target_name, packet_name, item_name].concat(result)
|
|
563
|
+
CmdTlmServer.instance.post_limits_event(:LIMITS_SETTINGS, limits_settings)
|
|
564
|
+
Logger.info("Limits Settings Changed: #{limits_settings}")
|
|
565
|
+
end
|
|
566
|
+
result
|
|
567
|
+
end
|
|
568
|
+
|
|
569
|
+
# (see Cosmos::Limits#groups)
|
|
570
|
+
def get_limits_groups
|
|
571
|
+
return System.limits.groups.keys
|
|
572
|
+
end
|
|
573
|
+
|
|
574
|
+
# (see Cosmos::Limits#enable_group)
|
|
575
|
+
def enable_limits_group(group_name)
|
|
576
|
+
System.limits.enable_group(group_name)
|
|
577
|
+
nil
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
# (see Cosmos::Limits#disable_group)
|
|
581
|
+
def disable_limits_group(group_name)
|
|
582
|
+
System.limits.disable_group(group_name)
|
|
583
|
+
nil
|
|
584
|
+
end
|
|
585
|
+
|
|
586
|
+
# Returns all defined limits sets
|
|
587
|
+
#
|
|
588
|
+
# @return [Array<Symbol>] All defined limits sets
|
|
589
|
+
def get_limits_sets
|
|
590
|
+
return System.limits.sets
|
|
591
|
+
end
|
|
592
|
+
|
|
593
|
+
# Changes the active limits set that applies to all telemetry
|
|
594
|
+
#
|
|
595
|
+
# @param limits_set [String] The name of the limits set
|
|
596
|
+
def set_limits_set(limits_set)
|
|
597
|
+
System.limits_set = limits_set if System.limits_set != limits_set.to_s.upcase.intern
|
|
598
|
+
end
|
|
599
|
+
|
|
600
|
+
# Returns the active limits set that applies to all telemetry
|
|
601
|
+
#
|
|
602
|
+
# @return [String] The current limits set
|
|
603
|
+
def get_limits_set
|
|
604
|
+
return System.limits_set.to_s
|
|
605
|
+
end
|
|
606
|
+
|
|
607
|
+
#
|
|
608
|
+
# General Purpose Methods
|
|
609
|
+
#
|
|
610
|
+
|
|
611
|
+
# Returns the list of all target names
|
|
612
|
+
#
|
|
613
|
+
# @return [Array<String>] All target names
|
|
614
|
+
def get_target_list
|
|
615
|
+
list = []
|
|
616
|
+
System.targets.each_key {|target_name| list << target_name }
|
|
617
|
+
return list.sort
|
|
618
|
+
end
|
|
619
|
+
|
|
620
|
+
# @see CmdTlmServer.subscribe_limits_events
|
|
621
|
+
def subscribe_limits_events(queue_size = CmdTlmServer::DEFAULT_LIMITS_EVENT_QUEUE_SIZE)
|
|
622
|
+
CmdTlmServer.subscribe_limits_events(queue_size)
|
|
623
|
+
end
|
|
624
|
+
|
|
625
|
+
# @see CmdTlmServer.unsubscribe_limits_events
|
|
626
|
+
def unsubscribe_limits_events(id)
|
|
627
|
+
CmdTlmServer.unsubscribe_limits_events(id)
|
|
628
|
+
end
|
|
629
|
+
|
|
630
|
+
# @see CmdTlmServer.get_limits_event
|
|
631
|
+
def get_limits_event(id, non_block = false)
|
|
632
|
+
CmdTlmServer.get_limits_event(id, non_block)
|
|
633
|
+
end
|
|
634
|
+
|
|
635
|
+
# @see CmdTlmServer.subscribe_packet_data
|
|
636
|
+
def subscribe_packet_data(packets,
|
|
637
|
+
queue_size = CmdTlmServer::DEFAULT_PACKET_DATA_QUEUE_SIZE)
|
|
638
|
+
CmdTlmServer.subscribe_packet_data(packets, queue_size)
|
|
639
|
+
end
|
|
640
|
+
|
|
641
|
+
# @see CmdTlmServer.unsubscribe_packet_data
|
|
642
|
+
def unsubscribe_packet_data(id)
|
|
643
|
+
CmdTlmServer.unsubscribe_packet_data(id)
|
|
644
|
+
end
|
|
645
|
+
|
|
646
|
+
# @see CmdTlmServer.get_packet_data
|
|
647
|
+
def get_packet_data(id, non_block = false)
|
|
648
|
+
CmdTlmServer.get_packet_data(id, non_block)
|
|
649
|
+
end
|
|
650
|
+
|
|
651
|
+
#
|
|
652
|
+
# Methods for scripting
|
|
653
|
+
#
|
|
654
|
+
|
|
655
|
+
# @return [Array<String>] All the interface names
|
|
656
|
+
def get_interface_names
|
|
657
|
+
CmdTlmServer.interfaces.names
|
|
658
|
+
end
|
|
659
|
+
|
|
660
|
+
# Connects to an interface and starts its telemetry gathering thread. If
|
|
661
|
+
# optional parameters are given, the interface is recreated with new
|
|
662
|
+
# parameters.
|
|
663
|
+
#
|
|
664
|
+
# @param interface_name [String] The name of the interface
|
|
665
|
+
# @param params [Array] Parameters to pass to the interface.
|
|
666
|
+
def connect_interface(interface_name, *params)
|
|
667
|
+
CmdTlmServer.interfaces.connect(interface_name, *params)
|
|
668
|
+
nil
|
|
669
|
+
end
|
|
670
|
+
|
|
671
|
+
# Disconnects from an interface and kills its telemetry gathering thread
|
|
672
|
+
#
|
|
673
|
+
# @param interface_name (see #connect_interface)
|
|
674
|
+
def disconnect_interface(interface_name)
|
|
675
|
+
CmdTlmServer.interfaces.disconnect(interface_name)
|
|
676
|
+
nil
|
|
677
|
+
end
|
|
678
|
+
|
|
679
|
+
# @param interface_name (see #connect_interface)
|
|
680
|
+
# @return [String] The state of the interface which is one of 'CONNECTED',
|
|
681
|
+
# 'ATTEMPTING' or 'DISCONNECTED'.
|
|
682
|
+
def interface_state(interface_name)
|
|
683
|
+
CmdTlmServer.interfaces.state(interface_name)
|
|
684
|
+
end
|
|
685
|
+
|
|
686
|
+
# Associates a target and all its commands and telemetry with a particular
|
|
687
|
+
# interface. All the commands will go out over and telemetry be received
|
|
688
|
+
# from that interface.
|
|
689
|
+
#
|
|
690
|
+
# @param target_name [String] The name of the target
|
|
691
|
+
# @param interface_name (see #connect_interface)
|
|
692
|
+
def map_target_to_interface(target_name, interface_name)
|
|
693
|
+
CmdTlmServer.interfaces.map_target(target_name, interface_name)
|
|
694
|
+
nil
|
|
695
|
+
end
|
|
696
|
+
|
|
697
|
+
# @return [Array<String>] All the router names
|
|
698
|
+
def get_router_names
|
|
699
|
+
CmdTlmServer.routers.names
|
|
700
|
+
end
|
|
701
|
+
|
|
702
|
+
# Connects a router and starts its command gathering thread. If
|
|
703
|
+
# optional parameters are given, the router is recreated with new
|
|
704
|
+
# parameters.
|
|
705
|
+
#
|
|
706
|
+
# @param router_name [String] The name of the router
|
|
707
|
+
# @param params [Array] Parameters to pass to the router.
|
|
708
|
+
def connect_router(router_name, *params)
|
|
709
|
+
CmdTlmServer.routers.connect(router_name, *params)
|
|
710
|
+
nil
|
|
711
|
+
end
|
|
712
|
+
|
|
713
|
+
# Disconnects a router and kills its command gathering thread
|
|
714
|
+
#
|
|
715
|
+
# @param router_name (see #connect_router)
|
|
716
|
+
def disconnect_router(router_name)
|
|
717
|
+
CmdTlmServer.routers.disconnect(router_name)
|
|
718
|
+
nil
|
|
719
|
+
end
|
|
720
|
+
|
|
721
|
+
# @param router_name (see #connect_router)
|
|
722
|
+
# @return [String] The state of the router which is one of 'CONNECTED',
|
|
723
|
+
# 'ATTEMPTING' or 'DISCONNECTED'.
|
|
724
|
+
def router_state(router_name)
|
|
725
|
+
CmdTlmServer.routers.state(router_name)
|
|
726
|
+
end
|
|
727
|
+
|
|
728
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
|
729
|
+
# is writing the command packet log
|
|
730
|
+
# @return [String] The command packet log filename
|
|
731
|
+
def get_cmd_log_filename(packet_log_writer_name = 'DEFAULT')
|
|
732
|
+
CmdTlmServer.packet_logging.cmd_filename(packet_log_writer_name)
|
|
733
|
+
end
|
|
734
|
+
|
|
735
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
|
736
|
+
# is writing the telemetry packet log
|
|
737
|
+
# @return [String] The telemetry packet log filename
|
|
738
|
+
def get_tlm_log_filename(packet_log_writer_name = 'DEFAULT')
|
|
739
|
+
CmdTlmServer.packet_logging.tlm_filename(packet_log_writer_name)
|
|
740
|
+
end
|
|
741
|
+
|
|
742
|
+
# Start both command and telemetry packet logging.
|
|
743
|
+
#
|
|
744
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
|
745
|
+
# is writing both the command and telemetry logs
|
|
746
|
+
# @param label [String] Optional label to apply to both the command and
|
|
747
|
+
# telemetry packet log filename
|
|
748
|
+
def start_logging(packet_log_writer_name = 'ALL', label = nil)
|
|
749
|
+
CmdTlmServer.packet_logging.start(packet_log_writer_name, label)
|
|
750
|
+
nil
|
|
751
|
+
end
|
|
752
|
+
|
|
753
|
+
# Stop both command and telemetry packet logging.
|
|
754
|
+
#
|
|
755
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
|
756
|
+
# is writing both the command and telemetry logs
|
|
757
|
+
def stop_logging(packet_log_writer_name = 'ALL')
|
|
758
|
+
CmdTlmServer.packet_logging.stop(packet_log_writer_name)
|
|
759
|
+
nil
|
|
760
|
+
end
|
|
761
|
+
|
|
762
|
+
# Start command packet logging.
|
|
763
|
+
#
|
|
764
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
|
765
|
+
# is writing the command logs
|
|
766
|
+
# @param label [String] Optional label to apply to the command packet log
|
|
767
|
+
# filename
|
|
768
|
+
def start_cmd_log(packet_log_writer_name = 'ALL', label = nil)
|
|
769
|
+
CmdTlmServer.packet_logging.start_cmd(packet_log_writer_name, label)
|
|
770
|
+
nil
|
|
771
|
+
end
|
|
772
|
+
|
|
773
|
+
# Start telemetry packet logging.
|
|
774
|
+
#
|
|
775
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
|
776
|
+
# is writing the telemetry logs
|
|
777
|
+
# @param label [String] Optional label to apply to the telemetry packet log
|
|
778
|
+
# filename
|
|
779
|
+
def start_tlm_log(packet_log_writer_name = 'ALL', label = nil)
|
|
780
|
+
CmdTlmServer.packet_logging.start_tlm(packet_log_writer_name, label)
|
|
781
|
+
nil
|
|
782
|
+
end
|
|
783
|
+
|
|
784
|
+
# Stop command packet logging.
|
|
785
|
+
#
|
|
786
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
|
787
|
+
# is writing the command log
|
|
788
|
+
def stop_cmd_log(packet_log_writer_name = 'ALL')
|
|
789
|
+
CmdTlmServer.packet_logging.stop_cmd(packet_log_writer_name)
|
|
790
|
+
nil
|
|
791
|
+
end
|
|
792
|
+
|
|
793
|
+
# Stop telemetry packet logging.
|
|
794
|
+
#
|
|
795
|
+
# @param packet_log_writer_name [String] The name of the packet log writer which
|
|
796
|
+
# is writing the telemetry log
|
|
797
|
+
def stop_tlm_log(packet_log_writer_name = 'ALL')
|
|
798
|
+
CmdTlmServer.packet_logging.stop_tlm(packet_log_writer_name)
|
|
799
|
+
nil
|
|
800
|
+
end
|
|
801
|
+
|
|
802
|
+
# Starts raw logging for an interface
|
|
803
|
+
#
|
|
804
|
+
# @param interface_name [String] The name of the interface
|
|
805
|
+
def start_raw_logging_interface(interface_name = 'ALL')
|
|
806
|
+
CmdTlmServer.interfaces.start_raw_logging(interface_name)
|
|
807
|
+
nil
|
|
808
|
+
end
|
|
809
|
+
|
|
810
|
+
# Stop raw logging for an interface
|
|
811
|
+
#
|
|
812
|
+
# @param interface_name [String] The name of the interface
|
|
813
|
+
def stop_raw_logging_interface(interface_name = 'ALL')
|
|
814
|
+
CmdTlmServer.interfaces.stop_raw_logging(interface_name)
|
|
815
|
+
nil
|
|
816
|
+
end
|
|
817
|
+
|
|
818
|
+
# Starts raw logging for a router
|
|
819
|
+
#
|
|
820
|
+
# @param router_name [String] The name of the router
|
|
821
|
+
def start_raw_logging_router(router_name = 'ALL')
|
|
822
|
+
CmdTlmServer.routers.start_raw_logging(router_name)
|
|
823
|
+
nil
|
|
824
|
+
end
|
|
825
|
+
|
|
826
|
+
# Stops raw logging for a router
|
|
827
|
+
#
|
|
828
|
+
# @param router_name [String] The name of the router
|
|
829
|
+
def stop_raw_logging_router(router_name = 'ALL')
|
|
830
|
+
CmdTlmServer.routers.stop_raw_logging(router_name)
|
|
831
|
+
nil
|
|
832
|
+
end
|
|
833
|
+
|
|
834
|
+
# @return [String] The server message log filename
|
|
835
|
+
def get_server_message_log_filename
|
|
836
|
+
CmdTlmServer.message_log.filename
|
|
837
|
+
end
|
|
838
|
+
|
|
839
|
+
# Starts a new server message log
|
|
840
|
+
def start_new_server_message_log
|
|
841
|
+
CmdTlmServer.message_log.start
|
|
842
|
+
nil
|
|
843
|
+
end
|
|
844
|
+
|
|
845
|
+
private
|
|
846
|
+
|
|
847
|
+
def cmd_implementation(range_check, hazardous_check, raw, method_name, *args)
|
|
848
|
+
case args.length
|
|
849
|
+
when 1
|
|
850
|
+
target_name, cmd_name, cmd_params = extract_fields_from_cmd_text(args[0])
|
|
851
|
+
when 2, 3
|
|
852
|
+
target_name = args[0]
|
|
853
|
+
cmd_name = args[1]
|
|
854
|
+
if args.length == 2
|
|
855
|
+
cmd_params = {}
|
|
856
|
+
else
|
|
857
|
+
cmd_params = args[2]
|
|
858
|
+
end
|
|
859
|
+
else
|
|
860
|
+
# Invalid number of arguments
|
|
861
|
+
raise "ERROR: Invalid number of arguments (#{args.length}) passed to #{method_name}()"
|
|
862
|
+
end
|
|
863
|
+
|
|
864
|
+
if hazardous_check
|
|
865
|
+
hazardous, hazardous_description = System.commands.cmd_hazardous?(target_name, cmd_name, cmd_params)
|
|
866
|
+
if hazardous
|
|
867
|
+
error = HazardousError.new
|
|
868
|
+
error.target_name = target_name
|
|
869
|
+
error.cmd_name = cmd_name
|
|
870
|
+
error.cmd_params = cmd_params
|
|
871
|
+
error.hazardous_description = hazardous_description
|
|
872
|
+
raise error
|
|
873
|
+
end
|
|
874
|
+
end
|
|
875
|
+
|
|
876
|
+
# Build the command
|
|
877
|
+
begin
|
|
878
|
+
command = System.commands.build_cmd(target_name, cmd_name, cmd_params, range_check, raw)
|
|
879
|
+
rescue Exception => e
|
|
880
|
+
Logger.error e.message
|
|
881
|
+
raise e
|
|
882
|
+
end
|
|
883
|
+
|
|
884
|
+
# Send the command
|
|
885
|
+
@disconnect = false unless defined? @disconnect
|
|
886
|
+
CmdTlmServer.commanding.send_command_to_target(target_name, command) unless @disconnect
|
|
887
|
+
|
|
888
|
+
[target_name, cmd_name, cmd_params]
|
|
889
|
+
end
|
|
890
|
+
|
|
891
|
+
def tlm_process_args(args, function_name)
|
|
892
|
+
case args.length
|
|
893
|
+
when 1
|
|
894
|
+
target_name, packet_name, item_name = extract_fields_from_tlm_text(args[0])
|
|
895
|
+
when 3
|
|
896
|
+
target_name = args[0]
|
|
897
|
+
packet_name = args[1]
|
|
898
|
+
item_name = args[2]
|
|
899
|
+
else
|
|
900
|
+
# Invalid number of arguments
|
|
901
|
+
raise "ERROR: Invalid number of arguments (#{args.length}) passed to #{function_name}()"
|
|
902
|
+
end
|
|
903
|
+
return [target_name, packet_name, item_name]
|
|
904
|
+
end
|
|
905
|
+
|
|
906
|
+
def tlm_variable_process_args(args, function_name)
|
|
907
|
+
case args.length
|
|
908
|
+
when 2
|
|
909
|
+
target_name, packet_name, item_name = extract_fields_from_tlm_text(args[0])
|
|
910
|
+
value_type = args[1].to_s.intern
|
|
911
|
+
when 4
|
|
912
|
+
target_name = args[0]
|
|
913
|
+
packet_name = args[1]
|
|
914
|
+
item_name = args[2]
|
|
915
|
+
value_type = args[3].to_s.intern
|
|
916
|
+
else
|
|
917
|
+
# Invalid number of arguments
|
|
918
|
+
raise "ERROR: Invalid number of arguments (#{args.length}) passed to #{function_name}()"
|
|
919
|
+
end
|
|
920
|
+
return [target_name, packet_name, item_name, value_type]
|
|
921
|
+
end
|
|
922
|
+
|
|
923
|
+
def set_tlm_process_args(args, function_name)
|
|
924
|
+
case args.length
|
|
925
|
+
when 1
|
|
926
|
+
target_name, packet_name, item_name, value = extract_fields_from_set_tlm_text(args[0])
|
|
927
|
+
when 4
|
|
928
|
+
target_name = args[0]
|
|
929
|
+
packet_name = args[1]
|
|
930
|
+
item_name = args[2]
|
|
931
|
+
value = args[3]
|
|
932
|
+
else
|
|
933
|
+
# Invalid number of arguments
|
|
934
|
+
raise "ERROR: Invalid number of arguments (#{args.length}) passed to #{function_name}()"
|
|
935
|
+
end
|
|
936
|
+
return [target_name, packet_name, item_name, value]
|
|
937
|
+
end
|
|
938
|
+
|
|
939
|
+
end # module Api
|
|
940
|
+
end # module Cosmos
|