cosmos 4.0.0-universal-java-1.8
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/.coveralls.yml +1 -0
- data/.gitattributes +3 -0
- data/.gitignore +48 -0
- data/.rubocop.yml +23 -0
- data/.travis.yml +10 -0
- data/.yardopts +3 -0
- data/CONTRIBUTING.txt +50 -0
- data/Gemfile +10 -0
- data/Guardfile +27 -0
- data/LICENSE.txt +879 -0
- data/Manifest.txt +1536 -0
- data/README.md +111 -0
- data/Rakefile +264 -0
- data/autohotkey/config/data/attitude.bin +0 -0
- data/autohotkey/config/data/diamond.STL +58 -0
- data/autohotkey/config/data/groundoff.gif +0 -0
- data/autohotkey/config/data/groundon.gif +0 -0
- data/autohotkey/config/data/position.bin +0 -0
- data/autohotkey/config/data/satellite.gif +0 -0
- data/autohotkey/config/data/tada.wav +0 -0
- data/autohotkey/config/system/system.txt +29 -0
- data/autohotkey/config/targets/INST/cmd_tlm/inst_cmds.txt +126 -0
- data/autohotkey/config/targets/INST/cmd_tlm/inst_tlm.txt +270 -0
- data/autohotkey/config/targets/INST/cmd_tlm_server.txt +5 -0
- data/autohotkey/config/targets/INST/doc/README.txt +1 -0
- data/autohotkey/config/targets/INST/lib/example_limits_response.rb +30 -0
- data/autohotkey/config/targets/INST/lib/sim_inst.rb +305 -0
- data/autohotkey/config/targets/INST/screens/_footer.txt +4 -0
- data/autohotkey/config/targets/INST/screens/adcs.txt +46 -0
- data/autohotkey/config/targets/INST/screens/array.txt +7 -0
- data/autohotkey/config/targets/INST/screens/block.txt +8 -0
- data/autohotkey/config/targets/INST/screens/commanding.txt +30 -0
- data/autohotkey/config/targets/INST/screens/extra.txt +19 -0
- data/autohotkey/config/targets/INST/screens/graphs.txt +14 -0
- data/autohotkey/config/targets/INST/screens/ground.txt +25 -0
- data/autohotkey/config/targets/INST/screens/health_status.txt +33 -0
- data/autohotkey/config/targets/INST/screens/hs.txt +46 -0
- data/autohotkey/config/targets/INST/screens/image.txt +21 -0
- data/autohotkey/config/targets/INST/screens/latest.txt +23 -0
- data/autohotkey/config/targets/INST/screens/mech.txt +25 -0
- data/autohotkey/config/targets/INST/screens/other.txt +25 -0
- data/autohotkey/config/targets/INST/screens/params.txt +25 -0
- data/autohotkey/config/targets/INST/screens/tabs.txt +68 -0
- data/autohotkey/config/targets/INST/sequences/run_sequence.txt +1 -0
- data/autohotkey/config/targets/INST/target.txt +27 -0
- data/autohotkey/config/targets/META/cmd_tlm/meta_cmd.txt +10 -0
- data/autohotkey/config/targets/META/cmd_tlm/meta_tlm.txt +9 -0
- data/autohotkey/config/targets/META/screens/data.txt +12 -0
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +7 -0
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/system_cmds.txt +41 -0
- data/autohotkey/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/autohotkey/config/targets/SYSTEM/screens/error.txt +11 -0
- data/autohotkey/config/targets/SYSTEM/screens/limits_change.txt +14 -0
- data/autohotkey/config/targets/SYSTEM/screens/meta.txt +14 -0
- data/autohotkey/config/targets/SYSTEM/target.txt +12 -0
- data/autohotkey/config/tools/cmd_sender/cmd_sender.txt +1 -0
- data/autohotkey/config/tools/cmd_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/OldOneDimensionalTable_def.txt +19 -0
- data/autohotkey/config/tools/table_manager/OldTwoDimensionalTable_def.txt +248 -0
- data/autohotkey/config/tools/table_manager/OneDimensionalTable_def.txt +31 -0
- data/autohotkey/config/tools/table_manager/TwoDimensionalTable_def.txt +28 -0
- data/autohotkey/config/tools/test_runner/test_runner.txt +8 -0
- data/autohotkey/config/tools/test_runner/test_runner2.txt +11 -0
- data/autohotkey/config/tools/test_runner/test_runner3.txt +7 -0
- data/autohotkey/config/tools/test_runner/test_runner4.txt +1 -0
- data/autohotkey/config/tools/tlm_extractor/tlm_extractor.txt +14 -0
- data/autohotkey/config/tools/tlm_extractor/tlm_extractor2.txt +9 -0
- data/autohotkey/config/tools/tlm_grapher/README.txt +1 -0
- data/autohotkey/config/tools/tlm_grapher/bad.txt +50 -0
- data/autohotkey/config/tools/tlm_grapher/temp1-4.txt +51 -0
- data/autohotkey/config/tools/tlm_grapher/test2.txt +111 -0
- data/autohotkey/config/tools/tlm_viewer/tlm_viewer.txt +24 -0
- data/autohotkey/config/tools/tlm_viewer/tlm_viewer2.txt +4 -0
- data/autohotkey/config/tools/tlm_viewer/tlm_viewer3.txt +3 -0
- data/autohotkey/lib/example_background_task.rb +42 -0
- data/autohotkey/lib/user_version.rb +3 -0
- data/autohotkey/procedures/clear_util.rb +7 -0
- data/autohotkey/procedures/collect.rb +18 -0
- data/autohotkey/procedures/collect_util.rb +14 -0
- data/autohotkey/procedures/example_test.rb +71 -0
- data/autohotkey/procedures/example_test2.rb +74 -0
- data/autohotkey/procedures/script_test.rb +21 -0
- data/autohotkey/procedures/syntax_error.rb +18 -0
- data/autohotkey/tools/CmdExtractorAHK +16 -0
- data/autohotkey/tools/CmdSender +14 -0
- data/autohotkey/tools/CmdSenderAHK +18 -0
- data/autohotkey/tools/CmdSequence +14 -0
- data/autohotkey/tools/CmdSequenceAHK +23 -0
- data/autohotkey/tools/CmdSequenceAHK2 +16 -0
- data/autohotkey/tools/CmdTlmServer +14 -0
- data/autohotkey/tools/CmdTlmServerAHK +28 -0
- data/autohotkey/tools/CmdTlmServerAHK2 +17 -0
- data/autohotkey/tools/DataViewer +14 -0
- data/autohotkey/tools/DataViewerAHK +17 -0
- data/autohotkey/tools/HandbookCreatorAHK +20 -0
- data/autohotkey/tools/LauncherAHK +17 -0
- data/autohotkey/tools/LimitsMonitorAHK +20 -0
- data/autohotkey/tools/OpenGLBuilderAHK +24 -0
- data/autohotkey/tools/PacketViewer +14 -0
- data/autohotkey/tools/PacketViewerAHK +18 -0
- data/autohotkey/tools/PacketViewerAHK2 +17 -0
- data/autohotkey/tools/Replay +14 -0
- data/autohotkey/tools/ReplayAHK +17 -0
- data/autohotkey/tools/ScriptRunner +14 -0
- data/autohotkey/tools/ScriptRunnerAHK +20 -0
- data/autohotkey/tools/ScriptRunnerAHK2 +17 -0
- data/autohotkey/tools/TableManager +14 -0
- data/autohotkey/tools/TableManagerAHK +25 -0
- data/autohotkey/tools/TableManagerAHK2 +18 -0
- data/autohotkey/tools/TableManagerAHK3 +18 -0
- data/autohotkey/tools/TableManagerAHK4 +24 -0
- data/autohotkey/tools/TestRunner +15 -0
- data/autohotkey/tools/TestRunnerAHK +17 -0
- data/autohotkey/tools/TestRunnerAHK2 +17 -0
- data/autohotkey/tools/TestRunnerAHK3 +17 -0
- data/autohotkey/tools/TestRunnerAHK4 +17 -0
- data/autohotkey/tools/TestRunnerAHK5 +17 -0
- data/autohotkey/tools/TestRunnerAHK6 +17 -0
- data/autohotkey/tools/TlmExtractor +15 -0
- data/autohotkey/tools/TlmExtractorAHK +19 -0
- data/autohotkey/tools/TlmExtractorAHK2 +16 -0
- data/autohotkey/tools/TlmExtractorAHK3 +16 -0
- data/autohotkey/tools/TlmGrapher +14 -0
- data/autohotkey/tools/TlmGrapherAHK +19 -0
- data/autohotkey/tools/TlmGrapherAHK2 +23 -0
- data/autohotkey/tools/TlmGrapherAHK3 +17 -0
- data/autohotkey/tools/TlmGrapherAHK4 +17 -0
- data/autohotkey/tools/TlmViewer +14 -0
- data/autohotkey/tools/TlmViewerAHK +28 -0
- data/autohotkey/tools/TlmViewerAHK2 +22 -0
- data/autohotkey/tools/TlmViewerAHK3 +23 -0
- data/autohotkey/tools/TlmViewerAHK4 +22 -0
- data/autohotkey/tools/TlmViewerAHK5 +18 -0
- data/autohotkey/tools/autohotkey.rb +38 -0
- data/autohotkey/tools/cmd_extractor.ahk +50 -0
- data/autohotkey/tools/cmd_sender.ahk +180 -0
- data/autohotkey/tools/cmd_sequence.ahk +215 -0
- data/autohotkey/tools/cmd_sequence2.ahk +23 -0
- data/autohotkey/tools/cmd_tlm_server.ahk +90 -0
- data/autohotkey/tools/cmd_tlm_server2.ahk +45 -0
- data/autohotkey/tools/data_viewer.ahk +140 -0
- data/autohotkey/tools/handbook_creator.ahk +32 -0
- data/autohotkey/tools/launcher.ahk +41 -0
- data/autohotkey/tools/limits_monitor.ahk +121 -0
- data/autohotkey/tools/open_gl_builder.ahk +133 -0
- data/autohotkey/tools/packet_viewer.ahk +216 -0
- data/autohotkey/tools/packet_viewer2.ahk +9 -0
- data/autohotkey/tools/replay.ahk +103 -0
- data/autohotkey/tools/script_runner.ahk +588 -0
- data/autohotkey/tools/script_runner2.ahk +50 -0
- data/autohotkey/tools/table_manager.ahk +291 -0
- data/autohotkey/tools/test_runner.ahk +262 -0
- data/autohotkey/tools/test_runner2.ahk +49 -0
- data/autohotkey/tools/test_runner3.ahk +11 -0
- data/autohotkey/tools/test_runner5.ahk +8 -0
- data/autohotkey/tools/test_runner6.ahk +5 -0
- data/autohotkey/tools/tlm_extractor.ahk +357 -0
- data/autohotkey/tools/tlm_grapher.ahk +658 -0
- data/autohotkey/tools/tlm_grapher2.ahk +115 -0
- data/autohotkey/tools/tlm_grapher3.ahk +23 -0
- data/autohotkey/tools/tlm_viewer.ahk +138 -0
- data/autohotkey/tools/tlm_viewer2.ahk +49 -0
- data/autohotkey/tools/tlm_viewer4.ahk +4 -0
- data/autohotkey/tools/tlm_viewer5.ahk +19 -0
- data/bin/cosmos +266 -0
- data/bin/cstol_converter +1166 -0
- data/bin/exchndl20-x64.dll +0 -0
- data/bin/exchndl20.dll +0 -0
- data/bin/exchndl21-x64.dll +0 -0
- data/bin/exchndl21.dll +0 -0
- data/bin/exchndl22-x64.dll +0 -0
- data/bin/exchndl22.dll +0 -0
- data/bin/mgwhelp-x64.dll +0 -0
- data/bin/mgwhelp.dll +0 -0
- data/bin/rubysloc +85 -0
- data/bin/xtce_converter +83 -0
- data/cosmos.gemspec +107 -0
- data/data/COSMOS_64x64.bmp +0 -0
- data/data/COSMOS_64x64.ico +0 -0
- data/data/COSMOS_64x64.png +0 -0
- data/data/COSMOS_Architecture.png +0 -0
- data/data/CheckBoxCheck.gif +0 -0
- data/data/CheckBoxEmpty.gif +0 -0
- data/data/Earthmap1024x512.gif +0 -0
- data/data/about.txt +4 -0
- data/data/add_database.png +0 -0
- data/data/add_plot.png +0 -0
- data/data/add_tab.png +0 -0
- data/data/blank.png +0 -0
- data/data/bug.png +0 -0
- data/data/checkmark.png +0 -0
- data/data/close.png +0 -0
- data/data/cmd_extractor.png +0 -0
- data/data/cmd_sender.png +0 -0
- data/data/cmd_sequence.png +0 -0
- data/data/config/_array_params.yaml +23 -0
- data/data/config/_id_items.yaml +24 -0
- data/data/config/_id_params.yaml +58 -0
- data/data/config/_interfaces.yaml +206 -0
- data/data/config/_items.yaml +20 -0
- data/data/config/_params.yaml +58 -0
- data/data/config/cmd_tlm_server.yaml +110 -0
- data/data/config/command.yaml +38 -0
- data/data/config/command_modifiers.yaml +127 -0
- data/data/config/command_telemetry.yaml +3 -0
- data/data/config/data_viewer.yaml +43 -0
- data/data/config/handbook_creator.yaml +23 -0
- data/data/config/housekeeping_params.yaml +71 -0
- data/data/config/interface_modifiers.yaml +44 -0
- data/data/config/item_modifiers.yaml +172 -0
- data/data/config/launcher.yaml +117 -0
- data/data/config/limits_monitor.yaml +53 -0
- data/data/config/linegraph_params.yaml +30 -0
- data/data/config/linegraph_plot.yaml +106 -0
- data/data/config/page_modifiers.yaml +128 -0
- data/data/config/param_item_modifiers.yaml +41 -0
- data/data/config/parameter_modifiers.yaml +144 -0
- data/data/config/protocols.yaml +257 -0
- data/data/config/screen.yaml +151 -0
- data/data/config/script_runner.yaml +15 -0
- data/data/config/system.yaml +153 -0
- data/data/config/table_manager.yaml +76 -0
- data/data/config/table_parameter_modifiers.yaml +9 -0
- data/data/config/target.yaml +71 -0
- data/data/config/telemetry.yaml +73 -0
- data/data/config/telemetry_modifiers.yaml +129 -0
- data/data/config/test_runner.yaml +118 -0
- data/data/config/tlm_extractor.yaml +109 -0
- data/data/config/tlm_grapher.yaml +78 -0
- data/data/config/tlm_viewer.yaml +107 -0
- data/data/config/unknown.yaml +3 -0
- data/data/config/widgets.yaml +1339 -0
- data/data/config/xy_params.yaml +50 -0
- data/data/config/xy_plot.yaml +12 -0
- data/data/config_editor.png +0 -0
- data/data/copy.png +0 -0
- data/data/cosmos.xcf +0 -0
- data/data/cosmos_word.gif +0 -0
- data/data/crc.txt +350 -0
- data/data/critical.wav +0 -0
- data/data/cts.png +0 -0
- data/data/cut.png +0 -0
- data/data/data_viewer.png +0 -0
- data/data/delete.png +0 -0
- data/data/delete_database.png +0 -0
- data/data/delete_plot.png +0 -0
- data/data/delete_tab.png +0 -0
- data/data/diamond.STL +58 -0
- data/data/disconnected.png +0 -0
- data/data/edit.png +0 -0
- data/data/edit_database.png +0 -0
- data/data/edit_plot.png +0 -0
- data/data/edit_tab.png +0 -0
- data/data/end-26.png +0 -0
- data/data/fast_forward-26.png +0 -0
- data/data/file.png +0 -0
- data/data/handbook_creator.png +0 -0
- data/data/help.png +0 -0
- data/data/html-32.png +0 -0
- data/data/information.wav +0 -0
- data/data/input.wav +0 -0
- data/data/launcher.png +0 -0
- data/data/legal.gif +0 -0
- data/data/legal.txt +8 -0
- data/data/limits_monitor.png +0 -0
- data/data/message.wav +0 -0
- data/data/moonmap1k.gif +0 -0
- data/data/multi.png +0 -0
- data/data/open.png +0 -0
- data/data/open_in_browser-32.png +0 -0
- data/data/opengl_builder.png +0 -0
- data/data/packet_viewer.png +0 -0
- data/data/pdf-32.png +0 -0
- data/data/play-26.png +0 -0
- data/data/question.wav +0 -0
- data/data/redo.png +0 -0
- data/data/replay.png +0 -0
- data/data/reverse-play-26.png +0 -0
- data/data/rewind-26.png +0 -0
- data/data/running.png +0 -0
- data/data/save.png +0 -0
- data/data/save_as.png +0 -0
- data/data/screenshot.png +0 -0
- data/data/script_runner.png +0 -0
- data/data/search-14.png +0 -0
- data/data/search.png +0 -0
- data/data/send_file.png +0 -0
- data/data/skip_to_start-26.png +0 -0
- data/data/spinner.gif +0 -0
- data/data/splash.gif +0 -0
- data/data/stop-26.png +0 -0
- data/data/table_manager.png +0 -0
- data/data/test_runner.png +0 -0
- data/data/tlm_extractor.png +0 -0
- data/data/tlm_grapher.png +0 -0
- data/data/tlm_viewer.png +0 -0
- data/data/undo.png +0 -0
- data/data/warning.wav +0 -0
- data/demo/Gemfile +10 -0
- data/demo/Launcher +16 -0
- data/demo/Launcher.bat +9 -0
- data/demo/Rakefile +77 -0
- data/demo/config/data/attitude.bin +0 -0
- data/demo/config/data/crc.txt +253 -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 +1 -0
- data/demo/config/data/position.bin +0 -0
- data/demo/config/data/poweroff.gif +0 -0
- data/demo/config/data/poweron.gif +0 -0
- data/demo/config/data/satellite.gif +0 -0
- data/demo/config/data/tada.wav +0 -0
- data/demo/config/data/vswitchoff.gif +0 -0
- data/demo/config/data/vswitchon.gif +0 -0
- data/demo/config/system/system.txt +47 -0
- data/demo/config/system/system2.txt +43 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm/example_cmds.txt +2 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm/example_tlm.txt +5 -0
- data/demo/config/targets/EXAMPLE/cmd_tlm_server.txt +6 -0
- data/demo/config/targets/EXAMPLE/lib/example_interface.rb +18 -0
- data/demo/config/targets/EXAMPLE/target.txt +9 -0
- data/demo/config/targets/INST/cmd_tlm/_ccsds_cmd.txt +9 -0
- data/demo/config/targets/INST/cmd_tlm/_ccsds_tlm.txt +19 -0
- data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +57 -0
- data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +164 -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/inst_dump_component.rb +34 -0
- data/demo/config/targets/INST/lib/sim_inst.rb +321 -0
- data/demo/config/targets/INST/procedures/checks.rb +11 -0
- data/demo/config/targets/INST/procedures/collect.rb +18 -0
- data/demo/config/targets/INST/procedures/disconnect.rb +29 -0
- data/demo/config/targets/INST/procedures/utilities/clear.rb +7 -0
- data/demo/config/targets/INST/procedures/utilities/collect.rb +14 -0
- data/demo/config/targets/INST/screens/_footer.txt +4 -0
- data/demo/config/targets/INST/screens/adcs.txt +70 -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 +37 -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 +42 -0
- data/demo/config/targets/INST/screens/latest.txt +23 -0
- data/demo/config/targets/INST/screens/limits.txt +43 -0
- data/demo/config/targets/INST/screens/other.txt +24 -0
- data/demo/config/targets/INST/screens/spacing_box.txt +44 -0
- data/demo/config/targets/INST/screens/spacing_grid.txt +78 -0
- data/demo/config/targets/INST/screens/tabs.txt +68 -0
- data/demo/config/targets/INST/sequences/sequence.tsv +3 -0
- data/demo/config/targets/INST/tables/EventAction.csv +9 -0
- data/demo/config/targets/INST/tables/EventAction.dat +0 -0
- data/demo/config/targets/INST/tables/McConfigTable.csv +20 -0
- data/demo/config/targets/INST/tables/McConfigTable.dat +0 -0
- data/demo/config/targets/INST/target.txt +37 -0
- data/demo/config/targets/INST/tools/data_viewer/data_viewer.txt +2 -0
- data/demo/config/targets/INST/tools/data_viewer/data_viewer2.txt +2 -0
- data/demo/config/targets/INST/tools/table_manager/EventAction_def.txt +6 -0
- data/demo/config/targets/INST/tools/table_manager/McConfigTable_def.txt +38 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +11 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/override.txt +29 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/system_cmds.txt +41 -0
- data/demo/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/demo/config/targets/SYSTEM/cmd_tlm_server.txt +6 -0
- data/demo/config/targets/SYSTEM/lib/limits_groups.rb +39 -0
- data/demo/config/targets/SYSTEM/screens/status.txt +12 -0
- data/demo/config/targets/SYSTEM/target.txt +12 -0
- data/demo/config/targets/TEMPLATED/cmd_tlm/templated_cmds.txt +13 -0
- data/demo/config/targets/TEMPLATED/cmd_tlm/templated_tlm.txt +3 -0
- data/demo/config/targets/TEMPLATED/cmd_tlm_server.txt +6 -0
- data/demo/config/targets/TEMPLATED/lib/templated_interface.rb +59 -0
- data/demo/config/targets/TEMPLATED/target.txt +8 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt +49 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt +42 -0
- data/demo/config/tools/data_viewer/data_viewer.txt +20 -0
- data/demo/config/tools/example_application.css +58 -0
- data/demo/config/tools/handbook_creator/default_toc.xsl +59 -0
- data/demo/config/tools/handbook_creator/handbook_creator.txt +66 -0
- data/demo/config/tools/handbook_creator/templates/command_packets.html.erb +88 -0
- data/demo/config/tools/handbook_creator/templates/command_toc.html.erb +38 -0
- data/demo/config/tools/handbook_creator/templates/footer.html.erb +9 -0
- data/demo/config/tools/handbook_creator/templates/header.html.erb +25 -0
- data/demo/config/tools/handbook_creator/templates/limits_groups.html.erb +13 -0
- data/demo/config/tools/handbook_creator/templates/nav.html.erb +27 -0
- data/demo/config/tools/handbook_creator/templates/overview.html.erb +1 -0
- data/demo/config/tools/handbook_creator/templates/pdf_cover.html.erb +23 -0
- data/demo/config/tools/handbook_creator/templates/pdf_footer.html.erb +33 -0
- data/demo/config/tools/handbook_creator/templates/pdf_header.html.erb +41 -0
- data/demo/config/tools/handbook_creator/templates/telemetry_packets.html.erb +82 -0
- data/demo/config/tools/handbook_creator/templates/telemetry_toc.html.erb +38 -0
- data/demo/config/tools/handbook_creator/templates/title.html.erb +1 -0
- data/demo/config/tools/launcher/launcher.css +7 -0
- data/demo/config/tools/launcher/launcher.txt +48 -0
- data/demo/config/tools/launcher/launcher2.css +10 -0
- data/demo/config/tools/launcher/launcher2.txt +48 -0
- data/demo/config/tools/launcher/launcher_mini.txt +45 -0
- data/demo/config/tools/limits_monitor/README.txt +1 -0
- data/demo/config/tools/opengl_builder/README.txt +1 -0
- data/demo/config/tools/script_runner/script_runner.txt +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 +37 -0
- data/demo/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +34 -0
- data/demo/config/tools/table_manager/PPSSelectionTable_def.txt +9 -0
- data/demo/config/tools/table_manager/TLMMonitoringTable_def.txt +31 -0
- data/demo/config/tools/test_runner/test_runner.css +45 -0
- data/demo/config/tools/test_runner/test_runner.txt +17 -0
- data/demo/config/tools/tlm_extractor/_adcs_time.txt +2 -0
- data/demo/config/tools/tlm_extractor/tlm_extractor.txt +13 -0
- data/demo/config/tools/tlm_extractor/tlm_extractor2.txt +2 -0
- data/demo/config/tools/tlm_extractor/tlm_extractor3.txt +2 -0
- data/demo/config/tools/tlm_extractor/tlm_extractor4.txt +2 -0
- data/demo/config/tools/tlm_grapher/README.txt +1 -0
- data/demo/config/tools/tlm_viewer/tlm_viewer.txt +41 -0
- data/demo/lib/example_background_task.rb +55 -0
- data/demo/lib/example_target.rb +103 -0
- data/demo/lib/scpi_target.rb +68 -0
- data/demo/lib/user_version.rb +3 -0
- data/demo/procedures/cosmos_api_test.rb +310 -0
- data/demo/procedures/example_test.rb +192 -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 +16 -0
- data/demo/tools/CmdExtractor.bat +9 -0
- data/demo/tools/CmdSender +16 -0
- data/demo/tools/CmdSender.bat +9 -0
- data/demo/tools/CmdSequence +16 -0
- data/demo/tools/CmdSequence.bat +9 -0
- data/demo/tools/CmdTlmServer +16 -0
- data/demo/tools/CmdTlmServer.bat +9 -0
- data/demo/tools/ConfigEditor +16 -0
- data/demo/tools/ConfigEditor.bat +9 -0
- data/demo/tools/DataViewer +16 -0
- data/demo/tools/DataViewer.bat +9 -0
- data/demo/tools/ExampleTarget +16 -0
- data/demo/tools/ExampleTarget.bat +9 -0
- data/demo/tools/HandbookCreator +16 -0
- data/demo/tools/HandbookCreator.bat +9 -0
- data/demo/tools/Launcher +16 -0
- data/demo/tools/Launcher.bat +9 -0
- data/demo/tools/LimitsMonitor +16 -0
- data/demo/tools/LimitsMonitor.bat +9 -0
- data/demo/tools/OpenGLBuilder +16 -0
- data/demo/tools/OpenGLBuilder.bat +9 -0
- data/demo/tools/PacketViewer +16 -0
- data/demo/tools/PacketViewer.bat +9 -0
- data/demo/tools/Replay +16 -0
- data/demo/tools/Replay.bat +9 -0
- data/demo/tools/ScpiTarget +16 -0
- data/demo/tools/ScpiTarget.bat +9 -0
- data/demo/tools/ScriptRunner +16 -0
- data/demo/tools/ScriptRunner.bat +9 -0
- data/demo/tools/TableManager +16 -0
- data/demo/tools/TableManager.bat +9 -0
- data/demo/tools/TestRunner +16 -0
- data/demo/tools/TestRunner.bat +9 -0
- data/demo/tools/TlmExtractor +16 -0
- data/demo/tools/TlmExtractor.bat +9 -0
- data/demo/tools/TlmGrapher +16 -0
- data/demo/tools/TlmGrapher.bat +9 -0
- data/demo/tools/TlmViewer +16 -0
- data/demo/tools/TlmViewer.bat +9 -0
- data/demo/tools/ToolLaunch.bat +72 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +16 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/CmdSender.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +16 -0
- data/demo/tools/mac/CmdSender.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/CmdSequence.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +16 -0
- data/demo/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +16 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/DataViewer.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +16 -0
- data/demo/tools/mac/DataViewer.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +16 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/Launcher.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +16 -0
- data/demo/tools/mac/Launcher.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +16 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +16 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/PacketViewer.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +16 -0
- data/demo/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/Replay.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/Replay.app/Contents/MacOS/Replay.rb +16 -0
- data/demo/tools/mac/Replay.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/Replay.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +16 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TableManager.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +16 -0
- data/demo/tools/mac/TableManager.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TestRunner.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +16 -0
- data/demo/tools/mac/TestRunner.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +16 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +16 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/mac/TlmViewer.app/Contents/Info.plist +38 -0
- data/demo/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +16 -0
- data/demo/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +10 -0
- data/demo/tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/demo/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/demo/tools/tool_launch.rb +38 -0
- data/ext/cosmos/ext/array/array.c +111 -0
- data/ext/cosmos/ext/array/extconf.rb +13 -0
- data/ext/cosmos/ext/buffered_file/buffered_file.c +167 -0
- data/ext/cosmos/ext/buffered_file/extconf.rb +13 -0
- data/ext/cosmos/ext/config_parser/config_parser.c +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 +265 -0
- data/ext/cosmos/ext/packet/extconf.rb +13 -0
- data/ext/cosmos/ext/packet/packet.c +350 -0
- data/ext/cosmos/ext/platform/extconf.rb +13 -0
- data/ext/cosmos/ext/platform/platform.c +101 -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 +1433 -0
- data/ext/cosmos/ext/tabbed_plots_config/extconf.rb +13 -0
- data/ext/cosmos/ext/tabbed_plots_config/tabbed_plots_config.c +51 -0
- data/ext/cosmos/ext/telemetry/extconf.rb +13 -0
- data/ext/cosmos/ext/telemetry/telemetry.c +307 -0
- data/ext/mkrf_conf.rb +40 -0
- data/install/Gemfile +10 -0
- data/install/Launcher +16 -0
- data/install/Launcher.bat +9 -0
- data/install/Rakefile +77 -0
- data/install/config/data/README.txt +1 -0
- data/install/config/data/crc.txt +155 -0
- data/install/config/system/system.txt +39 -0
- data/install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +14 -0
- data/install/config/targets/SYSTEM/target.txt +12 -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 +40 -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/procedures/README.txt +1 -0
- data/install/tools/CmdExtractor +16 -0
- data/install/tools/CmdExtractor.bat +9 -0
- data/install/tools/CmdSender +16 -0
- data/install/tools/CmdSender.bat +9 -0
- data/install/tools/CmdSequence +16 -0
- data/install/tools/CmdSequence.bat +9 -0
- data/install/tools/CmdTlmServer +16 -0
- data/install/tools/CmdTlmServer.bat +9 -0
- data/install/tools/ConfigEditor +16 -0
- data/install/tools/ConfigEditor.bat +9 -0
- data/install/tools/DataViewer +16 -0
- data/install/tools/DataViewer.bat +9 -0
- data/install/tools/HandbookCreator +16 -0
- data/install/tools/HandbookCreator.bat +9 -0
- data/install/tools/Launcher +16 -0
- data/install/tools/Launcher.bat +9 -0
- data/install/tools/LimitsMonitor +16 -0
- data/install/tools/LimitsMonitor.bat +9 -0
- data/install/tools/OpenGLBuilder +16 -0
- data/install/tools/OpenGLBuilder.bat +9 -0
- data/install/tools/PacketViewer +16 -0
- data/install/tools/PacketViewer.bat +9 -0
- data/install/tools/Replay +16 -0
- data/install/tools/Replay.bat +9 -0
- data/install/tools/ScriptRunner +16 -0
- data/install/tools/ScriptRunner.bat +9 -0
- data/install/tools/TableManager +16 -0
- data/install/tools/TableManager.bat +9 -0
- data/install/tools/TestRunner +16 -0
- data/install/tools/TestRunner.bat +9 -0
- data/install/tools/TlmExtractor +16 -0
- data/install/tools/TlmExtractor.bat +9 -0
- data/install/tools/TlmGrapher +16 -0
- data/install/tools/TlmGrapher.bat +9 -0
- data/install/tools/TlmViewer +16 -0
- data/install/tools/TlmViewer.bat +9 -0
- data/install/tools/ToolLaunch.bat +72 -0
- data/install/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
- data/install/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +16 -0
- data/install/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/CmdSender.app/Contents/Info.plist +38 -0
- data/install/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +16 -0
- data/install/tools/mac/CmdSender.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/CmdSequence.app/Contents/Info.plist +38 -0
- data/install/tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb +16 -0
- data/install/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/Info.plist +38 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +16 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/DataViewer.app/Contents/Info.plist +38 -0
- data/install/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +16 -0
- data/install/tools/mac/DataViewer.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/HandbookCreator.app/Contents/Info.plist +38 -0
- data/install/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +16 -0
- data/install/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/Launcher.app/Contents/Info.plist +38 -0
- data/install/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +16 -0
- data/install/tools/mac/Launcher.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/Info.plist +38 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +16 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/Info.plist +38 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +16 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/PacketViewer.app/Contents/Info.plist +38 -0
- data/install/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +16 -0
- data/install/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/Replay.app/Contents/Info.plist +38 -0
- data/install/tools/mac/Replay.app/Contents/MacOS/Replay.rb +16 -0
- data/install/tools/mac/Replay.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/Replay.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/ScriptRunner.app/Contents/Info.plist +38 -0
- data/install/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +16 -0
- data/install/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TableManager.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +16 -0
- data/install/tools/mac/TableManager.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TestRunner.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +16 -0
- data/install/tools/mac/TestRunner.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TlmExtractor.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +16 -0
- data/install/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TlmGrapher.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +16 -0
- data/install/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/mac/TlmViewer.app/Contents/Info.plist +38 -0
- data/install/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +16 -0
- data/install/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +10 -0
- data/install/tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb +38 -0
- data/install/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/install/tools/tool_launch.rb +38 -0
- data/lib/cosmos.rb +63 -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 +508 -0
- data/lib/cosmos/config/meta_config_parser.rb +57 -0
- data/lib/cosmos/conversions.rb +13 -0
- data/lib/cosmos/conversions/conversion.rb +49 -0
- data/lib/cosmos/conversions/generic_conversion.rb +67 -0
- data/lib/cosmos/conversions/new_packet_log_conversion.rb +52 -0
- data/lib/cosmos/conversions/polynomial_conversion.rb +79 -0
- data/lib/cosmos/conversions/processor_conversion.rb +56 -0
- data/lib/cosmos/conversions/received_count_conversion.rb +33 -0
- data/lib/cosmos/conversions/received_time_formatted_conversion.rb +37 -0
- data/lib/cosmos/conversions/received_time_seconds_conversion.rb +37 -0
- data/lib/cosmos/conversions/segmented_polynomial_conversion.rb +139 -0
- data/lib/cosmos/conversions/unix_time_conversion.rb +57 -0
- data/lib/cosmos/conversions/unix_time_formatted_conversion.rb +44 -0
- data/lib/cosmos/conversions/unix_time_seconds_conversion.rb +44 -0
- data/lib/cosmos/core_ext.rb +18 -0
- data/lib/cosmos/core_ext/array.rb +397 -0
- data/lib/cosmos/core_ext/class.rb +53 -0
- data/lib/cosmos/core_ext/cosmos_io.rb +45 -0
- data/lib/cosmos/core_ext/exception.rb +52 -0
- data/lib/cosmos/core_ext/file.rb +76 -0
- data/lib/cosmos/core_ext/hash.rb +28 -0
- data/lib/cosmos/core_ext/io.rb +93 -0
- data/lib/cosmos/core_ext/kernel.rb +33 -0
- data/lib/cosmos/core_ext/math.rb +119 -0
- data/lib/cosmos/core_ext/matrix.rb +149 -0
- data/lib/cosmos/core_ext/objectspace.rb +27 -0
- data/lib/cosmos/core_ext/range.rb +18 -0
- data/lib/cosmos/core_ext/socket.rb +32 -0
- data/lib/cosmos/core_ext/string.rb +351 -0
- data/lib/cosmos/core_ext/stringio.rb +24 -0
- data/lib/cosmos/core_ext/time.rb +481 -0
- data/lib/cosmos/ext/.keep +0 -0
- data/lib/cosmos/gui/choosers/combobox_chooser.rb +141 -0
- data/lib/cosmos/gui/choosers/file_chooser.rb +85 -0
- data/lib/cosmos/gui/choosers/float_chooser.rb +67 -0
- data/lib/cosmos/gui/choosers/integer_chooser.rb +69 -0
- data/lib/cosmos/gui/choosers/string_chooser.rb +35 -0
- data/lib/cosmos/gui/choosers/telemetry_chooser.rb +326 -0
- data/lib/cosmos/gui/choosers/value_chooser.rb +67 -0
- data/lib/cosmos/gui/dialogs/about_dialog.rb +166 -0
- data/lib/cosmos/gui/dialogs/calendar_dialog.rb +140 -0
- data/lib/cosmos/gui/dialogs/cmd_details_dialog.rb +51 -0
- data/lib/cosmos/gui/dialogs/cmd_tlm_raw_dialog.rb +163 -0
- data/lib/cosmos/gui/dialogs/details_dialog.rb +190 -0
- data/lib/cosmos/gui/dialogs/exception_dialog.rb +106 -0
- data/lib/cosmos/gui/dialogs/exception_list_dialog.rb +60 -0
- data/lib/cosmos/gui/dialogs/find_replace_dialog.rb +272 -0
- data/lib/cosmos/gui/dialogs/interface_raw_dialog.rb +143 -0
- data/lib/cosmos/gui/dialogs/legal_dialog.rb +183 -0
- data/lib/cosmos/gui/dialogs/packet_log_dialog.rb +97 -0
- data/lib/cosmos/gui/dialogs/progress_dialog.rb +313 -0
- data/lib/cosmos/gui/dialogs/pry_dialog.rb +169 -0
- data/lib/cosmos/gui/dialogs/scroll_text_dialog.rb +51 -0
- data/lib/cosmos/gui/dialogs/select_dialog.rb +59 -0
- data/lib/cosmos/gui/dialogs/set_tlm_dialog.rb +156 -0
- data/lib/cosmos/gui/dialogs/splash.rb +145 -0
- data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +201 -0
- data/lib/cosmos/gui/dialogs/tlm_edit_dialog.rb +79 -0
- data/lib/cosmos/gui/dialogs/tlm_graph_dialog.rb +114 -0
- data/lib/cosmos/gui/line_graph/line_graph.rb +482 -0
- data/lib/cosmos/gui/line_graph/line_graph_dialog.rb +36 -0
- data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +521 -0
- data/lib/cosmos/gui/line_graph/line_graph_popups.rb +112 -0
- data/lib/cosmos/gui/line_graph/line_graph_scaling.rb +452 -0
- data/lib/cosmos/gui/line_graph/line_graph_script.rb +81 -0
- data/lib/cosmos/gui/line_graph/lines.rb +304 -0
- data/lib/cosmos/gui/line_graph/overview_graph.rb +474 -0
- data/lib/cosmos/gui/opengl/earth_model.rb +25 -0
- data/lib/cosmos/gui/opengl/gl_bounds.rb +55 -0
- data/lib/cosmos/gui/opengl/gl_light.rb +38 -0
- data/lib/cosmos/gui/opengl/gl_material.rb +28 -0
- data/lib/cosmos/gui/opengl/gl_scene.rb +78 -0
- data/lib/cosmos/gui/opengl/gl_shape.rb +150 -0
- data/lib/cosmos/gui/opengl/gl_viewer.rb +712 -0
- data/lib/cosmos/gui/opengl/gl_viewport.rb +34 -0
- data/lib/cosmos/gui/opengl/moon_model.rb +25 -0
- data/lib/cosmos/gui/opengl/opengl.rb +8 -0
- data/lib/cosmos/gui/opengl/stl_reader.rb +210 -0
- data/lib/cosmos/gui/opengl/stl_shape.rb +127 -0
- data/lib/cosmos/gui/opengl/texture_mapped_sphere.rb +202 -0
- data/lib/cosmos/gui/qt.rb +841 -0
- data/lib/cosmos/gui/qt_tool.rb +489 -0
- data/lib/cosmos/gui/text/completion.rb +402 -0
- data/lib/cosmos/gui/text/completion_line_edit.rb +30 -0
- data/lib/cosmos/gui/text/completion_text_edit.rb +194 -0
- data/lib/cosmos/gui/text/ruby_editor.rb +463 -0
- data/lib/cosmos/gui/utilities/analyze_log.rb +153 -0
- data/lib/cosmos/gui/utilities/screenshot.rb +33 -0
- data/lib/cosmos/gui/utilities/script_module_gui.rb +364 -0
- data/lib/cosmos/gui/widgets/full_text_search_line_edit.rb +171 -0
- data/lib/cosmos/gui/widgets/packet_log_frame.rb +344 -0
- data/lib/cosmos/gui/widgets/realtime_button_bar.rb +98 -0
- data/lib/cosmos/interfaces.rb +21 -0
- data/lib/cosmos/interfaces/cmd_tlm_server_interface.rb +134 -0
- data/lib/cosmos/interfaces/interface.rb +449 -0
- data/lib/cosmos/interfaces/linc_interface.rb +459 -0
- data/lib/cosmos/interfaces/protocols/burst_protocol.rb +173 -0
- data/lib/cosmos/interfaces/protocols/crc_protocol.rb +141 -0
- data/lib/cosmos/interfaces/protocols/fixed_protocol.rb +114 -0
- data/lib/cosmos/interfaces/protocols/length_protocol.rb +147 -0
- data/lib/cosmos/interfaces/protocols/override_protocol.rb +52 -0
- data/lib/cosmos/interfaces/protocols/preidentified_protocol.rb +141 -0
- data/lib/cosmos/interfaces/protocols/protocol.rb +60 -0
- data/lib/cosmos/interfaces/protocols/template_protocol.rb +209 -0
- data/lib/cosmos/interfaces/protocols/terminated_protocol.rb +81 -0
- data/lib/cosmos/interfaces/serial_interface.rb +81 -0
- data/lib/cosmos/interfaces/simulated_target_interface.rb +140 -0
- data/lib/cosmos/interfaces/stream_interface.rb +64 -0
- data/lib/cosmos/interfaces/tcpip_client_interface.rb +60 -0
- data/lib/cosmos/interfaces/tcpip_server_interface.rb +625 -0
- data/lib/cosmos/interfaces/udp_interface.rb +141 -0
- data/lib/cosmos/io/buffered_file.rb +101 -0
- data/lib/cosmos/io/cosmos_snmp.rb +50 -0
- data/lib/cosmos/io/io_multiplexer.rb +71 -0
- data/lib/cosmos/io/json_drb.rb +386 -0
- data/lib/cosmos/io/json_drb_object.rb +201 -0
- data/lib/cosmos/io/json_rpc.rb +365 -0
- data/lib/cosmos/io/posix_serial_driver.rb +147 -0
- data/lib/cosmos/io/raw_logger.rb +170 -0
- data/lib/cosmos/io/raw_logger_pair.rb +71 -0
- data/lib/cosmos/io/serial_driver.rb +94 -0
- data/lib/cosmos/io/stderr.rb +36 -0
- data/lib/cosmos/io/stdout.rb +36 -0
- data/lib/cosmos/io/udp_sockets.rb +152 -0
- data/lib/cosmos/io/win32_serial_driver.rb +165 -0
- data/lib/cosmos/packet_logs.rb +6 -0
- data/lib/cosmos/packet_logs/ccsds_log_reader.rb +104 -0
- data/lib/cosmos/packet_logs/packet_log_reader.rb +461 -0
- data/lib/cosmos/packet_logs/packet_log_writer.rb +341 -0
- data/lib/cosmos/packet_logs/packet_log_writer_pair.rb +30 -0
- data/lib/cosmos/packets/binary_accessor.rb +1201 -0
- data/lib/cosmos/packets/commands.rb +313 -0
- data/lib/cosmos/packets/limits.rb +264 -0
- data/lib/cosmos/packets/limits_response.rb +42 -0
- data/lib/cosmos/packets/packet.rb +971 -0
- data/lib/cosmos/packets/packet_config.rb +1392 -0
- data/lib/cosmos/packets/packet_item.rb +576 -0
- data/lib/cosmos/packets/packet_item_limits.rb +140 -0
- data/lib/cosmos/packets/parsers/format_string_parser.rb +58 -0
- data/lib/cosmos/packets/parsers/limits_parser.rb +146 -0
- data/lib/cosmos/packets/parsers/limits_response_parser.rb +52 -0
- data/lib/cosmos/packets/parsers/macro_parser.rb +118 -0
- data/lib/cosmos/packets/parsers/packet_item_parser.rb +234 -0
- data/lib/cosmos/packets/parsers/packet_parser.rb +131 -0
- data/lib/cosmos/packets/parsers/processor_parser.rb +63 -0
- data/lib/cosmos/packets/parsers/state_parser.rb +116 -0
- data/lib/cosmos/packets/structure.rb +508 -0
- data/lib/cosmos/packets/structure_item.rb +292 -0
- data/lib/cosmos/packets/telemetry.rb +444 -0
- data/lib/cosmos/processors.rb +6 -0
- data/lib/cosmos/processors/new_packet_log_processor.rb +39 -0
- data/lib/cosmos/processors/processor.rb +76 -0
- data/lib/cosmos/processors/statistics_processor.rb +70 -0
- data/lib/cosmos/processors/watermark_processor.rb +49 -0
- data/lib/cosmos/script.rb +9 -0
- data/lib/cosmos/script/api_shared.rb +1000 -0
- data/lib/cosmos/script/cmd_tlm_server.rb +138 -0
- data/lib/cosmos/script/commands.rb +189 -0
- data/lib/cosmos/script/extract.rb +139 -0
- data/lib/cosmos/script/limits.rb +116 -0
- data/lib/cosmos/script/script.rb +76 -0
- data/lib/cosmos/script/scripting.rb +146 -0
- data/lib/cosmos/script/telemetry.rb +200 -0
- data/lib/cosmos/script/tools.rb +97 -0
- data/lib/cosmos/streams/serial_stream.rb +150 -0
- data/lib/cosmos/streams/stream.rb +54 -0
- data/lib/cosmos/streams/tcpip_client_stream.rb +113 -0
- data/lib/cosmos/streams/tcpip_socket_stream.rb +186 -0
- data/lib/cosmos/system.rb +4 -0
- data/lib/cosmos/system/system.rb +780 -0
- data/lib/cosmos/system/target.rb +228 -0
- data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +268 -0
- data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +78 -0
- data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +773 -0
- data/lib/cosmos/tools/cmd_sender/cmd_sender_text_edit.rb +70 -0
- data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +652 -0
- data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +510 -0
- data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +194 -0
- data/lib/cosmos/tools/cmd_tlm_server/api.rb +1314 -0
- data/lib/cosmos/tools/cmd_tlm_server/background_task.rb +54 -0
- data/lib/cosmos/tools/cmd_tlm_server/background_tasks.rb +77 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +537 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +274 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +480 -0
- data/lib/cosmos/tools/cmd_tlm_server/commanding.rb +121 -0
- data/lib/cosmos/tools/cmd_tlm_server/connections.rb +175 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +213 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +176 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +157 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +255 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +85 -0
- data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +274 -0
- data/lib/cosmos/tools/cmd_tlm_server/interfaces.rb +153 -0
- data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +121 -0
- data/lib/cosmos/tools/cmd_tlm_server/packet_logging.rb +161 -0
- data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +66 -0
- data/lib/cosmos/tools/cmd_tlm_server/routers.rb +134 -0
- data/lib/cosmos/tools/config_editor/config_editor.rb +720 -0
- data/lib/cosmos/tools/config_editor/config_editor_frame.rb +675 -0
- data/lib/cosmos/tools/data_viewer/data_viewer.rb +633 -0
- data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +120 -0
- data/lib/cosmos/tools/data_viewer/dump_component.rb +40 -0
- data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +156 -0
- data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +382 -0
- data/lib/cosmos/tools/launcher/launcher.rb +194 -0
- data/lib/cosmos/tools/launcher/launcher_config.rb +256 -0
- data/lib/cosmos/tools/launcher/launcher_multitool.rb +40 -0
- data/lib/cosmos/tools/launcher/launcher_tool.rb +116 -0
- data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +972 -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 +616 -0
- data/lib/cosmos/tools/replay/replay.rb +517 -0
- data/lib/cosmos/tools/replay/replay_server.rb +91 -0
- data/lib/cosmos/tools/script_runner/script_audit.rb +147 -0
- data/lib/cosmos/tools/script_runner/script_runner.rb +979 -0
- data/lib/cosmos/tools/script_runner/script_runner_config.rb +40 -0
- data/lib/cosmos/tools/script_runner/script_runner_frame.rb +1838 -0
- data/lib/cosmos/tools/table_manager/table.rb +61 -0
- data/lib/cosmos/tools/table_manager/table_config.rb +189 -0
- data/lib/cosmos/tools/table_manager/table_item.rb +58 -0
- data/lib/cosmos/tools/table_manager/table_item_parser.rb +46 -0
- data/lib/cosmos/tools/table_manager/table_manager.rb +1152 -0
- data/lib/cosmos/tools/table_manager/table_manager_core.rb +321 -0
- data/lib/cosmos/tools/table_manager/table_parser.rb +75 -0
- data/lib/cosmos/tools/test_runner/results_writer.rb +283 -0
- data/lib/cosmos/tools/test_runner/test.rb +539 -0
- data/lib/cosmos/tools/test_runner/test_runner.rb +1271 -0
- data/lib/cosmos/tools/test_runner/test_runner_chooser.rb +341 -0
- data/lib/cosmos/tools/tlm_extractor/text_item_chooser.rb +60 -0
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +1152 -0
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +441 -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 +92 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_adders/singlexy_data_object_adder.rb +44 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_adders/xy_data_object_adder.rb +95 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/data_object_editor.rb +61 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +222 -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 +174 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/data_object.rb +193 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +422 -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 +325 -0
- data/lib/cosmos/tools/tlm_grapher/plot_editors/linegraph_plot_editor.rb +191 -0
- data/lib/cosmos/tools/tlm_grapher/plot_editors/plot_editor.rb +28 -0
- data/lib/cosmos/tools/tlm_grapher/plot_editors/singlexy_plot_editor.rb +30 -0
- data/lib/cosmos/tools/tlm_grapher/plot_editors/xy_plot_editor.rb +59 -0
- data/lib/cosmos/tools/tlm_grapher/plot_gui_objects/linegraph_plot_gui_object.rb +173 -0
- data/lib/cosmos/tools/tlm_grapher/plot_gui_objects/singlexy_plot_gui_object.rb +27 -0
- data/lib/cosmos/tools/tlm_grapher/plot_gui_objects/xy_plot_gui_object.rb +74 -0
- data/lib/cosmos/tools/tlm_grapher/plots/linegraph_plot.rb +209 -0
- data/lib/cosmos/tools/tlm_grapher/plots/plot.rb +69 -0
- data/lib/cosmos/tools/tlm_grapher/plots/singlexy_plot.rb +20 -0
- data/lib/cosmos/tools/tlm_grapher/plots/xy_plot.rb +61 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +1291 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +451 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_data_object_editor.rb +107 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_logfile_thread.rb +114 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_plot_editor.rb +101 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_realtime_thread.rb +78 -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 +103 -0
- data/lib/cosmos/tools/tlm_viewer/screen.rb +502 -0
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +571 -0
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer_config.rb +293 -0
- data/lib/cosmos/tools/tlm_viewer/widgets.rb +61 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/aging_widget.rb +110 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/array_widget.rb +66 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/block_widget.rb +57 -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/canvasdot_widget.rb +79 -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 +125 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/checkbutton_widget.rb +38 -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 +57 -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/labelvaluelimitscolumn_widget.rb +38 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangebar_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/labelvaluerangecolumn_widget.rb +39 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/layout_widget.rb +34 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limits_widget.rb +113 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limitsbar_widget.rb +116 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limitscolor_widget.rb +102 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/limitscolumn_widget.rb +116 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/linegraph_widget.rb +63 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/matrixbycolumns_widget.rb +56 -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 +38 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/rangebar_widget.rb +65 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/rangecolumn_widget.rb +65 -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/spacer_widget.rb +55 -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 +91 -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/valuelimitscolumn_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/valuerangebar_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/valuerangecolumn_widget.rb +37 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/vertical_widget.rb +36 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/verticalbox_widget.rb +38 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +257 -0
- data/lib/cosmos/top_level.rb +778 -0
- data/lib/cosmos/utilities.rb +11 -0
- data/lib/cosmos/utilities/crc.rb +268 -0
- data/lib/cosmos/utilities/csv.rb +137 -0
- data/lib/cosmos/utilities/logger.rb +137 -0
- data/lib/cosmos/utilities/low_fragmentation_array.rb +19 -0
- data/lib/cosmos/utilities/message_log.rb +79 -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 +100 -0
- data/lib/cosmos/utilities/sleeper.rb +44 -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 +325 -0
- data/roodi.yml +24 -0
- data/run_gui_tests.bat +44 -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 +353 -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 +247 -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 +127 -0
- data/spec/core_ext/objectspace_spec.rb +32 -0
- data/spec/core_ext/range_spec.rb +21 -0
- data/spec/core_ext/socket_spec.rb +32 -0
- data/spec/core_ext/string_spec.rb +239 -0
- data/spec/core_ext/stringio_spec.rb +21 -0
- data/spec/core_ext/time_spec.rb +220 -0
- data/spec/gui/line_graph/line_clip_spec.rb +324 -0
- data/spec/gui/qt_spec.rb +104 -0
- data/spec/install/config/system/system.txt +27 -0
- data/spec/install/config/targets/INST/cmd_tlm/inst_cmd_linc.txt +30 -0
- data/spec/install/config/targets/INST/cmd_tlm/inst_cmds.txt +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 +305 -0
- data/spec/install/config/targets/INST/target.txt +10 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm/limits_groups.txt +7 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm/meta_cmd_tlm.txt +16 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm/system_cmds.txt +41 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm/system_tlm.txt +7 -0
- data/spec/install/config/targets/SYSTEM/cmd_tlm_server.txt +6 -0
- data/spec/install/config/targets/SYSTEM/screens/status.txt +12 -0
- data/spec/install/config/targets/SYSTEM/target.txt +12 -0
- data/spec/install/lib/README.txt +1 -0
- data/spec/interfaces/cmd_tlm_server_interface_spec.rb +146 -0
- data/spec/interfaces/interface_spec.rb +514 -0
- data/spec/interfaces/linc_interface_spec.rb +248 -0
- data/spec/interfaces/protocols/burst_protocol_spec.rb +300 -0
- data/spec/interfaces/protocols/crc_protocol_spec.rb +709 -0
- data/spec/interfaces/protocols/fixed_protocol_spec.rb +119 -0
- data/spec/interfaces/protocols/length_protocol_spec.rb +499 -0
- data/spec/interfaces/protocols/override_protocol_spec.rb +158 -0
- data/spec/interfaces/protocols/preidentified_protocol_spec.rb +149 -0
- data/spec/interfaces/protocols/template_protocol_spec.rb +218 -0
- data/spec/interfaces/protocols/terminated_protocol_spec.rb +174 -0
- data/spec/interfaces/serial_interface_spec.rb +57 -0
- data/spec/interfaces/simulated_target_interface_spec.rb +128 -0
- data/spec/interfaces/tcpip_client_interface_spec.rb +60 -0
- data/spec/interfaces/tcpip_server_interface_spec.rb +157 -0
- data/spec/interfaces/udp_interface_spec.rb +240 -0
- data/spec/io/buffered_file_spec.rb +113 -0
- data/spec/io/io_multiplexer_spec.rb +102 -0
- data/spec/io/json_drb_object_spec.rb +119 -0
- data/spec/io/json_drb_spec.rb +297 -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 +137 -0
- data/spec/io/serial_driver_spec.rb +62 -0
- data/spec/io/stderr_spec.rb +32 -0
- data/spec/io/stdout_spec.rb +32 -0
- data/spec/io/udp_sockets_spec.rb +99 -0
- data/spec/io/win32_serial_driver_spec.rb +91 -0
- data/spec/packet_logs/packet_log_reader_spec.rb +553 -0
- data/spec/packet_logs/packet_log_writer_pair_spec.rb +30 -0
- data/spec/packet_logs/packet_log_writer_spec.rb +227 -0
- data/spec/packets/binary_accessor_spec.rb +2326 -0
- data/spec/packets/commands_spec.rb +369 -0
- data/spec/packets/limits_response_spec.rb +25 -0
- data/spec/packets/limits_spec.rb +344 -0
- data/spec/packets/packet_config_spec.rb +949 -0
- data/spec/packets/packet_item_limits_spec.rb +188 -0
- data/spec/packets/packet_item_spec.rb +386 -0
- data/spec/packets/packet_spec.rb +1394 -0
- data/spec/packets/parsers/format_string_parser_spec.rb +122 -0
- data/spec/packets/parsers/limits_parser_spec.rb +282 -0
- data/spec/packets/parsers/limits_response_parser_spec.rb +149 -0
- data/spec/packets/parsers/macro_parser_spec.rb +220 -0
- data/spec/packets/parsers/packet_item_parser_spec.rb +366 -0
- data/spec/packets/parsers/packet_parser_spec.rb +99 -0
- data/spec/packets/parsers/processor_parser_spec.rb +114 -0
- data/spec/packets/parsers/state_parser_spec.rb +156 -0
- data/spec/packets/structure_item_spec.rb +213 -0
- data/spec/packets/structure_spec.rb +565 -0
- data/spec/packets/telemetry_spec.rb +578 -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/cmd_tlm_server_spec.rb +176 -0
- data/spec/script/commands_disconnect_spec.rb +270 -0
- data/spec/script/commands_spec.rb +303 -0
- data/spec/script/extract_spec.rb +158 -0
- data/spec/script/limits_spec.rb +153 -0
- data/spec/script/script_spec.rb +90 -0
- data/spec/script/scripting_spec.rb +745 -0
- data/spec/script/telemetry_spec.rb +174 -0
- data/spec/script/tools_spec.rb +134 -0
- data/spec/spec_helper.rb +225 -0
- data/spec/streams/serial_stream_spec.rb +122 -0
- data/spec/streams/stream_spec.rb +30 -0
- data/spec/streams/tcpip_client_stream_spec.rb +65 -0
- data/spec/streams/tcpip_socket_stream_spec.rb +226 -0
- data/spec/system/system_spec.rb +699 -0
- data/spec/system/target_spec.rb +303 -0
- data/spec/tools/cmd_tlm_server/api_spec.rb +1123 -0
- data/spec/tools/cmd_tlm_server/background_task_spec.rb +44 -0
- data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +227 -0
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +610 -0
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +431 -0
- data/spec/tools/cmd_tlm_server/commanding_spec.rb +151 -0
- data/spec/tools/cmd_tlm_server/connections_spec.rb +235 -0
- data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +401 -0
- data/spec/tools/cmd_tlm_server/interfaces_spec.rb +252 -0
- data/spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb +145 -0
- data/spec/tools/cmd_tlm_server/packet_logging_spec.rb +143 -0
- data/spec/tools/cmd_tlm_server/router_thread_spec.rb +191 -0
- data/spec/tools/cmd_tlm_server/routers_spec.rb +223 -0
- data/spec/tools/launcher/launcher_config_spec.rb +474 -0
- data/spec/tools/table_manager/table_config_spec.rb +226 -0
- data/spec/tools/table_manager/table_item_parser_spec.rb +61 -0
- data/spec/tools/table_manager/table_item_spec.rb +57 -0
- data/spec/tools/table_manager/table_parser_spec.rb +96 -0
- data/spec/tools/table_manager/table_spec.rb +90 -0
- data/spec/tools/table_manager/tablemanager_core_spec.rb +556 -0
- data/spec/top_level/top_level_spec.rb +373 -0
- data/spec/utilities/crc_spec.rb +45 -0
- data/spec/utilities/csv_spec.rb +139 -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/gemfile_stats.rake +79 -0
- data/tasks/manifest.rake +22 -0
- data/tasks/spec.rake +23 -0
- data/test/benchmarks/binary_accessor_benchmark.rb +14 -0
- data/test/benchmarks/gsub_benchmark.rb +152 -0
- data/test/benchmarks/is_a_benchmark.rb +34 -0
- data/test/performance/PACKETS.bat +1 -0
- data/test/performance/Rakefile +77 -0
- data/test/performance/THREADS.bat +1 -0
- data/test/performance/config/data/attitude.bin +0 -0
- data/test/performance/config/data/crc.txt +196 -0
- data/test/performance/config/data/diamond.STL +58 -0
- data/test/performance/config/data/groundoff.gif +0 -0
- data/test/performance/config/data/groundon.gif +0 -0
- data/test/performance/config/data/hselectoff.gif +0 -0
- data/test/performance/config/data/hselecton.gif +0 -0
- data/test/performance/config/data/hswitchoff.gif +0 -0
- data/test/performance/config/data/hswitchon.gif +0 -0
- data/test/performance/config/data/meta_init.txt +4 -0
- data/test/performance/config/data/position.bin +0 -0
- data/test/performance/config/data/poweroff.gif +0 -0
- data/test/performance/config/data/poweron.gif +0 -0
- data/test/performance/config/data/satellite.gif +0 -0
- data/test/performance/config/data/tada.wav +0 -0
- data/test/performance/config/data/vswitchoff.gif +0 -0
- data/test/performance/config/data/vswitchon.gif +0 -0
- data/test/performance/config/system/system_packets.txt +38 -0
- data/test/performance/config/system/system_threads.txt +58 -0
- data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +46 -0
- data/test/performance/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +15 -0
- data/test/performance/config/targets/COSMOS/cmd_tlm_server.txt +6 -0
- data/test/performance/config/targets/COSMOS/screens/limits_change.txt +20 -0
- data/test/performance/config/targets/COSMOS/screens/version.txt +19 -0
- data/test/performance/config/targets/COSMOS/target.txt +11 -0
- data/test/performance/config/targets/PACKET/cmd_tlm/packet_cmds.txt +20 -0
- data/test/performance/config/targets/PACKET/cmd_tlm/packet_tlm.txt +98 -0
- data/test/performance/config/targets/PACKET/cmd_tlm_server.txt +6 -0
- data/test/performance/config/targets/PACKET/lib/packet_interface.rb +22 -0
- data/test/performance/config/targets/PACKET/lib/packet_limits_response.rb +24 -0
- data/test/performance/config/targets/PACKET/screens/status.txt +25 -0
- data/test/performance/config/targets/PACKET/target.txt +28 -0
- data/test/performance/config/targets/SYSTEM/screens/status.txt +12 -0
- data/test/performance/config/targets/THREAD/cmd_tlm/thread_cmds.txt +17 -0
- data/test/performance/config/targets/THREAD/cmd_tlm/thread_tlm.txt +18 -0
- data/test/performance/config/targets/THREAD/cmd_tlm_server.txt +6 -0
- data/test/performance/config/targets/THREAD/lib/thread_interface.rb +22 -0
- data/test/performance/config/targets/THREAD/screens/status.txt +25 -0
- data/test/performance/config/targets/THREAD/target.txt +7 -0
- data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_packets.txt +28 -0
- data/test/performance/config/tools/cmd_tlm_server/cmd_tlm_server_threads.txt +68 -0
- data/test/performance/config/tools/data_viewer/data_viewer.txt +11 -0
- data/test/performance/config/tools/handbook_creator/default_toc.xsl +59 -0
- data/test/performance/config/tools/handbook_creator/handbook_creator.txt +66 -0
- data/test/performance/config/tools/handbook_creator/templates/command_packets.html.erb +86 -0
- data/test/performance/config/tools/handbook_creator/templates/command_toc.html.erb +38 -0
- data/test/performance/config/tools/handbook_creator/templates/footer.html.erb +9 -0
- data/test/performance/config/tools/handbook_creator/templates/header.html.erb +25 -0
- data/test/performance/config/tools/handbook_creator/templates/limits_groups.html.erb +13 -0
- data/test/performance/config/tools/handbook_creator/templates/nav.html.erb +27 -0
- data/test/performance/config/tools/handbook_creator/templates/overview.html.erb +1 -0
- data/test/performance/config/tools/handbook_creator/templates/pdf_cover.html.erb +23 -0
- data/test/performance/config/tools/handbook_creator/templates/pdf_footer.html.erb +33 -0
- data/test/performance/config/tools/handbook_creator/templates/pdf_header.html.erb +41 -0
- data/test/performance/config/tools/handbook_creator/templates/telemetry_packets.html.erb +80 -0
- data/test/performance/config/tools/handbook_creator/templates/telemetry_toc.html.erb +38 -0
- data/test/performance/config/tools/handbook_creator/templates/title.html.erb +1 -0
- data/test/performance/config/tools/launcher/launcher_packets.txt +34 -0
- data/test/performance/config/tools/launcher/launcher_threads.txt +83 -0
- data/test/performance/config/tools/limits_monitor/README.txt +1 -0
- data/test/performance/config/tools/opengl_builder/README.txt +1 -0
- data/test/performance/config/tools/script_runner/script_runner.txt +3 -0
- data/test/performance/config/tools/table_manager/ConfigTables_def.txt +8 -0
- data/test/performance/config/tools/table_manager/ExampleTableDefinition.txt +24 -0
- data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw1_def.txt +25 -0
- data/test/performance/config/tools/table_manager/MCConfigurationTable_fsw2_def.txt +25 -0
- data/test/performance/config/tools/table_manager/PPSSelectionTable_def.txt +8 -0
- data/test/performance/config/tools/table_manager/TLMMonitoringTable_def.txt +248 -0
- data/test/performance/config/tools/test_runner/test_runner.txt +17 -0
- data/test/performance/config/tools/tlm_extractor/tlm_extractor.txt +13 -0
- data/test/performance/config/tools/tlm_extractor/tlm_extractor2.txt +2 -0
- data/test/performance/config/tools/tlm_extractor/tlm_extractor3.txt +2 -0
- data/test/performance/config/tools/tlm_extractor/tlm_extractor4.txt +2 -0
- data/test/performance/config/tools/tlm_grapher/README.txt +1 -0
- data/test/performance/config/tools/tlm_grapher/tlm_grapher.txt +204 -0
- data/test/performance/config/tools/tlm_viewer/tlm_viewer.txt +13 -0
- data/test/performance/lib/packet_target.rb +126 -0
- data/test/performance/lib/thread_target.rb +120 -0
- data/test/performance/lib/user_version.rb +3 -0
- data/test/performance/outputs/handbooks/README.txt +1 -0
- data/test/performance/outputs/logs/README.txt +1 -0
- data/test/performance/outputs/saved_config/README.txt +1 -0
- data/test/performance/outputs/tables/README.txt +1 -0
- data/test/performance/outputs/tmp/README.txt +1 -0
- data/test/performance/procedures/checks.rb +11 -0
- data/test/performance/procedures/clear_util.rb +7 -0
- data/test/performance/procedures/collect.rb +18 -0
- data/test/performance/procedures/collect_util.rb +14 -0
- data/test/performance/procedures/cosmos_api_test.rb +293 -0
- data/test/performance/procedures/disconnect.rb +29 -0
- data/test/performance/procedures/example_test.rb +182 -0
- data/test/performance/procedures/plot_test.rb +8 -0
- data/test/performance/procedures/procedure.rb +3 -0
- data/test/performance/procedures/run_example_test.rb +3 -0
- data/test/performance/procedures/test.rb +51 -0
- data/test/performance/tools/CmdExtractor +14 -0
- data/test/performance/tools/CmdExtractor.bat +59 -0
- data/test/performance/tools/CmdSender +14 -0
- data/test/performance/tools/CmdSender.bat +59 -0
- data/test/performance/tools/CmdTlmServer +16 -0
- data/test/performance/tools/CmdTlmServer.bat +59 -0
- data/test/performance/tools/CmdTlmServerMemProf +20 -0
- data/test/performance/tools/CmdTlmServerMemProf.bat +59 -0
- data/test/performance/tools/DataViewer +14 -0
- data/test/performance/tools/DataViewer.bat +59 -0
- data/test/performance/tools/HandbookCreator +14 -0
- data/test/performance/tools/HandbookCreator.bat +61 -0
- data/test/performance/tools/Launcher +14 -0
- data/test/performance/tools/Launcher.bat +59 -0
- data/test/performance/tools/LimitsMonitor +14 -0
- data/test/performance/tools/LimitsMonitor.bat +59 -0
- data/test/performance/tools/OpenGLBuilder +14 -0
- data/test/performance/tools/OpenGLBuilder.bat +59 -0
- data/test/performance/tools/PacketTarget +14 -0
- data/test/performance/tools/PacketTarget.bat +59 -0
- data/test/performance/tools/PacketViewer +14 -0
- data/test/performance/tools/PacketViewer.bat +59 -0
- data/test/performance/tools/Replay +14 -0
- data/test/performance/tools/Replay.bat +59 -0
- data/test/performance/tools/ScpiTarget +14 -0
- data/test/performance/tools/ScpiTarget.bat +59 -0
- data/test/performance/tools/ScriptRunner +14 -0
- data/test/performance/tools/ScriptRunner.bat +59 -0
- data/test/performance/tools/TableManager +14 -0
- data/test/performance/tools/TableManager.bat +59 -0
- data/test/performance/tools/TestRunner +14 -0
- data/test/performance/tools/TestRunner.bat +59 -0
- data/test/performance/tools/ThreadTarget +14 -0
- data/test/performance/tools/ThreadTarget.bat +59 -0
- data/test/performance/tools/TlmExtractor +14 -0
- data/test/performance/tools/TlmExtractor.bat +59 -0
- data/test/performance/tools/TlmGrapher +14 -0
- data/test/performance/tools/TlmGrapher.bat +59 -0
- data/test/performance/tools/TlmGrapherMemProf +19 -0
- data/test/performance/tools/TlmGrapherMemProf.bat +59 -0
- data/test/performance/tools/TlmViewer +14 -0
- data/test/performance/tools/TlmViewer.bat +59 -0
- data/test/performance/tools/TlmViewerMemProf +19 -0
- data/test/performance/tools/TlmViewerMemProf.bat +59 -0
- data/test/performance/tools/mac/CmdExtractor.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb +15 -0
- data/test/performance/tools/mac/CmdExtractor.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/CmdSender.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb +15 -0
- data/test/performance/tools/mac/CmdSender.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/CmdSender.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/CmdTlmServer.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb +15 -0
- data/test/performance/tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/DataViewer.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb +15 -0
- data/test/performance/tools/mac/DataViewer.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/DataViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/HandbookCreator.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb +15 -0
- data/test/performance/tools/mac/HandbookCreator.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/Launcher.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/Launcher.app/Contents/MacOS/Launcher.rb +15 -0
- data/test/performance/tools/mac/Launcher.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/Launcher.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/LimitsMonitor.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb +15 -0
- data/test/performance/tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb +15 -0
- data/test/performance/tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/PacketViewer.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb +15 -0
- data/test/performance/tools/mac/PacketViewer.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/Replay.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/Replay.app/Contents/MacOS/Replay.rb +15 -0
- data/test/performance/tools/mac/Replay.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/Replay.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/ScriptRunner.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb +15 -0
- data/test/performance/tools/mac/ScriptRunner.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TableManager.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TableManager.app/Contents/MacOS/TableManager.rb +15 -0
- data/test/performance/tools/mac/TableManager.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TableManager.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TestRunner.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb +15 -0
- data/test/performance/tools/mac/TestRunner.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TestRunner.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TlmExtractor.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb +15 -0
- data/test/performance/tools/mac/TlmExtractor.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TlmGrapher.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb +15 -0
- data/test/performance/tools/mac/TlmGrapher.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns +0 -0
- data/test/performance/tools/mac/TlmViewer.app/Contents/Info.plist +38 -0
- data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb +15 -0
- data/test/performance/tools/mac/TlmViewer.app/Contents/MacOS/main.sh +6 -0
- data/test/performance/tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns +0 -0
- metadata +1951 -0
|
Binary file
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
6
|
+
<string>English</string>
|
|
7
|
+
<key>CFBundleDisplayName</key>
|
|
8
|
+
<string>TlmViewer</string>
|
|
9
|
+
<key>CFBundleExecutable</key>
|
|
10
|
+
<string>main.sh</string>
|
|
11
|
+
<key>CFBundleIconFile</key>
|
|
12
|
+
<string>appIcon.icns</string>
|
|
13
|
+
<key>CFBundleIdentifier</key>
|
|
14
|
+
<string>com.ballaerospace.cosmos.TlmViewer</string>
|
|
15
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
16
|
+
<string>6.0</string>
|
|
17
|
+
<key>CFBundleName</key>
|
|
18
|
+
<string>TlmViewer</string>
|
|
19
|
+
<key>CFBundlePackageType</key>
|
|
20
|
+
<string>APPL</string>
|
|
21
|
+
<key>CFBundleShortVersionString</key>
|
|
22
|
+
<string>2.0</string>
|
|
23
|
+
<key>CFBundleVersion</key>
|
|
24
|
+
<string>2.0</string>
|
|
25
|
+
<key>LSMinimumSystemVersion</key>
|
|
26
|
+
<string>10.5.0</string>
|
|
27
|
+
<key>NSHumanReadableCopyright</key>
|
|
28
|
+
<string>© 2014 Ball Aerospace</string>
|
|
29
|
+
<key>NSMainNibFile</key>
|
|
30
|
+
<string>MainMenu</string>
|
|
31
|
+
<key>NSPrincipalClass</key>
|
|
32
|
+
<string>NSApplication</string>
|
|
33
|
+
<key>NSAppSleepDisabled</key>
|
|
34
|
+
<true/>
|
|
35
|
+
<key>LSAppNapIsDisabled</key>
|
|
36
|
+
<true/>
|
|
37
|
+
</dict>
|
|
38
|
+
</plist>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: ascii-8bit
|
|
3
|
+
|
|
4
|
+
# Copyright 2015 Ball Aerospace & Technologies Corp.
|
|
5
|
+
# All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# This program is free software; you can modify and/or redistribute it
|
|
8
|
+
# under the terms of the GNU General Public License
|
|
9
|
+
# as published by the Free Software Foundation; version 3 with
|
|
10
|
+
# attribution addendums as found in the LICENSE.txt
|
|
11
|
+
|
|
12
|
+
require_relative 'tool_launch'
|
|
13
|
+
tool_launch do
|
|
14
|
+
require 'cosmos/tools/tlm_viewer/tlm_viewer'
|
|
15
|
+
Cosmos::TlmViewer.run
|
|
16
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/bin/bash -l
|
|
2
|
+
TOOLNAME=TlmViewer
|
|
3
|
+
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
4
|
+
rm $DIR/$TOOLNAME
|
|
5
|
+
if hash rbenv 2>/dev/null; then
|
|
6
|
+
ln -s `rbenv which ruby` $DIR/$TOOLNAME
|
|
7
|
+
else
|
|
8
|
+
ln -s `which ruby` $DIR/$TOOLNAME
|
|
9
|
+
fi
|
|
10
|
+
exec $DIR/$TOOLNAME $DIR/$TOOLNAME.rb "$@" &
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: ascii-8bit
|
|
3
|
+
|
|
4
|
+
# Copyright 2015 Ball Aerospace & Technologies Corp.
|
|
5
|
+
# All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# This program is free software; you can modify and/or redistribute it
|
|
8
|
+
# under the terms of the GNU General Public License
|
|
9
|
+
# as published by the Free Software Foundation; version 3 with
|
|
10
|
+
# attribution addendums as found in the LICENSE.txt
|
|
11
|
+
|
|
12
|
+
def tool_launch
|
|
13
|
+
begin
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
require 'cosmos'
|
|
16
|
+
yield
|
|
17
|
+
rescue Exception => error
|
|
18
|
+
popup_error = error; popup_error = $cosmos_fatal_exception if defined? $cosmos_fatal_exception
|
|
19
|
+
begin
|
|
20
|
+
raise error if STDIN.isatty # Have a console
|
|
21
|
+
raise error unless defined? $cosmos_fatal_exception or (error.class != SystemExit and error.class != Interrupt)
|
|
22
|
+
case RUBY_PLATFORM
|
|
23
|
+
when /mingw32/
|
|
24
|
+
require 'fiddle'
|
|
25
|
+
Fiddle::Function.new(Fiddle.dlopen('user32')['MessageBox'], [Fiddle::TYPE_LONG, Fiddle::TYPE_VOIDP, Fiddle::TYPE_VOIDP, Fiddle::TYPE_LONG], Fiddle::TYPE_LONG).call(0, "#{popup_error.class}:#{popup_error.message}\n\n#{popup_error.backtrace.join("\n")}\n\nNote: Ctrl-C will copy this information to the clipboard.", "Error Starting COSMOS Tool", 0x50030)
|
|
26
|
+
when /darwin/
|
|
27
|
+
system("osascript -e 'display notification \"#{popup_error.class}:#{popup_error.message}:#{popup_error.backtrace[0].tr("'\"`<>", '')}\" with title \"Error Starting COSMOS Tool\"'")
|
|
28
|
+
else
|
|
29
|
+
message = "#{popup_error.class}:#{popup_error.message}\\n\\n#{popup_error.backtrace.join("\\n").tr("'\"`<>", '')}"
|
|
30
|
+
command = "zenity --info --text=\"#{message}\" --title=\"Error Starting COSMOS Tool\""
|
|
31
|
+
success = system(command)
|
|
32
|
+
system("notify-send \"Error Starting COSMOS Tool\" \"#{message}\"") unless success
|
|
33
|
+
end
|
|
34
|
+
ensure
|
|
35
|
+
raise error
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: ascii-8bit
|
|
3
|
+
|
|
4
|
+
# Copyright 2015 Ball Aerospace & Technologies Corp.
|
|
5
|
+
# All Rights Reserved.
|
|
6
|
+
#
|
|
7
|
+
# This program is free software; you can modify and/or redistribute it
|
|
8
|
+
# under the terms of the GNU General Public License
|
|
9
|
+
# as published by the Free Software Foundation; version 3 with
|
|
10
|
+
# attribution addendums as found in the LICENSE.txt
|
|
11
|
+
|
|
12
|
+
def tool_launch
|
|
13
|
+
begin
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
require 'cosmos'
|
|
16
|
+
yield
|
|
17
|
+
rescue Exception => error
|
|
18
|
+
popup_error = error; popup_error = $cosmos_fatal_exception if defined? $cosmos_fatal_exception
|
|
19
|
+
begin
|
|
20
|
+
raise error if STDIN.isatty # Have a console
|
|
21
|
+
raise error unless defined? $cosmos_fatal_exception or (error.class != SystemExit and error.class != Interrupt)
|
|
22
|
+
case RUBY_PLATFORM
|
|
23
|
+
when /mingw32/
|
|
24
|
+
require 'fiddle'
|
|
25
|
+
Fiddle::Function.new(Fiddle.dlopen('user32')['MessageBox'], [Fiddle::TYPE_LONG, Fiddle::TYPE_VOIDP, Fiddle::TYPE_VOIDP, Fiddle::TYPE_LONG], Fiddle::TYPE_LONG).call(0, "#{popup_error.class}:#{popup_error.message}\n\n#{popup_error.backtrace.join("\n")}\n\nNote: Ctrl-C will copy this information to the clipboard.", "Error Starting COSMOS Tool", 0x50030)
|
|
26
|
+
when /darwin/
|
|
27
|
+
system("osascript -e 'display notification \"#{popup_error.class}:#{popup_error.message}:#{popup_error.backtrace[0].tr("'\"`<>", '')}\" with title \"Error Starting COSMOS Tool\"'")
|
|
28
|
+
else
|
|
29
|
+
message = "#{popup_error.class}:#{popup_error.message}\\n\\n#{popup_error.backtrace.join("\\n").tr("'\"`<>", '')}"
|
|
30
|
+
command = "zenity --info --text=\"#{message}\" --title=\"Error Starting COSMOS Tool\""
|
|
31
|
+
success = system(command)
|
|
32
|
+
system("notify-send \"Error Starting COSMOS Tool\" \"#{message}\"") unless success
|
|
33
|
+
end
|
|
34
|
+
ensure
|
|
35
|
+
raise error
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
data/lib/cosmos.rb
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
# This file sets up using the COSMOS framework
|
|
12
|
+
|
|
13
|
+
# Enforce Ruby version
|
|
14
|
+
ruby_split = RUBY_VERSION.split('.')
|
|
15
|
+
ruby_first = ruby_split[0].to_i
|
|
16
|
+
ruby_second = ruby_split[1].to_i
|
|
17
|
+
ruby_third = ruby_split[2].to_i
|
|
18
|
+
if ruby_first == 1
|
|
19
|
+
if ruby_second <= 8 or (ruby_second == 9 and ruby_third < 3)
|
|
20
|
+
raise "Cosmos 2.x does not support Ruby versions less than 1.9.3"
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Set default encodings
|
|
25
|
+
saved_verbose = $VERBOSE; $VERBOSE = nil;
|
|
26
|
+
Encoding.default_external = Encoding::ASCII_8BIT
|
|
27
|
+
Encoding.default_internal = Encoding::ASCII_8BIT
|
|
28
|
+
$VERBOSE = saved_verbose
|
|
29
|
+
|
|
30
|
+
# Add COSMOS bin folder to PATH
|
|
31
|
+
require 'cosmos/core_ext/kernel'
|
|
32
|
+
if Kernel.is_windows?
|
|
33
|
+
ENV['PATH'] = File.join(File.dirname(__FILE__), '../bin') + ';' + ENV['PATH']
|
|
34
|
+
else
|
|
35
|
+
ENV['PATH'] = File.join(File.dirname(__FILE__), '../bin') + ':' + ENV['PATH']
|
|
36
|
+
end
|
|
37
|
+
require 'cosmos/ext/platform' if RUBY_ENGINE == 'ruby' and !ENV['COSMOS_NO_EXT']
|
|
38
|
+
|
|
39
|
+
# Remove warning about dl deprecation in Ruby 2.0 and 2.1
|
|
40
|
+
saved_verbose = $VERBOSE; $VERBOSE = nil
|
|
41
|
+
begin
|
|
42
|
+
require 'dl'
|
|
43
|
+
rescue Exception
|
|
44
|
+
end
|
|
45
|
+
$VERBOSE = saved_verbose
|
|
46
|
+
|
|
47
|
+
require 'cosmos/version'
|
|
48
|
+
require 'cosmos/top_level'
|
|
49
|
+
|
|
50
|
+
# Add the COSMOS user's libraries to the ruby search path
|
|
51
|
+
# Located immediately after top_level to allow user overrides of files
|
|
52
|
+
Cosmos.add_to_search_path(File.join(Cosmos::USERPATH, 'lib'))
|
|
53
|
+
|
|
54
|
+
require 'cosmos/core_ext'
|
|
55
|
+
require 'cosmos/utilities'
|
|
56
|
+
require 'cosmos/conversions'
|
|
57
|
+
require 'cosmos/system'
|
|
58
|
+
|
|
59
|
+
begin
|
|
60
|
+
require 'user_version'
|
|
61
|
+
rescue Exception
|
|
62
|
+
# Not defined
|
|
63
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
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/packets/packet'
|
|
12
|
+
|
|
13
|
+
module Cosmos
|
|
14
|
+
|
|
15
|
+
# Packet which defines the required CCSDS items which include Version, Type,
|
|
16
|
+
# Secondary Header Flag, APID, Sequence Flags, Sequence Count and Length. It
|
|
17
|
+
# will optionally include a data item which will contain the rest of the
|
|
18
|
+
# CCSDS packet data. This is optional to make it easier to subclass this
|
|
19
|
+
# packet and add secondary header fields.
|
|
20
|
+
class CcsdsPacket < Packet
|
|
21
|
+
|
|
22
|
+
# CCSDS telemetry type
|
|
23
|
+
TELEMETRY = 0
|
|
24
|
+
# CCSDS telecommand type
|
|
25
|
+
COMMAND = 1
|
|
26
|
+
|
|
27
|
+
# CCSDS sequence flag indicating continuation packet
|
|
28
|
+
MIDDLE = 0
|
|
29
|
+
# CCSDS sequence flag indicating continuation packet
|
|
30
|
+
CONTINUATION = 0
|
|
31
|
+
# CCSDS sequence flag indicating the first packet
|
|
32
|
+
FIRST = 1
|
|
33
|
+
# CCSDS sequence flag indicating the last packet
|
|
34
|
+
LAST = 2
|
|
35
|
+
# CCSDS sequence flag indicating a stand alone packet
|
|
36
|
+
STANDALONE = 3
|
|
37
|
+
|
|
38
|
+
# Length Field Offset to number of bytes in entire packet
|
|
39
|
+
LENGTH_FIELD_OFFSET = 7
|
|
40
|
+
|
|
41
|
+
# Creates a CCSDS packet by setting the target and packet name and then
|
|
42
|
+
# defining all the fields in a CCSDS packet with a primary header. If a
|
|
43
|
+
# secondary header is desired, define a secondary header field and then
|
|
44
|
+
# override the CcsdsData field to start after bit offset 48.
|
|
45
|
+
#
|
|
46
|
+
# @param target_name [String] The target name
|
|
47
|
+
# @param packet_name [String] The packet name
|
|
48
|
+
def initialize(target_name = nil, packet_name = nil, include_ccsds_data = true)
|
|
49
|
+
super(target_name, packet_name, :BIG_ENDIAN)
|
|
50
|
+
define_item('CcsdsVersion', 0, 3, :UINT)
|
|
51
|
+
define_item('CcsdsType', 3, 1, :UINT)
|
|
52
|
+
define_item('CcsdsShf', 4, 1, :UINT)
|
|
53
|
+
define_item('CcsdsApid', 5, 11, :UINT)
|
|
54
|
+
define_item('CcsdsSeqflags', 16, 2, :UINT)
|
|
55
|
+
item = define_item('CcsdsSeqcnt', 18, 14, :UINT)
|
|
56
|
+
item.overflow = :TRUNCATE
|
|
57
|
+
define_item('CcsdsLength', 32, 16, :UINT)
|
|
58
|
+
define_item('CcsdsData', 48, 0, :BLOCK) if include_ccsds_data
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
end # module Cosmos
|
|
@@ -0,0 +1,143 @@
|
|
|
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'
|
|
12
|
+
require 'cosmos/ccsds/ccsds_packet'
|
|
13
|
+
|
|
14
|
+
module Cosmos
|
|
15
|
+
|
|
16
|
+
# Unsegments CCSDS packets and perform other CCSDS processing tasks.
|
|
17
|
+
class CcsdsParser
|
|
18
|
+
|
|
19
|
+
# @return [Symbol] Indicates if the parser is :READY to start a new series
|
|
20
|
+
# of packets or is :IN_PROGRESS
|
|
21
|
+
attr_reader :state
|
|
22
|
+
|
|
23
|
+
# @return [String] Binary data that has been collected so far towards the
|
|
24
|
+
# completely unsegmented packet. Note: This value is cleared once the
|
|
25
|
+
# entire packet is formed and also cleared due to errors.
|
|
26
|
+
attr_reader :in_progress_data
|
|
27
|
+
|
|
28
|
+
# @return [String] The most recent successfully unsegmented packet's data
|
|
29
|
+
attr_reader :unsegmented_data
|
|
30
|
+
|
|
31
|
+
# @return [Integer] Sequence count of the previously received packet
|
|
32
|
+
attr_reader :sequence_count
|
|
33
|
+
|
|
34
|
+
# Create a new {CcsdsPacket} and set the state to :READY
|
|
35
|
+
def initialize
|
|
36
|
+
@ccsds_packet = CcsdsPacket.new
|
|
37
|
+
@unsegmented_data = nil
|
|
38
|
+
@sequence_count = nil
|
|
39
|
+
reset()
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Resets internal state to :READY and clears the in_progress_data
|
|
43
|
+
def reset
|
|
44
|
+
@state = :READY
|
|
45
|
+
@in_progress_data = ''
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Given a segment of a larger CCSDS packet, stores the data until a complete
|
|
49
|
+
# unsegmented packet can be created. Returns the unsegmented packet data
|
|
50
|
+
# once it is complete, or nil if still in progress. Raises
|
|
51
|
+
# CcsdsParser::CcsdsSegmentationError if a problem is encountered while
|
|
52
|
+
# unsegmenting.
|
|
53
|
+
#
|
|
54
|
+
# @param packet [Packet] A CCSDS packet
|
|
55
|
+
# @return [String|nil] The reconstituted CCSDS packet buffer or nil if the
|
|
56
|
+
# packet has not yet been fully assembled
|
|
57
|
+
def unsegment_packet(packet)
|
|
58
|
+
@ccsds_packet.buffer = packet.buffer
|
|
59
|
+
|
|
60
|
+
previous_sequence_count = @sequence_count
|
|
61
|
+
@sequence_count = @ccsds_packet.read('CcsdsSeqcnt')
|
|
62
|
+
|
|
63
|
+
# Handle each segment
|
|
64
|
+
case @ccsds_packet.read('CcsdsSeqflags')
|
|
65
|
+
when CcsdsPacket::CONTINUATION
|
|
66
|
+
#####################################################
|
|
67
|
+
# Continuation packet - only process if in progress
|
|
68
|
+
#####################################################
|
|
69
|
+
|
|
70
|
+
if @state == :IN_PROGRESS
|
|
71
|
+
if @sequence_count == ((previous_sequence_count + 1) % 16384)
|
|
72
|
+
@in_progress_data << @ccsds_packet.read('CcsdsData')
|
|
73
|
+
return nil
|
|
74
|
+
else
|
|
75
|
+
reset()
|
|
76
|
+
raise CcsdsSegmentationError, "Missing packet(s) before continuation packet detected. Current Sequence Count #{@sequence_count}, Previous Sequence Count #{previous_sequence_count}"
|
|
77
|
+
end
|
|
78
|
+
else
|
|
79
|
+
reset()
|
|
80
|
+
raise CcsdsSegmentationError, "Unexpected continuation packet"
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
when CcsdsPacket::FIRST
|
|
84
|
+
#######################################################
|
|
85
|
+
# First packet - always process
|
|
86
|
+
#######################################################
|
|
87
|
+
|
|
88
|
+
if @state == :IN_PROGRESS
|
|
89
|
+
reset()
|
|
90
|
+
@state = :IN_PROGRESS
|
|
91
|
+
@in_progress_data << @ccsds_packet.buffer
|
|
92
|
+
raise CcsdsSegmentationError, "Unexpected first packet"
|
|
93
|
+
else
|
|
94
|
+
@state = :IN_PROGRESS
|
|
95
|
+
@in_progress_data << @ccsds_packet.buffer
|
|
96
|
+
return nil
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
when CcsdsPacket::LAST
|
|
100
|
+
######################################################################
|
|
101
|
+
# Last packet - only process if in progress
|
|
102
|
+
######################################################################
|
|
103
|
+
|
|
104
|
+
if @state == :IN_PROGRESS
|
|
105
|
+
if @sequence_count == ((previous_sequence_count + 1) % 16384)
|
|
106
|
+
@in_progress_data << @ccsds_packet.read('CcsdsData')
|
|
107
|
+
@unsegmented_data = @in_progress_data
|
|
108
|
+
reset()
|
|
109
|
+
return @unsegmented_data
|
|
110
|
+
else
|
|
111
|
+
reset()
|
|
112
|
+
raise CcsdsSegmentationError, "Missing packet(s) before last packet detected. Current Sequence Count #{@sequence_count}, Previous Sequence Count #{previous_sequence_count}"
|
|
113
|
+
end
|
|
114
|
+
else
|
|
115
|
+
reset()
|
|
116
|
+
raise CcsdsSegmentationError, "Unexpected last packet"
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
when CcsdsPacket::STANDALONE
|
|
120
|
+
############################################################
|
|
121
|
+
# Standalone packet - save and return its data
|
|
122
|
+
############################################################
|
|
123
|
+
|
|
124
|
+
# Update most recent unsegmented data
|
|
125
|
+
@unsegmented_data = @ccsds_packet.buffer
|
|
126
|
+
|
|
127
|
+
if @state == :IN_PROGRESS
|
|
128
|
+
reset()
|
|
129
|
+
raise CcsdsSegmentationError, "Unexpected standalone packet"
|
|
130
|
+
else
|
|
131
|
+
reset()
|
|
132
|
+
return @unsegmented_data
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
end # case raw_sequence_flags
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Class to indicate errors that occur during the unsegmenting process
|
|
139
|
+
class CcsdsSegmentationError < StandardError; end
|
|
140
|
+
|
|
141
|
+
end # end class CcsdsParser
|
|
142
|
+
|
|
143
|
+
end # module Cosmos
|
|
@@ -0,0 +1,508 @@
|
|
|
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/ext/config_parser' if RUBY_ENGINE == 'ruby' and !ENV['COSMOS_NO_EXT']
|
|
12
|
+
require 'tempfile'
|
|
13
|
+
require 'erb'
|
|
14
|
+
|
|
15
|
+
module Cosmos
|
|
16
|
+
# Reads COSMOS style configuration data which consists of keywords followed
|
|
17
|
+
# by 0 or more comma delimited parameters. Parameters with spaces must be
|
|
18
|
+
# enclosed in quotes. Quotes should also be used to indicate a parameter is a
|
|
19
|
+
# string. Keywords are case-insensitive and will be returned in uppercase.
|
|
20
|
+
class ConfigParser
|
|
21
|
+
# @return [String] The current keyword being parsed
|
|
22
|
+
attr_accessor :keyword
|
|
23
|
+
|
|
24
|
+
# @return [Array<String>] The parameters found after the keyword
|
|
25
|
+
attr_accessor :parameters
|
|
26
|
+
|
|
27
|
+
# @return [String] The name of the configuration file being parsed. This
|
|
28
|
+
# will be an empty string if the parse_string class method is used.
|
|
29
|
+
attr_accessor :filename
|
|
30
|
+
|
|
31
|
+
# @return [String] The current line being parsed. This is the raw string
|
|
32
|
+
# which is useful when printing errors.
|
|
33
|
+
attr_accessor :line
|
|
34
|
+
|
|
35
|
+
# @return [Integer] The current line number being parsed.
|
|
36
|
+
# This will still be populated when using parse_string because lines
|
|
37
|
+
# still must be delimited by newline characters.
|
|
38
|
+
attr_accessor :line_number
|
|
39
|
+
|
|
40
|
+
# @return [String] The default URL to use in errors. The URL can still be
|
|
41
|
+
# overridden by directly passing it to the error method.
|
|
42
|
+
attr_accessor :url
|
|
43
|
+
|
|
44
|
+
# @see message_callback=
|
|
45
|
+
@@message_callback = nil
|
|
46
|
+
|
|
47
|
+
# @param message_callback [#call(String)] Callback method called with a
|
|
48
|
+
# String when various parsing events occur.
|
|
49
|
+
def self.message_callback=(message_callback)
|
|
50
|
+
@@message_callback = message_callback
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# @see progress_callback=
|
|
54
|
+
@@progress_callback = nil
|
|
55
|
+
|
|
56
|
+
# @param progress_callback [#call(Float)] Callback method called with a
|
|
57
|
+
# Float (0.0 to 100.0) based on the amount of the io param that has
|
|
58
|
+
# currently been processed.
|
|
59
|
+
def self.progress_callback=(progress_callback)
|
|
60
|
+
@@progress_callback = progress_callback
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Holds the current splash screen
|
|
64
|
+
@@splash = nil
|
|
65
|
+
|
|
66
|
+
# @param splash [Splash::SplashDialogBox] Set the splash dialog box which
|
|
67
|
+
# will be updated with messages and progress.
|
|
68
|
+
def self.splash=(splash)
|
|
69
|
+
if splash
|
|
70
|
+
@@splash = splash
|
|
71
|
+
@@progress_callback = splash.progress_callback
|
|
72
|
+
@@message_callback = splash.message_callback
|
|
73
|
+
else
|
|
74
|
+
@@splash = nil
|
|
75
|
+
@@progress_callback = nil
|
|
76
|
+
@@message_callback = nil
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Returns the current splash screen if present
|
|
81
|
+
def self.splash
|
|
82
|
+
@@splash
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Regular expression used to break up an individual line into a keyword and
|
|
86
|
+
# comma delimited parameters. Handles parameters in single or double quotes.
|
|
87
|
+
PARSING_REGEX = %r{ (?:"(?:[^\\"]|\\.)*") | (?:'(?:[^\\']|\\.)*') | \S+ }x #"
|
|
88
|
+
|
|
89
|
+
# Error which gets raised by ConfigParser in #verify_num_parameters. This
|
|
90
|
+
# is also the error that classes using ConfigParser should raise when they
|
|
91
|
+
# encounter a configuration error.
|
|
92
|
+
class Error < StandardError
|
|
93
|
+
attr_reader :keyword, :parameters, :filename, :line, :line_number
|
|
94
|
+
|
|
95
|
+
# @return [String] The usage string representing how this keyword should
|
|
96
|
+
# be formatted.
|
|
97
|
+
attr_reader :usage
|
|
98
|
+
|
|
99
|
+
# @return [String] URL which points to usage documentation on the COSMOS
|
|
100
|
+
# Wiki.
|
|
101
|
+
attr_reader :url
|
|
102
|
+
|
|
103
|
+
# Create an Error with the specified Config data
|
|
104
|
+
#
|
|
105
|
+
# @param config_parser [ConfigParser] Instance of ConfigParser so Error
|
|
106
|
+
# has access to the ConfigParser attributes
|
|
107
|
+
# @param message [String] The error message which gets passed to the
|
|
108
|
+
# StandardError constructor
|
|
109
|
+
# @param usage [String] The usage string representing how this keyword should
|
|
110
|
+
# be formatted.
|
|
111
|
+
# @param url [String] URL which should point to usage information. By
|
|
112
|
+
# default this gets constructed to point to the generic configuration
|
|
113
|
+
# Guide on the COSMOS Wiki.
|
|
114
|
+
def initialize(config_parser, message = "Configuration Error", usage = "", url = "")
|
|
115
|
+
if Error == message
|
|
116
|
+
super(message.message)
|
|
117
|
+
elsif Exception == message
|
|
118
|
+
super("#{message.class}:#{message.message}")
|
|
119
|
+
else
|
|
120
|
+
super(message)
|
|
121
|
+
end
|
|
122
|
+
@keyword = config_parser.keyword
|
|
123
|
+
@parameters = config_parser.parameters
|
|
124
|
+
@filename = config_parser.filename
|
|
125
|
+
@line = config_parser.line
|
|
126
|
+
@line_number = config_parser.line_number
|
|
127
|
+
@usage = usage
|
|
128
|
+
@url = url
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# @param url [String] The url to link to in error messages
|
|
133
|
+
def initialize(url = "http://cosmosrb.com/docs/home")
|
|
134
|
+
@url = url
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Creates an Error
|
|
138
|
+
#
|
|
139
|
+
# @param message [String] The string to set the Exception message to
|
|
140
|
+
# @param usage [String] The usage message
|
|
141
|
+
# @param url [String] Where to get help about this error
|
|
142
|
+
# @return [Error] The constructed error
|
|
143
|
+
def error(message, usage = "", url = @url)
|
|
144
|
+
return Error.new(self, message, usage, url)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# Called by the ERB template to render a partial
|
|
148
|
+
def render(template_name, options = {})
|
|
149
|
+
b = binding
|
|
150
|
+
if options[:locals]
|
|
151
|
+
if RUBY_VERSION.split('.')[0..1].join.to_i >= 21
|
|
152
|
+
options[:locals].each {|key, value| b.local_variable_set(key, value) }
|
|
153
|
+
else
|
|
154
|
+
options[:locals].each do |key, value|
|
|
155
|
+
if value.is_a? String
|
|
156
|
+
b.eval("#{key} = '#{value}'")
|
|
157
|
+
else
|
|
158
|
+
b.eval("#{key} = #{value}")
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
# Assume the file is there. If not we raise a pretty obvious error
|
|
164
|
+
ERB.new(File.read(File.join(File.dirname(@filename), template_name))).result(b)
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# Processes a file and yields |config| to the given block
|
|
168
|
+
#
|
|
169
|
+
# @param filename [String] The full name and path of the configuration file
|
|
170
|
+
# @param yield_non_keyword_lines [Boolean] Whether to yield all lines including blank
|
|
171
|
+
# lines or comment lines.
|
|
172
|
+
# @param remove_quotes [Boolean] Whether to remove beginning and ending single
|
|
173
|
+
# or double quote characters from parameters.
|
|
174
|
+
# @param block [Block] The block to yield to
|
|
175
|
+
# @yieldparam keyword [String] The keyword in the current parsed line
|
|
176
|
+
# @yieldparam parameters [Array<String>] The parameters in the current parsed line
|
|
177
|
+
def parse_file(filename,
|
|
178
|
+
yield_non_keyword_lines = false,
|
|
179
|
+
remove_quotes = true,
|
|
180
|
+
&block)
|
|
181
|
+
@filename = filename
|
|
182
|
+
|
|
183
|
+
# Create a temp file where we write the ERB parsed output
|
|
184
|
+
file = create_parsed_output_file(filename)
|
|
185
|
+
size = file.stat.size.to_f
|
|
186
|
+
|
|
187
|
+
# Callbacks for beginning of parsing
|
|
188
|
+
@@message_callback.call("Parsing #{size} bytes of #{filename}") if @@message_callback
|
|
189
|
+
@@progress_callback.call(0.0) if @@progress_callback
|
|
190
|
+
|
|
191
|
+
begin
|
|
192
|
+
# Loop through each line of the data
|
|
193
|
+
parse_loop(file,
|
|
194
|
+
yield_non_keyword_lines,
|
|
195
|
+
remove_quotes,
|
|
196
|
+
size,
|
|
197
|
+
PARSING_REGEX,
|
|
198
|
+
&block)
|
|
199
|
+
rescue Exception => e # Catch EVERYTHING so we can re-raise with additional info
|
|
200
|
+
raise e, "#{e}\n\nParsed output in #{file.path}", e.backtrace
|
|
201
|
+
ensure
|
|
202
|
+
file.close unless file.closed?
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
# Verifies the parameters in the config parameter have the specified
|
|
207
|
+
# number of parameter and raises an Error if not.
|
|
208
|
+
#
|
|
209
|
+
# @param [Integer] min_num_params The minimum number of parameters
|
|
210
|
+
# @param [Integer] max_num_params The maximum number of parameters. Pass
|
|
211
|
+
# nil to indicate there is no maximum number of parameters.
|
|
212
|
+
def verify_num_parameters(min_num_params, max_num_params, usage = "")
|
|
213
|
+
# This syntax works with 0 because each doesn't return any values
|
|
214
|
+
# for a backwards range
|
|
215
|
+
(1..min_num_params).each do |index|
|
|
216
|
+
# If the parameter is nil (0 based) then we have a problem
|
|
217
|
+
if @parameters[index - 1].nil?
|
|
218
|
+
raise Error.new(self, "Not enough parameters for #{@keyword}.", usage, @url)
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
# If they pass nil for max_params we don't check for a maximum number
|
|
222
|
+
if max_num_params && !@parameters[max_num_params].nil?
|
|
223
|
+
raise Error.new(self, "Too many parameters for #{@keyword}.", usage, @url)
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# Converts a String containing '', 'NIL' or 'NULL' to nil Ruby primitive.
|
|
228
|
+
# All other arguments are simply returned.
|
|
229
|
+
#
|
|
230
|
+
# @param value [Object]
|
|
231
|
+
# @return [nil|Object]
|
|
232
|
+
def self.handle_nil(value)
|
|
233
|
+
if String === value
|
|
234
|
+
case value.upcase
|
|
235
|
+
when '', 'NIL', 'NULL'
|
|
236
|
+
return nil
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
return value
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Converts a String containing 'TRUE' or 'FALSE' to true or false Ruby
|
|
243
|
+
# primitive. All other values are simply returned.
|
|
244
|
+
#
|
|
245
|
+
# @param value [Object]
|
|
246
|
+
# @return [true|false|Object]
|
|
247
|
+
def self.handle_true_false(value)
|
|
248
|
+
if String === value
|
|
249
|
+
case value.upcase
|
|
250
|
+
when 'TRUE'
|
|
251
|
+
return true
|
|
252
|
+
when 'FALSE'
|
|
253
|
+
return false
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
return value
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
# Converts a String containing '', 'NIL', 'NULL', 'TRUE' or 'FALSE' to nil,
|
|
260
|
+
# true or false Ruby primitives. All other values are simply returned.
|
|
261
|
+
#
|
|
262
|
+
# @param value [Object]
|
|
263
|
+
# @return [true|false|nil|Object]
|
|
264
|
+
def self.handle_true_false_nil(value)
|
|
265
|
+
if String === value
|
|
266
|
+
case value.upcase
|
|
267
|
+
when 'TRUE'
|
|
268
|
+
return true
|
|
269
|
+
when 'FALSE'
|
|
270
|
+
return false
|
|
271
|
+
when '', 'NIL', 'NULL'
|
|
272
|
+
return nil
|
|
273
|
+
end
|
|
274
|
+
end
|
|
275
|
+
return value
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
# Converts a string representing a defined constant into its value. The
|
|
279
|
+
# defined constants are the minimum and maximum values for all the
|
|
280
|
+
# allowable data types. [MIN/MAX]_[U]INT[8/16/32] and
|
|
281
|
+
# [MIN/MAX]_FLOAT[32/64]. Thus MIN_UINT8, MAX_INT32, and MIN_FLOAT64 are
|
|
282
|
+
# all allowable values. Any other strings raise ArgumentError but all other
|
|
283
|
+
# types are simply returned.
|
|
284
|
+
#
|
|
285
|
+
# @param value [Object] Can be anything
|
|
286
|
+
# @return [Numeric] The converted value. Either a Fixnum or Float.
|
|
287
|
+
def self.handle_defined_constants(value, data_type = nil, bit_size = nil)
|
|
288
|
+
if value.class == String
|
|
289
|
+
case value.upcase
|
|
290
|
+
when 'MIN', 'MAX'
|
|
291
|
+
return self.calculate_range_value(value.upcase, data_type, bit_size)
|
|
292
|
+
when 'MIN_INT8'
|
|
293
|
+
return -128
|
|
294
|
+
when 'MAX_INT8'
|
|
295
|
+
return 127
|
|
296
|
+
when 'MIN_INT16'
|
|
297
|
+
return -32768
|
|
298
|
+
when 'MAX_INT16'
|
|
299
|
+
return 32767
|
|
300
|
+
when 'MIN_INT32'
|
|
301
|
+
return -2147483648
|
|
302
|
+
when 'MAX_INT32'
|
|
303
|
+
return 2147483647
|
|
304
|
+
when 'MIN_INT64'
|
|
305
|
+
return -9223372036854775808
|
|
306
|
+
when 'MAX_INT64'
|
|
307
|
+
return 9223372036854775807
|
|
308
|
+
when 'MIN_UINT8', 'MIN_UINT16', 'MIN_UINT32', 'MIN_UINT64'
|
|
309
|
+
return 0
|
|
310
|
+
when 'MAX_UINT8'
|
|
311
|
+
return 255
|
|
312
|
+
when 'MAX_UINT16'
|
|
313
|
+
return 65535
|
|
314
|
+
when 'MAX_UINT32'
|
|
315
|
+
return 4294967295
|
|
316
|
+
when 'MAX_UINT64'
|
|
317
|
+
return 18446744073709551615
|
|
318
|
+
when 'MIN_FLOAT64'
|
|
319
|
+
return -Float::MAX
|
|
320
|
+
when 'MAX_FLOAT64'
|
|
321
|
+
return Float::MAX
|
|
322
|
+
when 'MIN_FLOAT32'
|
|
323
|
+
return -3.402823e38
|
|
324
|
+
when 'MAX_FLOAT32'
|
|
325
|
+
return 3.402823e38
|
|
326
|
+
when 'POS_INFINITY'
|
|
327
|
+
return Float::INFINITY
|
|
328
|
+
when 'NEG_INFINITY'
|
|
329
|
+
return -Float::INFINITY
|
|
330
|
+
else
|
|
331
|
+
raise ArgumentError, "Could not convert constant: #{value}"
|
|
332
|
+
end
|
|
333
|
+
end
|
|
334
|
+
return value
|
|
335
|
+
end
|
|
336
|
+
|
|
337
|
+
protected
|
|
338
|
+
|
|
339
|
+
# Writes the ERB parsed results
|
|
340
|
+
def create_parsed_output_file(filename)
|
|
341
|
+
begin
|
|
342
|
+
output = ERB.new(File.read(filename)).result(binding)
|
|
343
|
+
rescue => e
|
|
344
|
+
# The first line of the backtrace indicates the line where the ERB
|
|
345
|
+
# parse failed. Grab the line number for the error message.
|
|
346
|
+
match = /:(.*):/.match(e.backtrace[0])
|
|
347
|
+
line_number = match.captures[0] if match
|
|
348
|
+
raise e, "ERB error at #{filename}:#{line_number}\n#{e}", e.backtrace
|
|
349
|
+
end
|
|
350
|
+
# Make a copy of the filename since we're calling slice! which modifies
|
|
351
|
+
# it directly. Downcase to avoid filesytem case issues.
|
|
352
|
+
copy = filename.downcase.dup
|
|
353
|
+
if copy.include?(Cosmos::USERPATH.downcase)
|
|
354
|
+
copy.slice!(Cosmos::USERPATH.downcase) # Remove the USERPATH
|
|
355
|
+
elsif copy.include?(':') # Check for Windows drive letter
|
|
356
|
+
copy = copy.split(':')[1]
|
|
357
|
+
end
|
|
358
|
+
parsed_filename = File.join(Cosmos::USERPATH, 'outputs', 'tmp', copy)
|
|
359
|
+
FileUtils.mkdir_p(File.dirname(parsed_filename)) # Create the path
|
|
360
|
+
file = File.open(parsed_filename, 'w+')
|
|
361
|
+
file.puts output
|
|
362
|
+
file.rewind # Rewind so the file is ready to read
|
|
363
|
+
file
|
|
364
|
+
end
|
|
365
|
+
|
|
366
|
+
def self.calculate_range_value(type, data_type, bit_size)
|
|
367
|
+
value = 0 # Default for UINT minimum
|
|
368
|
+
|
|
369
|
+
case data_type
|
|
370
|
+
when :INT
|
|
371
|
+
if type == 'MIN'
|
|
372
|
+
value = -2**(bit_size - 1)
|
|
373
|
+
else # 'MAX'
|
|
374
|
+
value = 2**(bit_size - 1) - 1
|
|
375
|
+
end
|
|
376
|
+
when :UINT
|
|
377
|
+
# Default is 0 for 'MIN'
|
|
378
|
+
if type == 'MAX'
|
|
379
|
+
value = 2**bit_size - 1
|
|
380
|
+
end
|
|
381
|
+
when :FLOAT
|
|
382
|
+
case bit_size
|
|
383
|
+
when 32
|
|
384
|
+
value = 3.402823e38
|
|
385
|
+
value *= -1 if type == 'MIN'
|
|
386
|
+
when 64
|
|
387
|
+
value = Float::MAX
|
|
388
|
+
value *= -1 if type == 'MIN'
|
|
389
|
+
else
|
|
390
|
+
raise ArgumentError, "Invalid bit size #{bit_size} for FLOAT type."
|
|
391
|
+
end
|
|
392
|
+
else
|
|
393
|
+
raise ArgumentError, "Invalid data type #{data_type} when calculating range."
|
|
394
|
+
end
|
|
395
|
+
value
|
|
396
|
+
end
|
|
397
|
+
|
|
398
|
+
if RUBY_ENGINE != 'ruby' or ENV['COSMOS_NO_EXT']
|
|
399
|
+
# Iterates over each line of the io object and yields the keyword and parameters
|
|
400
|
+
def parse_loop(io, yield_non_keyword_lines, remove_quotes, size, rx)
|
|
401
|
+
line_continuation = false
|
|
402
|
+
|
|
403
|
+
@line_number = 0
|
|
404
|
+
@keyword = nil
|
|
405
|
+
@parameters = []
|
|
406
|
+
@line = nil
|
|
407
|
+
|
|
408
|
+
while true
|
|
409
|
+
@line_number += 1
|
|
410
|
+
|
|
411
|
+
if @@progress_callback && ((@line_number % 10) == 0)
|
|
412
|
+
@@progress_callback.call(io.pos / size) if size > 0.0
|
|
413
|
+
end
|
|
414
|
+
|
|
415
|
+
begin
|
|
416
|
+
line = io.readline
|
|
417
|
+
rescue Exception
|
|
418
|
+
break
|
|
419
|
+
end
|
|
420
|
+
|
|
421
|
+
line.strip!
|
|
422
|
+
data = line.scan(rx)
|
|
423
|
+
first_item = data[0].to_s
|
|
424
|
+
|
|
425
|
+
if line_continuation
|
|
426
|
+
@line << line
|
|
427
|
+
# Carry over keyword and parameters
|
|
428
|
+
else
|
|
429
|
+
@line = line
|
|
430
|
+
if (first_item.length == 0) || (first_item[0] == '#')
|
|
431
|
+
@keyword = nil
|
|
432
|
+
else
|
|
433
|
+
@keyword = first_item.upcase
|
|
434
|
+
end
|
|
435
|
+
@parameters = []
|
|
436
|
+
end
|
|
437
|
+
|
|
438
|
+
# Ignore comments and blank lines
|
|
439
|
+
if @keyword.nil?
|
|
440
|
+
if (yield_non_keyword_lines) && (!line_continuation)
|
|
441
|
+
yield(@keyword, @parameters)
|
|
442
|
+
end
|
|
443
|
+
next
|
|
444
|
+
end
|
|
445
|
+
|
|
446
|
+
if line_continuation
|
|
447
|
+
if remove_quotes
|
|
448
|
+
@parameters << first_item.remove_quotes
|
|
449
|
+
else
|
|
450
|
+
@parameters << first_item
|
|
451
|
+
end
|
|
452
|
+
line_continuation = false
|
|
453
|
+
end
|
|
454
|
+
|
|
455
|
+
length = data.length
|
|
456
|
+
if (length > 1)
|
|
457
|
+
(1..(length - 1)).each do |index|
|
|
458
|
+
string = data[index]
|
|
459
|
+
|
|
460
|
+
# Don't process trailing comments such as:
|
|
461
|
+
# KEYWORD PARAM #This is a comment
|
|
462
|
+
# But still process Ruby string interpolations such as:
|
|
463
|
+
# KEYWORD PARAM #{var}
|
|
464
|
+
if (string.length > 0) && (string[0] == '#')
|
|
465
|
+
if !((string.length > 1) && (string[1] == '{'))
|
|
466
|
+
break
|
|
467
|
+
end
|
|
468
|
+
end
|
|
469
|
+
|
|
470
|
+
# If the string is simply '&' and its the last string then its a line continuation so break the loop
|
|
471
|
+
if (string.length == 1) && (string[0] == '&') && (index == (length - 1))
|
|
472
|
+
line_continuation = true
|
|
473
|
+
next
|
|
474
|
+
end
|
|
475
|
+
|
|
476
|
+
line_continuation = false
|
|
477
|
+
if remove_quotes
|
|
478
|
+
@parameters << string.remove_quotes
|
|
479
|
+
else
|
|
480
|
+
@parameters << string
|
|
481
|
+
end
|
|
482
|
+
end
|
|
483
|
+
end
|
|
484
|
+
|
|
485
|
+
# If we detected a line continuation while going through all the
|
|
486
|
+
# strings on the line then we strip off the continuation character and
|
|
487
|
+
# return to the top of the loop to continue processing the line.
|
|
488
|
+
if line_continuation
|
|
489
|
+
# Strip the continuation character
|
|
490
|
+
if @line.length >= 1
|
|
491
|
+
@line = @line[0..-2]
|
|
492
|
+
else
|
|
493
|
+
@line = ""
|
|
494
|
+
end
|
|
495
|
+
next
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
yield(@keyword, @parameters)
|
|
499
|
+
end
|
|
500
|
+
|
|
501
|
+
@@progress_callback.call(1.0) if @@progress_callback
|
|
502
|
+
|
|
503
|
+
return nil
|
|
504
|
+
end
|
|
505
|
+
end
|
|
506
|
+
|
|
507
|
+
end
|
|
508
|
+
end
|