cosmos 4.1.1-java → 4.2.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +0 -2
- data/.travis.yml +2 -0
- data/.yardopts +1 -0
- data/Gemfile +1 -0
- data/Manifest.txt +130 -0
- data/autohotkey/tools/ConfigEditorAHK +19 -0
- data/autohotkey/tools/cmd_extractor.ahk +4 -4
- data/autohotkey/tools/cmd_sequence.ahk +9 -5
- data/autohotkey/tools/config_editor.ahk +197 -0
- data/autohotkey/tools/packet_viewer.ahk +12 -6
- data/autohotkey/tools/replay.ahk +29 -29
- data/autohotkey/tools/script_runner.ahk +10 -2
- data/autohotkey/tools/tlm_extractor.ahk +7 -8
- data/autohotkey/tools/tlm_grapher.ahk +21 -9
- data/bin/dart_import +2 -0
- data/cosmos.gemspec +18 -16
- data/data/config/cmd_tlm_server.yaml +9 -0
- data/data/config/interface_modifiers.yaml +17 -0
- data/data/config/item_modifiers.yaml +3 -3
- data/data/crc.txt +184 -90
- data/data/dart.png +0 -0
- data/demo/Gemfile +1 -0
- data/demo/Rakefile +4 -0
- data/demo/config/dart/Gemfile +54 -0
- data/demo/config/data/crc.txt +28 -21
- data/demo/config/system/system.txt +3 -0
- data/demo/config/system/system2.txt +3 -0
- data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +3 -3
- data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +1 -1
- data/demo/config/targets/INST/lib/sim_inst.rb +1 -1
- data/demo/config/targets/INST/screens/adcs.txt +2 -1
- data/demo/config/targets/INST/screens/array.txt +1 -1
- data/demo/config/targets/INST/screens/block.txt +1 -1
- data/demo/config/targets/INST/screens/commanding.txt +7 -2
- data/demo/config/targets/INST/screens/graphs.txt +1 -1
- data/demo/config/targets/INST/screens/ground.txt +1 -1
- data/demo/config/targets/INST/screens/hs.txt +2 -1
- data/demo/config/targets/INST/screens/latest.txt +1 -1
- data/demo/config/targets/INST/screens/limits.txt +1 -1
- data/demo/config/targets/INST/screens/other.txt +1 -1
- data/demo/config/targets/INST/screens/tabs.txt +1 -1
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt +2 -2
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt +3 -1
- data/demo/config/tools/launcher/launcher.txt +3 -2
- data/demo/tools/Dart +16 -0
- data/demo/tools/Dart.bat +9 -0
- data/demo/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +0 -0
- data/demo/tools/mac/ConfigEditor.app/Contents/MacOS/main.sh +0 -0
- data/install/Gemfile +1 -0
- data/install/Rakefile +4 -0
- data/install/config/dart/Gemfile +54 -0
- data/install/config/data/crc.txt +6 -3
- data/install/config/system/system.txt +3 -0
- data/install/config/tools/launcher/launcher.txt +3 -2
- data/install/tools/Dart +16 -0
- data/install/tools/Dart.bat +9 -0
- data/install/tools/mac/CmdSequence.app/Contents/MacOS/main.sh +0 -0
- data/install/tools/mac/ConfigEditor.app/Contents/MacOS/main.sh +0 -0
- data/lib/cosmos/core_ext/time.rb +8 -8
- data/lib/cosmos/dart/.rspec +1 -0
- data/lib/cosmos/dart/Gemfile +69 -0
- data/lib/cosmos/dart/Rakefile +7 -0
- data/lib/cosmos/dart/app/assets/config/manifest.js +4 -0
- data/lib/cosmos/dart/app/assets/images/.keep +0 -0
- data/lib/cosmos/dart/app/assets/javascripts/application.js +13 -0
- data/lib/cosmos/dart/app/assets/javascripts/cable.js +13 -0
- data/lib/cosmos/dart/app/assets/stylesheets/application.css.scss +15 -0
- data/lib/cosmos/dart/app/channels/application_cable/channel.rb +4 -0
- data/lib/cosmos/dart/app/channels/application_cable/connection.rb +4 -0
- data/lib/cosmos/dart/app/controllers/application_controller.rb +3 -0
- data/lib/cosmos/dart/app/helpers/application_helper.rb +2 -0
- data/lib/cosmos/dart/app/jobs/application_job.rb +2 -0
- data/lib/cosmos/dart/app/mailers/application_mailer.rb +4 -0
- data/lib/cosmos/dart/app/models/application_record.rb +3 -0
- data/lib/cosmos/dart/app/models/item.rb +6 -0
- data/lib/cosmos/dart/app/models/item_to_decom_table_mapping.rb +9 -0
- data/lib/cosmos/dart/app/models/packet.rb +4 -0
- data/lib/cosmos/dart/app/models/packet_config.rb +7 -0
- data/lib/cosmos/dart/app/models/packet_log.rb +3 -0
- data/lib/cosmos/dart/app/models/packet_log_entry.rb +41 -0
- data/lib/cosmos/dart/app/models/system_config.rb +2 -0
- data/lib/cosmos/dart/app/models/target.rb +4 -0
- data/lib/cosmos/dart/app/views/layouts/application.html.erb +14 -0
- data/lib/cosmos/dart/app/views/layouts/mailer.html.erb +13 -0
- data/lib/cosmos/dart/app/views/layouts/mailer.text.erb +1 -0
- data/lib/cosmos/dart/bin/bundle +3 -0
- data/lib/cosmos/dart/bin/rails +4 -0
- data/lib/cosmos/dart/bin/rake +4 -0
- data/lib/cosmos/dart/bin/setup +34 -0
- data/lib/cosmos/dart/bin/update +29 -0
- data/lib/cosmos/dart/config.ru +5 -0
- data/lib/cosmos/dart/config/application.rb +29 -0
- data/lib/cosmos/dart/config/boot.rb +3 -0
- data/lib/cosmos/dart/config/cable.yml +9 -0
- data/lib/cosmos/dart/config/database.yml +23 -0
- data/lib/cosmos/dart/config/environment.rb +5 -0
- data/lib/cosmos/dart/config/environments/development.rb +62 -0
- data/lib/cosmos/dart/config/environments/production.rb +84 -0
- data/lib/cosmos/dart/config/environments/test.rb +42 -0
- data/lib/cosmos/dart/config/initializers/application_controller_renderer.rb +6 -0
- data/lib/cosmos/dart/config/initializers/assets.rb +12 -0
- data/lib/cosmos/dart/config/initializers/backtrace_silencers.rb +7 -0
- data/lib/cosmos/dart/config/initializers/cookies_serializer.rb +5 -0
- data/lib/cosmos/dart/config/initializers/filter_parameter_logging.rb +4 -0
- data/lib/cosmos/dart/config/initializers/inflections.rb +16 -0
- data/lib/cosmos/dart/config/initializers/mime_types.rb +4 -0
- data/lib/cosmos/dart/config/initializers/new_framework_defaults.rb +25 -0
- data/lib/cosmos/dart/config/initializers/session_store.rb +3 -0
- data/lib/cosmos/dart/config/initializers/wrap_parameters.rb +14 -0
- data/lib/cosmos/dart/config/locales/en.yml +23 -0
- data/lib/cosmos/dart/config/puma.rb +47 -0
- data/lib/cosmos/dart/config/routes.rb +3 -0
- data/lib/cosmos/dart/config/secrets.yml +22 -0
- data/lib/cosmos/dart/db/migrate/20170406172907_create_targets.rb +8 -0
- data/lib/cosmos/dart/db/migrate/20170406172927_create_packets.rb +10 -0
- data/lib/cosmos/dart/db/migrate/20170406172937_create_packet_logs.rb +9 -0
- data/lib/cosmos/dart/db/migrate/20170406172943_create_packet_log_entries.rb +16 -0
- data/lib/cosmos/dart/db/migrate/20170406183500_change_packet_log_entries_primary_key.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20170407153618_add_unique_requirements.rb +7 -0
- data/lib/cosmos/dart/db/migrate/20170511155447_add_meta_id_to_packet_log_entries.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20170523185056_rename_received_time_and_add_is_tlm_to_packet_log_entries.rb +7 -0
- data/lib/cosmos/dart/db/migrate/20170525201157_create_items.rb +10 -0
- data/lib/cosmos/dart/db/migrate/20170525201315_create_system_configs.rb +9 -0
- data/lib/cosmos/dart/db/migrate/20170525201624_create_packet_configs.rb +11 -0
- data/lib/cosmos/dart/db/migrate/20170525201745_create_item_to_decom_table_mappings.rb +12 -0
- data/lib/cosmos/dart/db/migrate/20170525201939_create_decom_tables.rb +12 -0
- data/lib/cosmos/dart/db/migrate/20170525202051_add_decom_state_to_packet_log_entry.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20170913160409_update_items.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20170913160558_update_item_to_decom_table_mapping.rb +11 -0
- data/lib/cosmos/dart/db/migrate/20170913160916_udpate_decom_table.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20170913212026_add_ready_to_packet_configs.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20170913223556_modify_tables.rb +9 -0
- data/lib/cosmos/dart/db/migrate/20170914215744_modify_mapping_table.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20170919201433_add_system_config_id_to_packet_config.rb +11 -0
- data/lib/cosmos/dart/db/migrate/20170919210307_add_max_table_index_to_packet_configs.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20171215225546_add_ready_to_packet_log_entries.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20180116214338_add_index_for_ple_ready_to_packet_log_entries.rb +5 -0
- data/lib/cosmos/dart/db/schema.rb +103 -0
- data/lib/cosmos/dart/db/seeds.rb +7 -0
- data/lib/cosmos/dart/examples/dart_decom_client.rb +45 -0
- data/lib/cosmos/dart/examples/dart_stream_client.rb +93 -0
- data/lib/cosmos/dart/lib/dart_common.rb +749 -0
- data/lib/cosmos/dart/lib/dart_database_cleaner.rb +172 -0
- data/lib/cosmos/dart/lib/dart_decom_query.rb +184 -0
- data/lib/cosmos/dart/lib/dart_decommutator.rb +235 -0
- data/lib/cosmos/dart/lib/dart_importer.rb +154 -0
- data/lib/cosmos/dart/lib/dart_logging.rb +50 -0
- data/lib/cosmos/dart/lib/dart_packet_log_writer.rb +139 -0
- data/lib/cosmos/dart/lib/dart_reducer_manager.rb +85 -0
- data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +263 -0
- data/lib/cosmos/dart/lib/dart_tcpip_server_interface.rb +142 -0
- data/lib/cosmos/dart/processes/dart.rb +145 -0
- data/lib/cosmos/dart/processes/dart_decom_server.rb +39 -0
- data/lib/cosmos/dart/processes/dart_import.rb +63 -0
- data/lib/cosmos/dart/processes/dart_ingester.rb +92 -0
- data/lib/cosmos/dart/processes/dart_reducer.rb +27 -0
- data/lib/cosmos/dart/processes/dart_stream_server.rb +31 -0
- data/lib/cosmos/dart/processes/dart_worker.rb +37 -0
- data/lib/cosmos/dart/spec/dart/dart_common_spec.rb +333 -0
- data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +455 -0
- data/lib/cosmos/dart/spec/dart/dart_decom_query_spec.rb +153 -0
- data/lib/cosmos/dart/spec/dart/dart_decommutator_spec.rb +336 -0
- data/lib/cosmos/dart/spec/dart/dart_importer_spec.rb +83 -0
- data/lib/cosmos/dart/spec/dart/dart_logging_spec.rb +30 -0
- data/lib/cosmos/dart/spec/dart/dart_packet_log_writer_spec.rb +149 -0
- data/lib/cosmos/dart/spec/dart/dart_reducer_manager_spec.rb +289 -0
- data/lib/cosmos/dart/spec/dart/dart_tcpip_server_interface_spec.rb +241 -0
- data/lib/cosmos/dart/spec/rails_helper.rb +60 -0
- data/lib/cosmos/dart/spec/spec_helper.rb +139 -0
- data/lib/cosmos/gui/dialogs/about_dialog.rb +1 -1
- data/lib/cosmos/gui/dialogs/dart_dialog.rb +60 -0
- data/lib/cosmos/gui/dialogs/legal_dialog.rb +1 -0
- data/lib/cosmos/gui/dialogs/scroll_text_dialog.rb +0 -3
- data/lib/cosmos/gui/qt.rb +10 -1
- data/lib/cosmos/gui/text/completion.rb +10 -9
- data/lib/cosmos/gui/text/completion_text_edit.rb +16 -14
- data/lib/cosmos/gui/text/ruby_editor.rb +2 -2
- data/lib/cosmos/gui/widgets/dart_frame.rb +142 -0
- data/lib/cosmos/gui/widgets/dart_meta_frame.rb +119 -0
- data/lib/cosmos/gui/widgets/packet_log_frame.rb +42 -12
- data/lib/cosmos/interfaces/interface.rb +1 -2
- data/lib/cosmos/interfaces/protocols/crc_protocol.rb +26 -8
- data/lib/cosmos/interfaces/protocols/fixed_protocol.rb +8 -2
- data/lib/cosmos/interfaces/protocols/protocol.rb +2 -1
- data/lib/cosmos/interfaces/protocols/template_protocol.rb +1 -1
- data/lib/cosmos/interfaces/stream_interface.rb +1 -0
- data/lib/cosmos/interfaces/tcpip_server_interface.rb +2 -3
- data/lib/cosmos/io/json_drb_object.rb +1 -1
- data/lib/cosmos/io/json_rpc.rb +2 -1
- data/lib/cosmos/io/win32_serial_driver.rb +2 -9
- data/lib/cosmos/packet_logs/packet_log_writer.rb +1 -1
- data/lib/cosmos/packets/packet.rb +22 -12
- data/lib/cosmos/packets/packet_config.rb +2 -1
- data/lib/cosmos/packets/packet_item.rb +26 -24
- data/lib/cosmos/packets/parsers/macro_parser.rb +5 -2
- data/lib/cosmos/packets/parsers/packet_item_parser.rb +35 -17
- data/lib/cosmos/packets/parsers/packet_parser.rb +3 -10
- data/lib/cosmos/packets/parsers/xtce_converter.rb +21 -35
- data/lib/cosmos/packets/parsers/xtce_parser.rb +54 -46
- data/lib/cosmos/packets/structure.rb +10 -2
- data/lib/cosmos/packets/structure_item.rb +22 -8
- data/lib/cosmos/processors/statistics_processor.rb +2 -0
- data/lib/cosmos/script/api_shared.rb +13 -12
- data/lib/cosmos/script/cmd_tlm_server.rb +4 -0
- data/lib/cosmos/script/commands.rb +3 -15
- data/lib/cosmos/script/script.rb +69 -23
- data/lib/cosmos/streams/tcpip_client_stream.rb +2 -2
- data/lib/cosmos/system/system.rb +42 -25
- data/lib/cosmos/system/target.rb +6 -2
- data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +177 -36
- data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +3 -2
- data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +34 -8
- data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +80 -25
- data/lib/cosmos/tools/cmd_tlm_server/api.rb +19 -4
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +15 -14
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +15 -9
- data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +1 -9
- data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +1 -6
- data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +1 -3
- data/lib/cosmos/tools/cmd_tlm_server/gui/replay_tab.rb +84 -7
- data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +0 -1
- data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +1 -5
- data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +3 -2
- data/lib/cosmos/tools/cmd_tlm_server/replay_backend.rb +159 -27
- data/lib/cosmos/tools/cmd_tlm_server/routers.rb +1 -1
- data/lib/cosmos/tools/config_editor/config_editor.rb +17 -52
- data/lib/cosmos/tools/config_editor/config_editor_frame.rb +0 -5
- data/lib/cosmos/tools/data_viewer/data_viewer.rb +111 -0
- data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +31 -18
- data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +12 -3
- data/lib/cosmos/tools/script_runner/script_runner.rb +27 -14
- data/lib/cosmos/tools/script_runner/script_runner_frame.rb +104 -37
- data/lib/cosmos/tools/table_manager/table_config.rb +1 -1
- data/lib/cosmos/tools/table_manager/table_item_parser.rb +4 -2
- data/lib/cosmos/tools/table_manager/table_manager.rb +0 -5
- data/lib/cosmos/tools/table_manager/table_manager_core.rb +0 -1
- data/lib/cosmos/tools/test_runner/test.rb +1 -3
- data/lib/cosmos/tools/test_runner/test_runner.rb +26 -15
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +290 -137
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +122 -25
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +67 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +28 -0
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/xy_data_object_editor.rb +36 -0
- data/lib/cosmos/tools/tlm_grapher/data_objects/data_object.rb +42 -3
- data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +88 -14
- data/lib/cosmos/tools/tlm_grapher/data_objects/linegraph_data_object.rb +2 -5
- data/lib/cosmos/tools/tlm_grapher/data_objects/singlexy_data_object.rb +2 -6
- data/lib/cosmos/tools/tlm_grapher/data_objects/xy_data_object.rb +74 -18
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_config.rb +3 -7
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +159 -0
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tool.rb +49 -2
- data/lib/cosmos/tools/tlm_viewer/screen.rb +3 -0
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer_config.rb +0 -2
- data/lib/cosmos/tools/tlm_viewer/widgets.rb +1 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/backgroundbutton_widget.rb +54 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/button_widget.rb +5 -5
- data/lib/cosmos/top_level.rb +1 -0
- data/lib/cosmos/utilities/crc.rb +3 -0
- data/lib/cosmos/utilities/csv.rb +1 -0
- data/lib/cosmos/utilities/message_log.rb +2 -1
- data/lib/cosmos/utilities/simulated_target.rb +8 -8
- data/lib/cosmos/version.rb +5 -5
- data/lib/cosmos/win32/win32.rb +4 -10
- data/run_gui_tests.bat +2 -1
- data/spec/config/config_parser_spec.rb +4 -4
- data/spec/core_ext/array_spec.rb +1 -1
- data/spec/core_ext/exception_spec.rb +12 -12
- data/spec/core_ext/file_spec.rb +6 -6
- data/spec/core_ext/hash_spec.rb +1 -1
- data/spec/core_ext/socket_spec.rb +2 -2
- data/spec/core_ext/string_spec.rb +13 -13
- data/spec/core_ext/time_spec.rb +0 -2
- data/spec/gui/utilities/script_module_gui_spec.rb +3 -3
- data/spec/install/config/targets/INST/cmd_tlm/inst_tlm.txt +6 -6
- data/spec/install/config/tools/cmd_tlm_server/cmd_tlm_server.txt +4 -0
- data/spec/interfaces/cmd_tlm_server_interface_spec.rb +6 -2
- data/spec/interfaces/interface_spec.rb +0 -1
- data/spec/interfaces/linc_interface_spec.rb +0 -5
- data/spec/interfaces/protocols/crc_protocol_spec.rb +201 -85
- data/spec/interfaces/protocols/fixed_protocol_spec.rb +33 -9
- data/spec/interfaces/protocols/length_protocol_spec.rb +1 -1
- data/spec/interfaces/protocols/override_protocol_spec.rb +6 -2
- data/spec/interfaces/protocols/preidentified_protocol_spec.rb +1 -5
- data/spec/interfaces/protocols/template_protocol_spec.rb +0 -1
- data/spec/interfaces/simulated_target_interface_spec.rb +5 -5
- data/spec/interfaces/udp_interface_spec.rb +2 -4
- data/spec/io/buffered_file_spec.rb +8 -12
- data/spec/io/json_drb_spec.rb +9 -9
- data/spec/io/json_rpc_spec.rb +4 -4
- data/spec/io/raw_logger_spec.rb +4 -3
- data/spec/packet_logs/packet_log_reader_spec.rb +3 -6
- data/spec/packet_logs/packet_log_writer_spec.rb +4 -4
- data/spec/packets/binary_accessor_spec.rb +5 -8
- data/spec/packets/commands_spec.rb +2 -2
- data/spec/packets/limits_spec.rb +2 -2
- data/spec/packets/packet_config_spec.rb +12 -0
- data/spec/packets/packet_item_limits_spec.rb +1 -1
- data/spec/packets/packet_item_spec.rb +9 -9
- data/spec/packets/packet_spec.rb +15 -5
- data/spec/packets/parsers/packet_item_parser_spec.rb +27 -0
- data/spec/packets/parsers/xtce_parser_spec.rb +27 -30
- data/spec/packets/structure_spec.rb +2 -1
- data/spec/packets/telemetry_spec.rb +3 -5
- data/spec/processors/statistics_processor_spec.rb +35 -0
- data/spec/script/cmd_tlm_server_spec.rb +4 -21
- data/spec/script/commands_disconnect_spec.rb +46 -58
- data/spec/script/commands_spec.rb +40 -61
- data/spec/script/limits_spec.rb +1 -21
- data/spec/script/script_spec.rb +32 -41
- data/spec/script/scripting_spec.rb +166 -185
- data/spec/script/telemetry_spec.rb +10 -5
- data/spec/script/tools_spec.rb +2 -24
- data/spec/spec_helper.rb +11 -5
- data/spec/system/system_spec.rb +17 -12
- data/spec/tools/cmd_tlm_server/api_spec.rb +21 -10
- data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +15 -16
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +0 -1
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_spec.rb +16 -27
- data/spec/tools/cmd_tlm_server/commanding_spec.rb +2 -6
- data/spec/tools/cmd_tlm_server/connections_spec.rb +0 -4
- data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +13 -13
- data/spec/tools/cmd_tlm_server/interfaces_spec.rb +5 -9
- data/spec/tools/cmd_tlm_server/limits_groups_background_task_spec.rb +11 -3
- data/spec/tools/cmd_tlm_server/packet_logging_spec.rb +0 -4
- data/spec/tools/cmd_tlm_server/router_thread_spec.rb +5 -5
- data/spec/tools/cmd_tlm_server/routers_spec.rb +5 -9
- data/spec/tools/table_manager/table_config_spec.rb +0 -1
- data/spec/tools/table_manager/tablemanager_core_spec.rb +23 -23
- data/spec/tools/tlm_viewer/tlm_viewer_config_spec.rb +6 -4
- data/spec/top_level/top_level_spec.rb +9 -9
- data/spec/utilities/csv_spec.rb +2 -12
- data/spec/utilities/logger_spec.rb +6 -6
- data/spec/utilities/message_log_spec.rb +3 -11
- data/tasks/gemfile_stats.rake +2 -2
- metadata +167 -60
|
@@ -137,6 +137,7 @@ module Cosmos
|
|
|
137
137
|
'replay_move_index',
|
|
138
138
|
'get_screen_list',
|
|
139
139
|
'get_screen_definition',
|
|
140
|
+
'get_saved_config',
|
|
140
141
|
]
|
|
141
142
|
@tlm_viewer_config_filename = nil
|
|
142
143
|
@tlm_viewer_config = nil
|
|
@@ -390,7 +391,7 @@ module Cosmos
|
|
|
390
391
|
end
|
|
391
392
|
else
|
|
392
393
|
commands = System.commands.all
|
|
393
|
-
commands.each do |
|
|
394
|
+
commands.each do |_, target_commands|
|
|
394
395
|
target_commands.each do |packet_name, command|
|
|
395
396
|
last_command = command if !last_command and command.received_time
|
|
396
397
|
if command.received_time and command.received_time > last_command.received_time
|
|
@@ -825,7 +826,7 @@ module Cosmos
|
|
|
825
826
|
end
|
|
826
827
|
|
|
827
828
|
# (see Cosmos::Limits#overall_limits_state)
|
|
828
|
-
def get_overall_limits_state
|
|
829
|
+
def get_overall_limits_state(ignored_items = nil)
|
|
829
830
|
return System.limits.overall_limits_state(ignored_items)
|
|
830
831
|
end
|
|
831
832
|
|
|
@@ -1250,8 +1251,7 @@ module Cosmos
|
|
|
1250
1251
|
|
|
1251
1252
|
# Get the list of packet loggers.
|
|
1252
1253
|
#
|
|
1253
|
-
# @
|
|
1254
|
-
# @return [<Array<String>] Array containing the names of all packet loggers
|
|
1254
|
+
# @return [Array<String>] Array containing the names of all packet loggers
|
|
1255
1255
|
def get_packet_loggers
|
|
1256
1256
|
return CmdTlmServer.packet_logging.all.keys
|
|
1257
1257
|
end
|
|
@@ -1566,6 +1566,21 @@ module Cosmos
|
|
|
1566
1566
|
return screen_definition
|
|
1567
1567
|
end
|
|
1568
1568
|
|
|
1569
|
+
# Get a saved configuration zip file
|
|
1570
|
+
def get_saved_config(configuration_name = nil)
|
|
1571
|
+
configuration_name ||= System.initial_config.name if System.initial_config
|
|
1572
|
+
if configuration_name
|
|
1573
|
+
configuration = System.instance.find_configuration(configuration_name)
|
|
1574
|
+
if configuration and File.exist?(configuration) and configuration[-4..-1] == ".zip"
|
|
1575
|
+
filename = File.basename(configuration)
|
|
1576
|
+
data = ''
|
|
1577
|
+
File.open(configuration, 'rb') {|file| data = file.read}
|
|
1578
|
+
return [filename, data]
|
|
1579
|
+
end
|
|
1580
|
+
end
|
|
1581
|
+
return nil
|
|
1582
|
+
end
|
|
1583
|
+
|
|
1569
1584
|
private
|
|
1570
1585
|
|
|
1571
1586
|
def cmd_implementation(range_check, hazardous_check, raw, method_name, *args)
|
|
@@ -109,7 +109,7 @@ module Cosmos
|
|
|
109
109
|
end
|
|
110
110
|
|
|
111
111
|
# Set the meta callback
|
|
112
|
-
def self.meta_callback=
|
|
112
|
+
def self.meta_callback=(meta_callback)
|
|
113
113
|
@@meta_callback = meta_callback
|
|
114
114
|
end
|
|
115
115
|
|
|
@@ -130,7 +130,8 @@ module Cosmos
|
|
|
130
130
|
config_file = DEFAULT_CONFIG_FILE,
|
|
131
131
|
production = false,
|
|
132
132
|
disconnect = false,
|
|
133
|
-
mode = :CMD_TLM_SERVER
|
|
133
|
+
mode = :CMD_TLM_SERVER,
|
|
134
|
+
replay_routers = false)
|
|
134
135
|
|
|
135
136
|
@@instance = self
|
|
136
137
|
@packet_logging = nil # Removes warnings
|
|
@@ -217,7 +218,7 @@ module Cosmos
|
|
|
217
218
|
@routers.add_preidentified('PREIDENTIFIED_ROUTER', System.ports['CTS_PREIDENTIFIED'])
|
|
218
219
|
@routers.add_cmd_preidentified('PREIDENTIFIED_CMD_ROUTER', System.ports['CTS_CMD_ROUTER'])
|
|
219
220
|
else
|
|
220
|
-
@routers.all.clear
|
|
221
|
+
@routers.all.clear unless replay_routers
|
|
221
222
|
@routers.add_preidentified('PREIDENTIFIED_ROUTER', System.ports['REPLAY_PREIDENTIFIED'])
|
|
222
223
|
@routers.add_cmd_preidentified('PREIDENTIFIED_CMD_ROUTER', System.ports['REPLAY_CMD_ROUTER'])
|
|
223
224
|
end
|
|
@@ -235,17 +236,17 @@ module Cosmos
|
|
|
235
236
|
def stop
|
|
236
237
|
# Break long pollers
|
|
237
238
|
@limits_event_queues.dup.each do |id, data|
|
|
238
|
-
queue,
|
|
239
|
+
queue, _ = @limits_event_queues.delete(id)
|
|
239
240
|
queue << nil if queue
|
|
240
241
|
end
|
|
241
242
|
|
|
242
243
|
@server_message_queues.dup.each do |id, data|
|
|
243
|
-
queue,
|
|
244
|
+
queue, _ = @server_message_queues.delete(id)
|
|
244
245
|
queue << nil if queue
|
|
245
246
|
end
|
|
246
247
|
|
|
247
248
|
@packet_data_queues.dup.each do |id, data|
|
|
248
|
-
queue,
|
|
249
|
+
queue, _, _ = @packet_data_queues.delete(id)
|
|
249
250
|
queue << nil if queue
|
|
250
251
|
end
|
|
251
252
|
|
|
@@ -268,7 +269,7 @@ module Cosmos
|
|
|
268
269
|
end
|
|
269
270
|
|
|
270
271
|
# Set a stop callback
|
|
271
|
-
def stop_callback=
|
|
272
|
+
def stop_callback=(stop_callback)
|
|
272
273
|
@stop_callback = stop_callback
|
|
273
274
|
end
|
|
274
275
|
|
|
@@ -283,7 +284,7 @@ module Cosmos
|
|
|
283
284
|
end
|
|
284
285
|
|
|
285
286
|
# Set a reload callback
|
|
286
|
-
def reload_callback=
|
|
287
|
+
def reload_callback=(reload_callback)
|
|
287
288
|
@reload_callback = reload_callback
|
|
288
289
|
end
|
|
289
290
|
|
|
@@ -367,7 +368,7 @@ module Cosmos
|
|
|
367
368
|
queues_to_drop.each do |id|
|
|
368
369
|
# Remove the queue to stop servicing it. Nil is added to unblock any client threads
|
|
369
370
|
# that might otherwise be left blocking forever for something on the queue
|
|
370
|
-
queue,
|
|
371
|
+
queue, _ = @limits_event_queues.delete(id)
|
|
371
372
|
queue << nil if queue
|
|
372
373
|
end
|
|
373
374
|
end
|
|
@@ -409,7 +410,7 @@ module Cosmos
|
|
|
409
410
|
@@instance.limits_event_queue_mutex.synchronize do
|
|
410
411
|
# Remove the queue to stop servicing it. Nil is added to unblock any client threads
|
|
411
412
|
# that might otherwise be left blocking forever for something on the queue
|
|
412
|
-
queue,
|
|
413
|
+
queue, _ = @@instance.limits_event_queues.delete(id)
|
|
413
414
|
queue << nil if queue
|
|
414
415
|
end
|
|
415
416
|
end
|
|
@@ -470,7 +471,7 @@ module Cosmos
|
|
|
470
471
|
queues_to_drop.each do |id|
|
|
471
472
|
# Remove the queue to stop servicing it. Nil is added to unblock any client threads
|
|
472
473
|
# that might otherwise be left blocking forever for something on the queue
|
|
473
|
-
queue,
|
|
474
|
+
queue, _, _ = @packet_data_queues.delete(id)
|
|
474
475
|
queue << nil if queue
|
|
475
476
|
end
|
|
476
477
|
end
|
|
@@ -542,7 +543,7 @@ module Cosmos
|
|
|
542
543
|
@@instance.packet_data_queue_mutex.synchronize do
|
|
543
544
|
# Remove the queue to stop servicing it. Nil is added to unblock any client threads
|
|
544
545
|
# that might otherwise be left blocking forever for something on the queue
|
|
545
|
-
queue,
|
|
546
|
+
queue, _, _ = @@instance.packet_data_queues.delete(id)
|
|
546
547
|
queue << nil if queue
|
|
547
548
|
end
|
|
548
549
|
return nil
|
|
@@ -605,7 +606,7 @@ module Cosmos
|
|
|
605
606
|
queues_to_drop.each do |id|
|
|
606
607
|
# Remove the queue to stop servicing it. Nil is added to unblock any client threads
|
|
607
608
|
# that might otherwise be left blocking forever for something on the queue
|
|
608
|
-
queue,
|
|
609
|
+
queue, _ = @server_message_queues.delete(id)
|
|
609
610
|
queue << nil if queue
|
|
610
611
|
end
|
|
611
612
|
end
|
|
@@ -644,7 +645,7 @@ module Cosmos
|
|
|
644
645
|
@@instance.server_message_queue_mutex.synchronize do
|
|
645
646
|
# Remove the queue to stop servicing it. Nil is added to unblock any client threads
|
|
646
647
|
# that might otherwise be left blocking forever for something on the queue
|
|
647
|
-
queue,
|
|
648
|
+
queue, _ = @@instance.server_message_queues.delete(id)
|
|
648
649
|
queue << nil if queue
|
|
649
650
|
end
|
|
650
651
|
end
|
|
@@ -123,6 +123,7 @@ module Cosmos
|
|
|
123
123
|
end
|
|
124
124
|
@production = options.production
|
|
125
125
|
@no_prompt = options.no_prompt
|
|
126
|
+
@replay_routers = options.replay_routers
|
|
126
127
|
@message_log = nil
|
|
127
128
|
@output_sleeper = Sleeper.new
|
|
128
129
|
@first_output = 0
|
|
@@ -147,7 +148,7 @@ module Cosmos
|
|
|
147
148
|
|
|
148
149
|
if !CmdTlmServer.instance or @mode == :CMD_TLM_SERVER
|
|
149
150
|
CmdTlmServer.meta_callback = method(:meta_callback)
|
|
150
|
-
cts = CmdTlmServer.new(@options.config_file, @production, false, @mode)
|
|
151
|
+
cts = CmdTlmServer.new(@options.config_file, @production, false, @mode, @replay_routers)
|
|
151
152
|
CmdTlmServerGui.configure_signal_handlers()
|
|
152
153
|
cts.stop_callback = method(:stop_callback)
|
|
153
154
|
cts.reload_callback = method(:reload)
|
|
@@ -508,7 +509,7 @@ module Cosmos
|
|
|
508
509
|
CmdTlmServer.instance.stop_callback = nil
|
|
509
510
|
CmdTlmServer.instance.stop
|
|
510
511
|
System.reset
|
|
511
|
-
cts = CmdTlmServer.new(@options.config_file, @options.production, false, @mode)
|
|
512
|
+
cts = CmdTlmServer.new(@options.config_file, @options.production, false, @mode, @options.replay_routers)
|
|
512
513
|
|
|
513
514
|
# Signal catching needs to be repeated here because Puma interferes
|
|
514
515
|
["TERM", "INT"].each {|sig| Signal.trap(sig) {exit}}
|
|
@@ -557,7 +558,7 @@ module Cosmos
|
|
|
557
558
|
else
|
|
558
559
|
@mode = :CMD_TLM_SERVER
|
|
559
560
|
end
|
|
560
|
-
cts = CmdTlmServer.new(options.config_file, options.production, false, @mode)
|
|
561
|
+
cts = CmdTlmServer.new(options.config_file, options.production, false, @mode, options.replay_routers)
|
|
561
562
|
|
|
562
563
|
# Signal catching needs to be repeated here because Puma interferes
|
|
563
564
|
["TERM", "INT"].each {|sig| Signal.trap(sig) {exit}}
|
|
@@ -616,12 +617,7 @@ module Cosmos
|
|
|
616
617
|
options.production = false
|
|
617
618
|
options.no_prompt = false
|
|
618
619
|
options.no_gui = false
|
|
619
|
-
|
|
620
|
-
options.replay = true
|
|
621
|
-
options.title = "Replay"
|
|
622
|
-
else
|
|
623
|
-
options.replay = false
|
|
624
|
-
end
|
|
620
|
+
options.replay_routers = false
|
|
625
621
|
|
|
626
622
|
option_parser.separator "CTS Specific Options:"
|
|
627
623
|
option_parser.on("-c", "--config FILE", "Use the specified configuration file") do |arg|
|
|
@@ -636,6 +632,16 @@ module Cosmos
|
|
|
636
632
|
option_parser.on(nil, "--no-gui", "Run the server without a GUI") do |arg|
|
|
637
633
|
options.no_gui = true
|
|
638
634
|
end
|
|
635
|
+
|
|
636
|
+
if self.name == "Cosmos::Replay"
|
|
637
|
+
options.replay = true
|
|
638
|
+
options.title = "Replay"
|
|
639
|
+
option_parser.on(nil, "--routers", "Enable All Routers") do |arg|
|
|
640
|
+
options.replay_routers = true
|
|
641
|
+
end
|
|
642
|
+
else
|
|
643
|
+
options.replay = false
|
|
644
|
+
end
|
|
639
645
|
end
|
|
640
646
|
|
|
641
647
|
super(option_parser, options)
|
|
@@ -13,7 +13,6 @@ require 'cosmos/gui/qt'
|
|
|
13
13
|
require 'cosmos/gui/dialogs/interface_raw_dialog'
|
|
14
14
|
|
|
15
15
|
module Cosmos
|
|
16
|
-
|
|
17
16
|
# Implements the interfaces and routers tabs in the Command and Telemetry Server GUI
|
|
18
17
|
class InterfacesTab
|
|
19
18
|
INTERFACES = 'Interfaces'
|
|
@@ -39,22 +38,16 @@ module Cosmos
|
|
|
39
38
|
end
|
|
40
39
|
|
|
41
40
|
# Create the interfaces tab and add it to the tab_widget
|
|
42
|
-
#
|
|
43
|
-
# @param tab_widget [Qt::TabWidget] The tab widget to add the tab to
|
|
44
41
|
def populate_interfaces
|
|
45
42
|
populate(CmdTlmServer.interfaces)
|
|
46
43
|
end
|
|
47
44
|
|
|
48
45
|
# Create the routers tab and add it to the tab_widget
|
|
49
|
-
#
|
|
50
|
-
# @param tab_widget [Qt::TabWidget] The tab widget to add the tab to
|
|
51
46
|
def populate_routers
|
|
52
47
|
populate(CmdTlmServer.routers)
|
|
53
48
|
end
|
|
54
49
|
|
|
55
50
|
# Update the interfaces or routers tab
|
|
56
|
-
#
|
|
57
|
-
# @param name [String] Must be Interfaces or Routers
|
|
58
51
|
def update
|
|
59
52
|
if @name == ROUTERS
|
|
60
53
|
interfaces = CmdTlmServer.routers
|
|
@@ -219,6 +212,5 @@ module Cosmos
|
|
|
219
212
|
state.setTextAlignment(Qt::AlignCenter)
|
|
220
213
|
state
|
|
221
214
|
end
|
|
222
|
-
|
|
223
215
|
end
|
|
224
|
-
end
|
|
216
|
+
end
|
|
@@ -12,10 +12,8 @@ require 'cosmos'
|
|
|
12
12
|
require 'cosmos/gui/qt'
|
|
13
13
|
|
|
14
14
|
module Cosmos
|
|
15
|
-
|
|
16
15
|
# Implements the logging tab in the Command and Telemetry Server GUI
|
|
17
16
|
class LoggingTab
|
|
18
|
-
|
|
19
17
|
def initialize(production, tab_widget)
|
|
20
18
|
@production = production
|
|
21
19
|
@widget = nil
|
|
@@ -33,8 +31,6 @@ module Cosmos
|
|
|
33
31
|
end
|
|
34
32
|
|
|
35
33
|
# Create the logging tab and add it to the tab_widget
|
|
36
|
-
#
|
|
37
|
-
# @param tab_widget [Qt::TabWidget] The tab widget to add the tab to
|
|
38
34
|
def populate
|
|
39
35
|
reset()
|
|
40
36
|
@widget = Qt::Widget.new
|
|
@@ -181,6 +177,5 @@ module Cosmos
|
|
|
181
177
|
end
|
|
182
178
|
layout.addWidget(Qt::Label.new(Qt::Object.tr("Note: Buffered IO operations cause file size to not reflect total logged data size until the log file is closed.")))
|
|
183
179
|
end
|
|
184
|
-
|
|
185
180
|
end
|
|
186
|
-
end
|
|
181
|
+
end
|
|
@@ -13,7 +13,6 @@ require 'cosmos/gui/qt'
|
|
|
13
13
|
require 'cosmos/gui/dialogs/cmd_tlm_raw_dialog'
|
|
14
14
|
|
|
15
15
|
module Cosmos
|
|
16
|
-
|
|
17
16
|
# Implements the packets tab in the Command and Telemetry Server GUI
|
|
18
17
|
class PacketsTab
|
|
19
18
|
COMMANDS = "Commands"
|
|
@@ -157,6 +156,5 @@ module Cosmos
|
|
|
157
156
|
table.setItem(row, 4, table_widget)
|
|
158
157
|
end
|
|
159
158
|
end
|
|
160
|
-
|
|
161
159
|
end
|
|
162
|
-
end
|
|
160
|
+
end
|
|
@@ -12,13 +12,12 @@ require 'cosmos'
|
|
|
12
12
|
require 'cosmos/gui/qt'
|
|
13
13
|
require 'cosmos/gui/choosers/string_chooser'
|
|
14
14
|
require 'cosmos/gui/dialogs/packet_log_dialog'
|
|
15
|
+
require 'cosmos/gui/dialogs/dart_dialog'
|
|
15
16
|
require 'cosmos/gui/dialogs/progress_dialog'
|
|
16
17
|
|
|
17
18
|
module Cosmos
|
|
18
|
-
|
|
19
19
|
# Implements the replay tab in the Command and Telemetry Server GUI
|
|
20
20
|
class ReplayTab
|
|
21
|
-
|
|
22
21
|
attr_accessor :widget
|
|
23
22
|
|
|
24
23
|
def initialize(tab_widget)
|
|
@@ -39,11 +38,12 @@ module Cosmos
|
|
|
39
38
|
end
|
|
40
39
|
|
|
41
40
|
# Create the targets tab and add it to the tab_widget
|
|
42
|
-
#
|
|
43
|
-
# @param tab_widget [Qt::TabWidget] The tab widget to add the tab to
|
|
44
41
|
def populate
|
|
45
42
|
return if @widget
|
|
46
43
|
|
|
44
|
+
@resize_timer = Qt::Timer.new
|
|
45
|
+
@resize_timer.connect(SIGNAL('timeout()')) { @widget.resize(@widget.width, @widget.minimumHeight) }
|
|
46
|
+
|
|
47
47
|
@widget = Qt::Widget.new
|
|
48
48
|
|
|
49
49
|
layout = Qt::VBoxLayout.new(@widget)
|
|
@@ -58,6 +58,44 @@ module Cosmos
|
|
|
58
58
|
@log_layout.setContentsMargins(0,0,0,0)
|
|
59
59
|
@log_widget.setLayout(@log_layout)
|
|
60
60
|
|
|
61
|
+
# Data Source Selection
|
|
62
|
+
@data_source_layout = Qt::HBoxLayout.new()
|
|
63
|
+
label = Qt::Label.new("Data Source: ")
|
|
64
|
+
@data_source_layout.addWidget(label)
|
|
65
|
+
@log_file_radio = Qt::RadioButton.new("Log File", @widget)
|
|
66
|
+
@log_file_radio.setChecked(true)
|
|
67
|
+
@log_file_radio.connect(SIGNAL('clicked()')) do
|
|
68
|
+
@stream_selection.hide
|
|
69
|
+
@log_file_selection.show
|
|
70
|
+
@op.setTitle("Playback Control: Log File")
|
|
71
|
+
@move_start.setEnabled(false)
|
|
72
|
+
@step_back.setEnabled(false)
|
|
73
|
+
@reverse_play.setEnabled(false)
|
|
74
|
+
@stop.setEnabled(false)
|
|
75
|
+
@play.setEnabled(false)
|
|
76
|
+
@step_forward.setEnabled(false)
|
|
77
|
+
@move_end.setEnabled(false)
|
|
78
|
+
@resize_timer.start(100)
|
|
79
|
+
end
|
|
80
|
+
@data_source_layout.addWidget(@log_file_radio)
|
|
81
|
+
@dart_radio = Qt::RadioButton.new("DART Database", @widget)
|
|
82
|
+
@dart_radio.connect(SIGNAL('clicked()')) do
|
|
83
|
+
@log_file_selection.hide
|
|
84
|
+
@stream_selection.show
|
|
85
|
+
@op.setTitle("Playback Control: DART Database")
|
|
86
|
+
@move_start.setEnabled(false)
|
|
87
|
+
@step_back.setEnabled(false)
|
|
88
|
+
@reverse_play.setEnabled(false)
|
|
89
|
+
@stop.setEnabled(false)
|
|
90
|
+
@play.setEnabled(false)
|
|
91
|
+
@step_forward.setEnabled(false)
|
|
92
|
+
@move_end.setEnabled(false)
|
|
93
|
+
@resize_timer.start(100)
|
|
94
|
+
end
|
|
95
|
+
@data_source_layout.addWidget(@dart_radio)
|
|
96
|
+
@data_source_layout.addStretch()
|
|
97
|
+
@log_layout.addLayout(@data_source_layout)
|
|
98
|
+
|
|
61
99
|
# Create the log file GUI
|
|
62
100
|
@log_file_selection = Qt::GroupBox.new("Log File Selection")
|
|
63
101
|
@log_select = Qt::HBoxLayout.new(@log_file_selection)
|
|
@@ -70,8 +108,18 @@ module Cosmos
|
|
|
70
108
|
|
|
71
109
|
@log_open.connect(SIGNAL('clicked()')) { select_log_file() }
|
|
72
110
|
|
|
111
|
+
# Create the streaming GUI
|
|
112
|
+
@stream_selection = Qt::GroupBox.new("Stream Selection")
|
|
113
|
+
@stream_select = Qt::HBoxLayout.new(@stream_selection)
|
|
114
|
+
@stream_open = Qt::PushButton.new("Select Stream...")
|
|
115
|
+
@stream_select.addWidget(@stream_open)
|
|
116
|
+
@log_layout.addWidget(@stream_selection)
|
|
117
|
+
@stream_selection.hide
|
|
118
|
+
|
|
119
|
+
@stream_open.connect(SIGNAL('clicked()')) { select_stream() }
|
|
120
|
+
|
|
73
121
|
# Create the operation buttons GUI
|
|
74
|
-
@op = Qt::GroupBox.new("Playback Control")
|
|
122
|
+
@op = Qt::GroupBox.new("Playback Control: Log File")
|
|
75
123
|
@op_layout = Qt::VBoxLayout.new(@op)
|
|
76
124
|
@op_button_layout = Qt::HBoxLayout.new
|
|
77
125
|
@move_start = Qt::PushButton.new(Cosmos.get_icon('skip_to_start-26.png'), '')
|
|
@@ -104,6 +152,13 @@ module Cosmos
|
|
|
104
152
|
@move_end.connect(SIGNAL('clicked()')) { CmdTlmServer.replay_backend.move_end() }
|
|
105
153
|
@op_button_layout.addWidget(@move_end)
|
|
106
154
|
@op_layout.addLayout(@op_button_layout)
|
|
155
|
+
@move_start.setEnabled(false)
|
|
156
|
+
@step_back.setEnabled(false)
|
|
157
|
+
@reverse_play.setEnabled(false)
|
|
158
|
+
@stop.setEnabled(false)
|
|
159
|
+
@play.setEnabled(false)
|
|
160
|
+
@step_forward.setEnabled(false)
|
|
161
|
+
@move_end.setEnabled(false)
|
|
107
162
|
|
|
108
163
|
# Speed Selection
|
|
109
164
|
@playback_delay = nil
|
|
@@ -144,7 +199,7 @@ module Cosmos
|
|
|
144
199
|
@op_layout.addLayout(@speed_layout)
|
|
145
200
|
@log_layout.addWidget(@op)
|
|
146
201
|
|
|
147
|
-
@file_pos = Qt::GroupBox.new("
|
|
202
|
+
@file_pos = Qt::GroupBox.new("Time")
|
|
148
203
|
@file_pos_layout = Qt::VBoxLayout.new(@file_pos)
|
|
149
204
|
@slider = Qt::Slider.new(Qt::Horizontal)
|
|
150
205
|
@slider.setRange(0, 10000)
|
|
@@ -235,8 +290,30 @@ module Cosmos
|
|
|
235
290
|
case packet_log_dialog.exec
|
|
236
291
|
when Qt::Dialog::Accepted
|
|
237
292
|
CmdTlmServer.replay_backend.select_file(packet_log_dialog.filenames[0], packet_log_dialog.packet_log_reader)
|
|
293
|
+
@move_start.setEnabled(true)
|
|
294
|
+
@step_back.setEnabled(true)
|
|
295
|
+
@reverse_play.setEnabled(true)
|
|
296
|
+
@stop.setEnabled(true)
|
|
297
|
+
@play.setEnabled(true)
|
|
298
|
+
@step_forward.setEnabled(true)
|
|
299
|
+
@move_end.setEnabled(true)
|
|
238
300
|
end
|
|
239
301
|
end
|
|
240
302
|
|
|
303
|
+
def select_stream
|
|
304
|
+
dart_dialog = DartDialog.new(@widget, 'Select Stream', true)
|
|
305
|
+
case dart_dialog.exec
|
|
306
|
+
when Qt::Dialog::Accepted
|
|
307
|
+
CmdTlmServer.replay_backend.select_stream(dart_dialog.time_start, dart_dialog.time_end, dart_dialog.meta_filters)
|
|
308
|
+
@log_name.text = ""
|
|
309
|
+
@move_start.setEnabled(true)
|
|
310
|
+
@step_back.setEnabled(false)
|
|
311
|
+
@reverse_play.setEnabled(true)
|
|
312
|
+
@stop.setEnabled(true)
|
|
313
|
+
@play.setEnabled(true)
|
|
314
|
+
@step_forward.setEnabled(false)
|
|
315
|
+
@move_end.setEnabled(true)
|
|
316
|
+
end
|
|
317
|
+
end
|
|
241
318
|
end
|
|
242
|
-
end
|
|
319
|
+
end
|