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
|
@@ -92,6 +92,12 @@ module Cosmos
|
|
|
92
92
|
raise "processed_packets must be defined by class #{self.class}"
|
|
93
93
|
end
|
|
94
94
|
|
|
95
|
+
# Returns the items used by this data object in the order required
|
|
96
|
+
# by process_dart and process_values
|
|
97
|
+
def processed_items
|
|
98
|
+
raise "processed_items must be defined by class #{self.class}"
|
|
99
|
+
end
|
|
100
|
+
|
|
95
101
|
# Processes a packet associated with this data object
|
|
96
102
|
#
|
|
97
103
|
# @param packet [Packet] The packet to process
|
|
@@ -101,6 +107,31 @@ module Cosmos
|
|
|
101
107
|
raise "process_packet must be defined by class #{self.class}"
|
|
102
108
|
end
|
|
103
109
|
|
|
110
|
+
# Processes a packet associated with this data object
|
|
111
|
+
#
|
|
112
|
+
# @param packet [Packet] The packet to process
|
|
113
|
+
# @param count [Integer] Count which increments for each packet received by
|
|
114
|
+
# the higher level process
|
|
115
|
+
def process_values(*args)
|
|
116
|
+
raise "process_values must be defined by class #{self.class}"
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Handles calling process_values with the given data from DART
|
|
120
|
+
def process_dart(dart_results)
|
|
121
|
+
sample = []
|
|
122
|
+
min_length = nil
|
|
123
|
+
dart_results.each do |dr|
|
|
124
|
+
min_length = dr.length if !min_length or dr.length < min_length
|
|
125
|
+
end
|
|
126
|
+
min_length.times do |sample_index|
|
|
127
|
+
sample = []
|
|
128
|
+
dart_results.length.times do |drindex|
|
|
129
|
+
sample << dart_results[drindex][sample_index][0]
|
|
130
|
+
end
|
|
131
|
+
process_values(*sample)
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
104
135
|
def handle_process_exception(error, telemetry_point)
|
|
105
136
|
raise error if error.class == NoMemoryError
|
|
106
137
|
reset()
|
|
@@ -188,6 +219,14 @@ module Cosmos
|
|
|
188
219
|
return nil
|
|
189
220
|
end
|
|
190
221
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
222
|
+
# @return [Boolean] Whether the value is invalid: nil, NaN, or Infinite
|
|
223
|
+
# and thus can not be graphed
|
|
224
|
+
def invalid_value?(value)
|
|
225
|
+
invalid = false
|
|
226
|
+
invalid ||= value.nil?
|
|
227
|
+
invalid ||= (value.respond_to?(:nan?) && value.nan?)
|
|
228
|
+
invalid ||= (value.respond_to?(:infinite?) && value.infinite?)
|
|
229
|
+
invalid
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
end
|
|
@@ -12,7 +12,6 @@ require 'cosmos'
|
|
|
12
12
|
require 'cosmos/tools/tlm_grapher/data_objects/linegraph_data_object'
|
|
13
13
|
|
|
14
14
|
module Cosmos
|
|
15
|
-
|
|
16
15
|
# Represents a data object on a line graph for a housekeeping telemetry item
|
|
17
16
|
class HousekeepingDataObject < LinegraphDataObject
|
|
18
17
|
|
|
@@ -20,7 +19,13 @@ module Cosmos
|
|
|
20
19
|
VALUE_TYPES = [:RAW, :CONVERTED]
|
|
21
20
|
|
|
22
21
|
# Analysis Types
|
|
23
|
-
ANALYSIS_TYPES = [:NONE, :DIFFERENCE, :WINDOWED_MEAN, :WINDOWED_MEAN_REMOVED, :STD_DEV, :ALLAN_DEV, :MAXIMUM, :MINIMUM, :PEAK_TO_PEAK]
|
|
22
|
+
ANALYSIS_TYPES = [:NONE, :DIFFERENCE, :WINDOWED_MEAN, :WINDOWED_MEAN_REMOVED, :STD_DEV, :ALLAN_DEV, :MAXIMUM, :MINIMUM, :PEAK_TO_PEAK, :SAMPLED, :SAMPLED_MEAN]
|
|
23
|
+
|
|
24
|
+
# DART Reductions
|
|
25
|
+
DART_REDUCTIONS = [:NONE, :MINUTE, :HOUR, :DAY]
|
|
26
|
+
|
|
27
|
+
# DART Reduced Types
|
|
28
|
+
DART_REDUCED_TYPES = [:AVG, :MIN, :MAX, :STDDEV]
|
|
24
29
|
|
|
25
30
|
# The housekeeping telemetry item's target name (string)
|
|
26
31
|
attr_reader :target_name
|
|
@@ -43,6 +48,12 @@ module Cosmos
|
|
|
43
48
|
# Type of data to collect - :RAW or :CONVERTED
|
|
44
49
|
attr_accessor :value_type
|
|
45
50
|
|
|
51
|
+
# DART Reduction
|
|
52
|
+
attr_accessor :dart_reduction
|
|
53
|
+
|
|
54
|
+
# DART Reduced Type
|
|
55
|
+
attr_accessor :dart_reduced_type
|
|
56
|
+
|
|
46
57
|
# The analysis to perform
|
|
47
58
|
attr_accessor :analysis
|
|
48
59
|
|
|
@@ -65,6 +76,8 @@ module Cosmos
|
|
|
65
76
|
@time_item_name = nil
|
|
66
77
|
@formatted_time_item_name = nil
|
|
67
78
|
@value_type = :CONVERTED
|
|
79
|
+
@dart_reduction = :NONE
|
|
80
|
+
@dart_reduced_type = :AVG
|
|
68
81
|
@analysis = :NONE
|
|
69
82
|
@analysis_samples = 3
|
|
70
83
|
@show_limits_lines = false
|
|
@@ -84,6 +97,8 @@ module Cosmos
|
|
|
84
97
|
string << " TIME_ITEM #{@time_item_name}\n" if @time_item_name
|
|
85
98
|
string << " FORMATTED_TIME_ITEM #{@formatted_time_item_name}\n" if @formatted_time_item_name
|
|
86
99
|
string << " VALUE_TYPE #{@value_type}\n"
|
|
100
|
+
string << " DART_REDUCTION #{@dart_reduction}\n"
|
|
101
|
+
string << " DART_REDUCED_TYPE #{@dart_reduced_type}\n"
|
|
87
102
|
string << " ANALYSIS #{@analysis}\n"
|
|
88
103
|
string << " ANALYSIS_SAMPLES #{@analysis_samples}\n"
|
|
89
104
|
string << " SHOW_LIMITS_LINES #{@show_limits_lines.to_s.upcase}\n"
|
|
@@ -123,6 +138,26 @@ module Cosmos
|
|
|
123
138
|
raise ArgumentError, "Unknown VALUE_TYPE value: #{value_type}"
|
|
124
139
|
end
|
|
125
140
|
|
|
141
|
+
when 'DART_REDUCTION'
|
|
142
|
+
# Expect 1 parameter
|
|
143
|
+
parser.verify_num_parameters(1, 1, "DART_REDUCTION <NONE, MINUTE, HOUR, DAY>")
|
|
144
|
+
dart_reduction = parameters[0].upcase.intern
|
|
145
|
+
if DART_REDUCTIONS.include?(dart_reduction)
|
|
146
|
+
@dart_reduction = dart_reduction
|
|
147
|
+
else
|
|
148
|
+
raise ArgumentError, "Unknown DART_REDUCTION value: #{dart_reduction}"
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
when 'DART_REDUCED_TYPE'
|
|
152
|
+
# Expect 1 parameter
|
|
153
|
+
parser.verify_num_parameters(1, 1, "DART_REDUCED_TYPE <AVG, MIN, MAX, STDDEV>")
|
|
154
|
+
dart_reduced_type = parameters[0].upcase.intern
|
|
155
|
+
if DART_REDUCED_TYPES.include?(dart_reduced_type)
|
|
156
|
+
@dart_reduced_type = dart_reduced_type
|
|
157
|
+
else
|
|
158
|
+
raise ArgumentError, "Unknown DART_REDUCED_TYPE value: #{dart_reduced_type}"
|
|
159
|
+
end
|
|
160
|
+
|
|
126
161
|
when 'ANALYSIS'
|
|
127
162
|
# Expect 1 parameter
|
|
128
163
|
parser.verify_num_parameters(1, 1, "ANALYSIS <Analysis Type>")
|
|
@@ -160,6 +195,19 @@ module Cosmos
|
|
|
160
195
|
end
|
|
161
196
|
end
|
|
162
197
|
|
|
198
|
+
# Returns an array of items used by this data object
|
|
199
|
+
def processed_items
|
|
200
|
+
items = []
|
|
201
|
+
if @target_name and @packet_name
|
|
202
|
+
if @item_name
|
|
203
|
+
items << [@target_name, @packet_name, @time_item_name, :CONVERTED, nil, @dart_reduction, :AVG]
|
|
204
|
+
items << [@target_name, @packet_name, @item_name, @value_type, @item_array_index, @dart_reduction, @dart_reduced_type]
|
|
205
|
+
items << [@target_name, @packet_name, @formatted_time_item_name, :CONVERTED, nil, @dart_reduction, :AVG] if @formatted_time_item_name and @dart_reduction == :NONE
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
items
|
|
209
|
+
end
|
|
210
|
+
|
|
163
211
|
# (see DataObject#process_packet)
|
|
164
212
|
def process_packet(packet, count)
|
|
165
213
|
begin
|
|
@@ -173,13 +221,23 @@ module Cosmos
|
|
|
173
221
|
if y_value.is_a?(Array) and @item_array_index and @item_array_index < y_value.size
|
|
174
222
|
y_value = y_value[@item_array_index]
|
|
175
223
|
end
|
|
224
|
+
|
|
225
|
+
formatted_x_value = nil
|
|
226
|
+
formatted_x_value = packet.read(@formatted_time_item_name) if @formatted_time_item_name and @dart_reduction == :NONE
|
|
227
|
+
|
|
228
|
+
process_values(x_value, y_value, formatted_x_value)
|
|
229
|
+
rescue Exception => error
|
|
230
|
+
handle_process_exception(error, "#{@target_name} #{@packet_name} #{@item_name}")
|
|
231
|
+
end
|
|
232
|
+
end # def process_packet
|
|
233
|
+
|
|
234
|
+
# Process Analysis Steps
|
|
235
|
+
def process_values(x_value, y_value, formatted_x_value = nil)
|
|
236
|
+
begin
|
|
237
|
+
@formatted_x_values << formatted_x_value if formatted_x_value
|
|
238
|
+
|
|
176
239
|
# Bail on the values if they are NaN or nil as we can't graph them
|
|
177
|
-
return if x_value
|
|
178
|
-
(x_value.respond_to?(:nan?) && x_value.nan?) ||
|
|
179
|
-
(y_value.respond_to?(:nan?) && y_value.nan?) ||
|
|
180
|
-
(x_value.respond_to?(:infinite?) && x_value.infinite?) ||
|
|
181
|
-
(y_value.respond_to?(:infinite?) && y_value.infinite?)
|
|
182
|
-
@formatted_x_values << packet.read(@formatted_time_item_name) if @formatted_time_item_name
|
|
240
|
+
return if invalid_value?(x_value) || invalid_value?(y_value)
|
|
183
241
|
|
|
184
242
|
upper_index = nil
|
|
185
243
|
sample_index = nil
|
|
@@ -256,6 +314,19 @@ module Cosmos
|
|
|
256
314
|
@plot.redraw_needed = true
|
|
257
315
|
end
|
|
258
316
|
|
|
317
|
+
when :SAMPLED, :SAMPLED_MEAN
|
|
318
|
+
if @unprocessed_y_values.length >= @analysis_samples
|
|
319
|
+
if sample_index % @analysis_samples == 0
|
|
320
|
+
if @analysis == :SAMPLED
|
|
321
|
+
@x_values << @unprocessed_x_values[sample_index]
|
|
322
|
+
@y_values << (@unprocessed_y_values[sample_index] + @y_offset)
|
|
323
|
+
else # :SAMPLED_MEAN
|
|
324
|
+
@x_values << @unprocessed_x_values[sample_index]
|
|
325
|
+
@y_values << @unprocessed_y_values[lower_index..upper_index].mean + @y_offset
|
|
326
|
+
end
|
|
327
|
+
end
|
|
328
|
+
@plot.redraw_needed = true
|
|
329
|
+
end
|
|
259
330
|
end # case @analysis
|
|
260
331
|
|
|
261
332
|
# Make sure the data object's first x value is the smallest x value encountered during packet processing.
|
|
@@ -268,9 +339,9 @@ module Cosmos
|
|
|
268
339
|
# Prune Data
|
|
269
340
|
prune_to_max_points_saved()
|
|
270
341
|
rescue Exception => error
|
|
271
|
-
handle_process_exception(error, "#{
|
|
342
|
+
handle_process_exception(error, "#{@target_name} #{@packet_name} #{@item_name}")
|
|
272
343
|
end
|
|
273
|
-
end
|
|
344
|
+
end
|
|
274
345
|
|
|
275
346
|
# Returns the name of this data object
|
|
276
347
|
def name
|
|
@@ -278,6 +349,7 @@ module Cosmos
|
|
|
278
349
|
if @target_name and @packet_name and @item_name
|
|
279
350
|
str << "#{@target_name} #{@packet_name} #{@item_name}"
|
|
280
351
|
str << "[#{@item_array_index}]" if @item_array_index
|
|
352
|
+
str << " <#{@dart_reduction} #{dart_reduced_type}>" if @dart_reduction != :NONE
|
|
281
353
|
str << " (#{@analysis})" if @analysis != :NONE
|
|
282
354
|
end
|
|
283
355
|
str
|
|
@@ -301,6 +373,8 @@ module Cosmos
|
|
|
301
373
|
data_object.time_item_name = @time_item_name.clone if @time_item_name
|
|
302
374
|
data_object.formatted_time_item_name = @formatted_time_item_name.clone if @formatted_time_item_name
|
|
303
375
|
data_object.value_type = @value_type
|
|
376
|
+
data_object.dart_reduction = @dart_reduction
|
|
377
|
+
data_object.dart_reduced_type = @dart_reduced_type
|
|
304
378
|
data_object.analysis = @analysis
|
|
305
379
|
data_object.analysis_samples = @analysis_samples
|
|
306
380
|
data_object.show_limits_lines = @show_limits_lines
|
|
@@ -331,6 +405,8 @@ module Cosmos
|
|
|
331
405
|
@item_array_index != edited_data_object.item_array_index or
|
|
332
406
|
@time_item_name != edited_data_object.time_item_name or
|
|
333
407
|
@formatted_time_item_name != edited_data_object.formatted_time_item_name or
|
|
408
|
+
@dart_reduction != edited_data_object.dart_reduction or
|
|
409
|
+
@dart_reduced_type != edited_data_object.dart_reduced_type or
|
|
334
410
|
@value_type != edited_data_object.value_type or
|
|
335
411
|
@analysis != edited_data_object.analysis or
|
|
336
412
|
@analysis_samples != edited_data_object.analysis_samples
|
|
@@ -416,7 +492,5 @@ module Cosmos
|
|
|
416
492
|
end
|
|
417
493
|
prune_index
|
|
418
494
|
end
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
end # module Cosmos
|
|
495
|
+
end
|
|
496
|
+
end
|
|
@@ -12,7 +12,6 @@ require 'cosmos'
|
|
|
12
12
|
require 'cosmos/tools/tlm_grapher/data_objects/data_object'
|
|
13
13
|
|
|
14
14
|
module Cosmos
|
|
15
|
-
|
|
16
15
|
# Represents a data object on a line graph
|
|
17
16
|
# Designed for use as a base class for custom data objects
|
|
18
17
|
class LinegraphDataObject < DataObject
|
|
@@ -170,7 +169,5 @@ module Cosmos
|
|
|
170
169
|
end
|
|
171
170
|
prune_index
|
|
172
171
|
end
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
end # module Cosmos
|
|
172
|
+
end
|
|
173
|
+
end
|
|
@@ -12,14 +12,10 @@ require 'cosmos'
|
|
|
12
12
|
require 'cosmos/tools/tlm_grapher/data_objects/xy_data_object'
|
|
13
13
|
|
|
14
14
|
module Cosmos
|
|
15
|
-
|
|
16
15
|
# Represents a data object on an SinglxyGraph for two telemetry items
|
|
17
16
|
class SinglexyDataObject < XyDataObject
|
|
18
|
-
|
|
19
17
|
def initialize
|
|
20
18
|
super()
|
|
21
19
|
end
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
end # module Cosmos
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -12,13 +12,18 @@ require 'cosmos'
|
|
|
12
12
|
require 'cosmos/tools/tlm_grapher/data_objects/data_object'
|
|
13
13
|
|
|
14
14
|
module Cosmos
|
|
15
|
-
|
|
16
15
|
# Represents a data object on an XyGraph for two telemetry items
|
|
17
16
|
class XyDataObject < DataObject
|
|
18
17
|
|
|
19
18
|
# Value Types
|
|
20
19
|
VALUE_TYPES = [:RAW, :CONVERTED]
|
|
21
20
|
|
|
21
|
+
# DART Reductions
|
|
22
|
+
DART_REDUCTIONS = [:NONE, :MINUTE, :HOUR, :DAY]
|
|
23
|
+
|
|
24
|
+
# DART Reduced Types
|
|
25
|
+
DART_REDUCED_TYPES = [:AVG, :MIN, :MAX, :STDDEV]
|
|
26
|
+
|
|
22
27
|
# The target name (string)
|
|
23
28
|
attr_accessor :target_name
|
|
24
29
|
|
|
@@ -40,6 +45,12 @@ module Cosmos
|
|
|
40
45
|
# Type of data to collect for y value - :RAW or :CONVERTED
|
|
41
46
|
attr_accessor :y_value_type
|
|
42
47
|
|
|
48
|
+
# DART Reduction
|
|
49
|
+
attr_accessor :dart_reduction
|
|
50
|
+
|
|
51
|
+
# DART Reduced Type
|
|
52
|
+
attr_accessor :dart_reduced_type
|
|
53
|
+
|
|
43
54
|
# Array of x_values to graph on the line graph
|
|
44
55
|
attr_accessor :x_values
|
|
45
56
|
|
|
@@ -65,6 +76,8 @@ module Cosmos
|
|
|
65
76
|
@time_item_name = nil
|
|
66
77
|
@x_value_type = :CONVERTED
|
|
67
78
|
@y_value_type = :CONVERTED
|
|
79
|
+
@dart_reduction = :NONE
|
|
80
|
+
@dart_reduced_type = :AVG
|
|
68
81
|
|
|
69
82
|
@x_values = LowFragmentationArray.new(DEFAULT_ARRAY_SIZE)
|
|
70
83
|
@y_values = LowFragmentationArray.new(DEFAULT_ARRAY_SIZE)
|
|
@@ -85,6 +98,8 @@ module Cosmos
|
|
|
85
98
|
string << " TIME_ITEM #{@time_item_name}\n" if @time_item_name
|
|
86
99
|
string << " X_VALUE_TYPE #{@x_value_type}\n"
|
|
87
100
|
string << " Y_VALUE_TYPE #{@y_value_type}\n"
|
|
101
|
+
string << " DART_REDUCTION #{@dart_reduction}\n"
|
|
102
|
+
string << " DART_REDUCED_TYPE #{@dart_reduced_type}\n"
|
|
88
103
|
string
|
|
89
104
|
end # def configuration_string
|
|
90
105
|
|
|
@@ -160,6 +175,26 @@ module Cosmos
|
|
|
160
175
|
raise ArgumentError, "Unknown Y_VALUE_TYPE value: #{value_type}"
|
|
161
176
|
end
|
|
162
177
|
|
|
178
|
+
when 'DART_REDUCTION'
|
|
179
|
+
# Expect 1 parameter
|
|
180
|
+
parser.verify_num_parameters(1, 1, "DART_REDUCTION <NONE, MINUTE, HOUR, DAY>")
|
|
181
|
+
dart_reduction = parameters[0].upcase.intern
|
|
182
|
+
if DART_REDUCTIONS.include?(dart_reduction)
|
|
183
|
+
@dart_reduction = dart_reduction
|
|
184
|
+
else
|
|
185
|
+
raise ArgumentError, "Unknown DART_REDUCTION value: #{dart_reduction}"
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
when 'DART_REDUCED_TYPE'
|
|
189
|
+
# Expect 1 parameter
|
|
190
|
+
parser.verify_num_parameters(1, 1, "DART_REDUCED_TYPE <AVG, MIN, MAX, STDDEV>")
|
|
191
|
+
dart_reduced_type = parameters[0].upcase.intern
|
|
192
|
+
if DART_REDUCED_TYPES.include?(dart_reduced_type)
|
|
193
|
+
@dart_reduced_type = dart_reduced_type
|
|
194
|
+
else
|
|
195
|
+
raise ArgumentError, "Unknown DART_REDUCED_TYPE value: #{dart_reduced_type}"
|
|
196
|
+
end
|
|
197
|
+
|
|
163
198
|
else
|
|
164
199
|
# Unknown keywords are passed to parent data object
|
|
165
200
|
super(parser, keyword, parameters)
|
|
@@ -177,6 +212,17 @@ module Cosmos
|
|
|
177
212
|
end
|
|
178
213
|
end
|
|
179
214
|
|
|
215
|
+
# Returns an array of items used by this data object
|
|
216
|
+
def processed_items
|
|
217
|
+
items = []
|
|
218
|
+
if @target_name and @packet_name
|
|
219
|
+
items << [@target_name, @packet_name, @x_item_name, @x_value_type, nil, @dart_reduction, @dart_reduced_type]
|
|
220
|
+
items << [@target_name, @packet_name, @y_item_name, @y_value_type, nil, @dart_reduction, @dart_reduced_type]
|
|
221
|
+
items << [@target_name, @packet_name, @time_item_name, :CONVERTED, nil, @dart_reduction, :AVG] if @time_item_name
|
|
222
|
+
end
|
|
223
|
+
items
|
|
224
|
+
end
|
|
225
|
+
|
|
180
226
|
# (see DataObject#process_packet)
|
|
181
227
|
def process_packet(packet, count)
|
|
182
228
|
begin
|
|
@@ -192,32 +238,40 @@ module Cosmos
|
|
|
192
238
|
y_value = packet.read(@y_item_name)
|
|
193
239
|
end
|
|
194
240
|
|
|
195
|
-
|
|
196
|
-
return if x_value.nil? || y_value.nil? ||
|
|
197
|
-
(x_value.respond_to?(:nan?) && x_value.nan?) ||
|
|
198
|
-
(y_value.respond_to?(:nan?) && y_value.nan?) ||
|
|
199
|
-
(x_value.respond_to?(:infinite?) && x_value.infinite?) ||
|
|
200
|
-
(y_value.respond_to?(:infinite?) && y_value.infinite?)
|
|
201
|
-
|
|
241
|
+
time_value = nil
|
|
202
242
|
time_value = packet.read(@time_item_name) if @time_item_name
|
|
203
243
|
|
|
244
|
+
process_values(x_value, y_value, time_value)
|
|
245
|
+
rescue Exception => error
|
|
246
|
+
handle_process_exception(error, "#{@target_name} #@packet_name} #{@x_item_name} or #{@y_item_name}")
|
|
247
|
+
end
|
|
248
|
+
end # def process_packet
|
|
249
|
+
|
|
250
|
+
# Add a set of values to the data object
|
|
251
|
+
def process_values(x_value, y_value, time_value = nil)
|
|
252
|
+
begin
|
|
253
|
+
# Bail on the values if they are NaN or nil as we can't graph them
|
|
254
|
+
return if invalid_value?(x_value) || invalid_value?(y_value)
|
|
255
|
+
|
|
204
256
|
@x_values << x_value
|
|
205
257
|
@y_values << y_value
|
|
206
|
-
@time_values << time_value if
|
|
258
|
+
@time_values << time_value if time_value
|
|
207
259
|
|
|
208
260
|
@plot.redraw_needed = true
|
|
209
261
|
|
|
210
262
|
# Prune Data
|
|
211
263
|
prune_to_max_points_saved()
|
|
212
264
|
rescue Exception => error
|
|
213
|
-
handle_process_exception(error, "#{
|
|
214
|
-
end
|
|
215
|
-
end
|
|
265
|
+
handle_process_exception(error, "#{@target_name} #{@packet_name} #{@x_item_name} or #{@y_item_name}")
|
|
266
|
+
end
|
|
267
|
+
end
|
|
216
268
|
|
|
217
269
|
# Returns the name of this data object
|
|
218
270
|
def name
|
|
219
271
|
if @target_name and @packet_name and @y_item_name and @x_item_name
|
|
220
|
-
"#{@target_name} #{@packet_name} #{@y_item_name} VS #{@x_item_name}"
|
|
272
|
+
str = "#{@target_name} #{@packet_name} #{@y_item_name} VS #{@x_item_name}"
|
|
273
|
+
str << " <#{@dart_reduction} #{dart_reduced_type}>" if @dart_reduction != :NONE
|
|
274
|
+
str
|
|
221
275
|
else
|
|
222
276
|
""
|
|
223
277
|
end
|
|
@@ -250,6 +304,8 @@ module Cosmos
|
|
|
250
304
|
data_object.time_item_name = @time_item_name.clone if @time_item_name
|
|
251
305
|
data_object.x_value_type = @x_value_type
|
|
252
306
|
data_object.y_value_type = @y_value_type
|
|
307
|
+
data_object.dart_reduction = @dart_reduction
|
|
308
|
+
data_object.dart_reduced_type = @dart_reduced_type
|
|
253
309
|
data_object
|
|
254
310
|
end
|
|
255
311
|
|
|
@@ -263,7 +319,9 @@ module Cosmos
|
|
|
263
319
|
@y_item_name != edited_data_object.y_item_name or
|
|
264
320
|
@time_item_name != edited_data_object.time_item_name or
|
|
265
321
|
@x_value_type != edited_data_object.x_value_type or
|
|
266
|
-
@y_value_type != edited_data_object.y_value_type
|
|
322
|
+
@y_value_type != edited_data_object.y_value_type or
|
|
323
|
+
@dart_reduction != edited_data_object.dart_reduction or
|
|
324
|
+
@dart_reduced_type != edited_data_object.dart_reduced_type
|
|
267
325
|
false
|
|
268
326
|
else
|
|
269
327
|
super(edited_data_object)
|
|
@@ -319,7 +377,5 @@ module Cosmos
|
|
|
319
377
|
end
|
|
320
378
|
prune_index
|
|
321
379
|
end
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
end # module Cosmos
|
|
380
|
+
end
|
|
381
|
+
end
|