cosmos 4.2.4 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/Gemfile +1 -1
- data/Manifest.txt +12 -0
- data/autohotkey/tools/cmd_sequence.ahk +21 -20
- data/autohotkey/tools/cmd_sequence2.ahk +1 -1
- data/autohotkey/tools/config_editor.ahk +1 -1
- data/autohotkey/tools/launcher.ahk +1 -0
- data/autohotkey/tools/packet_viewer.ahk +6 -5
- data/autohotkey/tools/test_runner.ahk +8 -8
- data/bin/cosmos +37 -0
- data/bin/dart_util +0 -0
- data/data/config/item_modifiers.yaml +9 -0
- data/data/crc.txt +91 -86
- data/demo/Rakefile +2 -0
- data/demo/config/dart/Gemfile +1 -1
- data/demo/config/data/crc.txt +8 -5
- data/demo/config/system/system.txt +28 -0
- data/demo/config/system/system2.txt +21 -3
- data/demo/config/system/system_alt_ports.txt +69 -0
- data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +1 -0
- data/demo/config/tools/cmd_tlm_server/cmd_tlm_server_chain.txt +18 -0
- data/demo/procedures/cosmos_api_test.rb +18 -14
- data/demo/procedures/local_screen_example.rb +51 -0
- data/ext/cosmos/ext/cosmos_io/cosmos_io.c +32 -4
- data/ext/cosmos/ext/packet/packet.c +6 -0
- data/ext/mkrf_conf.rb +2 -2
- data/install/config/dart/Gemfile +1 -1
- data/install/config/data/crc.txt +2 -2
- data/install/config/system/system.txt +23 -1
- data/lib/cosmos/conversions.rb +2 -0
- data/lib/cosmos/conversions/packet_time_formatted_conversion.rb +38 -0
- data/lib/cosmos/conversions/packet_time_seconds_conversion.rb +38 -0
- data/lib/cosmos/core_ext/cosmos_io.rb +2 -1
- data/lib/cosmos/dart/Gemfile +1 -1
- data/lib/cosmos/dart/examples/dart_stream_client.rb +6 -2
- data/lib/cosmos/dart/lib/dart_common.rb +1 -1
- data/lib/cosmos/dart/lib/dart_database_cleaner.rb +2 -2
- data/lib/cosmos/dart/lib/dart_decommutator.rb +4 -4
- data/lib/cosmos/dart/lib/dart_importer.rb +3 -3
- data/lib/cosmos/dart/lib/dart_packet_log_writer.rb +2 -2
- data/lib/cosmos/dart/processes/dart_ingester.rb +2 -0
- data/lib/cosmos/dart/processes/dart_util.rb +4 -4
- data/lib/cosmos/dart/spec/dart/dart_reducer_manager_spec.rb +3 -3
- data/lib/cosmos/gui/dialogs/cmd_tlm_raw_dialog.rb +9 -5
- data/lib/cosmos/gui/dialogs/details_dialog.rb +29 -29
- data/lib/cosmos/gui/dialogs/exception_list_dialog.rb +1 -1
- data/lib/cosmos/gui/dialogs/find_replace_dialog.rb +3 -3
- data/lib/cosmos/gui/dialogs/interface_raw_dialog.rb +2 -2
- data/lib/cosmos/gui/dialogs/set_tlm_dialog.rb +1 -1
- data/lib/cosmos/gui/dialogs/tlm_details_dialog.rb +10 -10
- data/lib/cosmos/gui/qt.rb +10 -1
- data/lib/cosmos/gui/qt_tool.rb +17 -10
- data/lib/cosmos/gui/text/ruby_editor.rb +47 -8
- data/lib/cosmos/gui/utilities/classification_banner.rb +60 -0
- data/lib/cosmos/gui/utilities/script_module_gui.rb +26 -0
- data/lib/cosmos/interfaces.rb +1 -0
- data/lib/cosmos/interfaces/interface.rb +4 -0
- data/lib/cosmos/interfaces/protocols/ignore_packet_protocol.rb +46 -0
- data/lib/cosmos/interfaces/protocols/preidentified_protocol.rb +68 -23
- data/lib/cosmos/packet_logs/packet_log_reader.rb +69 -26
- data/lib/cosmos/packet_logs/packet_log_writer.rb +13 -1
- data/lib/cosmos/packets/commands.rb +5 -1
- data/lib/cosmos/packets/packet.rb +36 -2
- data/lib/cosmos/packets/packet_config.rb +0 -1
- data/lib/cosmos/packets/parsers/format_string_parser.rb +0 -1
- data/lib/cosmos/packets/parsers/xtce_parser.rb +1 -1
- data/lib/cosmos/packets/telemetry.rb +4 -0
- data/lib/cosmos/script/api_shared.rb +2 -0
- data/lib/cosmos/script/limits.rb +4 -0
- data/lib/cosmos/script/script.rb +27 -11
- data/lib/cosmos/script/telemetry.rb +3 -1
- data/lib/cosmos/script/tools.rb +18 -8
- data/lib/cosmos/system/system.rb +21 -0
- data/lib/cosmos/tools/cmd_extractor/cmd_extractor.rb +26 -24
- data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +29 -29
- data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +65 -40
- data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +6 -6
- data/lib/cosmos/tools/cmd_tlm_server/api.rb +13 -0
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +12 -9
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +7 -1
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +8 -8
- data/lib/cosmos/tools/cmd_tlm_server/commanding.rb +13 -2
- data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +2 -2
- data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +13 -13
- data/lib/cosmos/tools/cmd_tlm_server/gui/packets_tab.rb +4 -4
- data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +8 -8
- data/lib/cosmos/tools/cmd_tlm_server/gui/targets_tab.rb +5 -5
- data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +35 -20
- data/lib/cosmos/tools/cmd_tlm_server/replay_backend.rb +15 -11
- data/lib/cosmos/tools/config_editor/config_editor.rb +69 -69
- data/lib/cosmos/tools/data_viewer/data_viewer.rb +42 -38
- data/lib/cosmos/tools/data_viewer/data_viewer_component.rb +1 -0
- data/lib/cosmos/tools/data_viewer/dump_component.rb +1 -0
- data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +4 -4
- data/lib/cosmos/tools/launcher/launcher.rb +1 -1
- data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +28 -24
- data/lib/cosmos/tools/opengl_builder/opengl_builder.rb +42 -42
- data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +56 -53
- data/lib/cosmos/tools/script_runner/script_runner.rb +112 -95
- data/lib/cosmos/tools/script_runner/script_runner_frame.rb +48 -30
- data/lib/cosmos/tools/table_manager/table_manager.rb +42 -42
- data/lib/cosmos/tools/test_runner/test_runner.rb +45 -27
- data/lib/cosmos/tools/test_runner/test_runner_chooser.rb +3 -3
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +45 -45
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +4 -4
- data/lib/cosmos/tools/tlm_grapher/data_object_adders/xy_data_object_adder.rb +3 -3
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/housekeeping_data_object_editor.rb +7 -7
- data/lib/cosmos/tools/tlm_grapher/data_object_editors/xy_data_object_editor.rb +10 -10
- data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +10 -3
- data/lib/cosmos/tools/tlm_grapher/data_objects/xy_data_object.rb +6 -6
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots/overview_tabbed_plots.rb +14 -14
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tool.rb +83 -83
- data/lib/cosmos/tools/tlm_viewer/screen.rb +73 -13
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +15 -15
- data/lib/cosmos/tools/tlm_viewer/widgets.rb +1 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasellipse_widget.rb +40 -0
- data/lib/cosmos/tools/tlm_viewer/widgets/timegraph_widget.rb +1 -1
- data/lib/cosmos/tools/tlm_viewer/widgets/widget.rb +6 -1
- data/lib/cosmos/top_level.rb +14 -1
- data/lib/cosmos/version.rb +5 -5
- data/lib/cosmos/win32/excel.rb +63 -12
- data/make_gems.sh +10 -0
- data/spec/conversions/packet_time_formatted_conversion_spec.rb +58 -0
- data/spec/conversions/packet_time_seconds_conversion_spec.rb +60 -0
- data/spec/interfaces/protocols/ignore_packet_protocol_spec.rb +243 -0
- data/spec/interfaces/protocols/preidentified_protocol_spec.rb +227 -4
- data/spec/io/serial_driver_spec.rb +15 -13
- data/spec/packet_logs/packet_log_reader_spec.rb +72 -17
- data/spec/packets/packet_config_spec.rb +5 -16
- data/spec/packets/parsers/format_string_parser_spec.rb +0 -11
- data/spec/packets/parsers/macro_parser_spec.rb +36 -36
- data/spec/packets/parsers/state_parser_spec.rb +36 -0
- data/spec/packets/telemetry_spec.rb +11 -9
- data/spec/script/script_spec.rb +2 -3
- data/spec/script/scripting_spec.rb +2 -1
- data/spec/script/tools_spec.rb +0 -1
- data/spec/tools/cmd_tlm_server/api_spec.rb +28 -20
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +33 -0
- data/spec/tools/cmd_tlm_server/commanding_spec.rb +25 -1
- data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +15 -0
- data/tasks/gemfile_stats.rake +3 -2
- metadata +14 -2
|
@@ -36,7 +36,7 @@ module Cosmos
|
|
|
36
36
|
describe "play_wav_file" do
|
|
37
37
|
it "plays a wav file if Qt is available" do
|
|
38
38
|
module Qt
|
|
39
|
-
def self.execute_in_main_thread(bool); yield; end
|
|
39
|
+
def self.execute_in_main_thread(bool = true); yield; end
|
|
40
40
|
class CoreApplication; def self.instance; true; end; end;
|
|
41
41
|
class Sound; def self.isAvailable; true; end; end
|
|
42
42
|
end
|
|
@@ -670,6 +670,7 @@ module Cosmos
|
|
|
670
670
|
class ScriptRunnerFrame; def self.instance; true; end; end
|
|
671
671
|
allow(ScriptRunnerFrame).to receive_message_chain(:instance, :pause?).and_return(true)
|
|
672
672
|
expect(ScriptRunnerFrame).to receive_message_chain(:instance, :perform_pause)
|
|
673
|
+
expect(ScriptRunnerFrame).to receive_message_chain(:instance, :active_script_highlight)
|
|
673
674
|
cosmos_script_sleep(0.1)
|
|
674
675
|
end
|
|
675
676
|
end
|
data/spec/script/tools_spec.rb
CHANGED
|
@@ -910,28 +910,34 @@ DOC
|
|
|
910
910
|
@api.inject_tlm("INST","HEALTH_STATUS",{TEMP1: 0, TEMP2: 0, TEMP3: 0, TEMP4: 0}, :RAW)
|
|
911
911
|
|
|
912
912
|
vals = @api.get_tlm_packet("INST","HEALTH_STATUS")
|
|
913
|
-
expect(vals[0][0]).to eql "
|
|
913
|
+
expect(vals[0][0]).to eql "PACKET_TIMESECONDS"
|
|
914
914
|
expect(vals[0][1]).to be > 0
|
|
915
915
|
expect(vals[0][2]).to be_nil
|
|
916
|
-
expect(vals[1][0]).to eql "
|
|
916
|
+
expect(vals[1][0]).to eql "PACKET_TIMEFORMATTED"
|
|
917
917
|
expect(vals[1][1].split(' ')[0]).to eql Time.now.formatted.split(' ')[0]
|
|
918
918
|
expect(vals[1][2]).to be_nil
|
|
919
|
-
expect(vals[2][0]).to eql "
|
|
919
|
+
expect(vals[2][0]).to eql "RECEIVED_TIMESECONDS"
|
|
920
920
|
expect(vals[2][1]).to be > 0
|
|
921
921
|
expect(vals[2][2]).to be_nil
|
|
922
|
+
expect(vals[3][0]).to eql "RECEIVED_TIMEFORMATTED"
|
|
923
|
+
expect(vals[3][1].split(' ')[0]).to eql Time.now.formatted.split(' ')[0]
|
|
924
|
+
expect(vals[3][2]).to be_nil
|
|
925
|
+
expect(vals[4][0]).to eql "RECEIVED_COUNT"
|
|
926
|
+
expect(vals[4][1]).to be > 0
|
|
927
|
+
expect(vals[4][2]).to be_nil
|
|
922
928
|
# Spot check a few more
|
|
923
|
-
expect(vals[
|
|
924
|
-
expect(vals[22][1]).to eql -100.0
|
|
925
|
-
expect(vals[22][2]).to eql :RED_LOW
|
|
926
|
-
expect(vals[23][0]).to eql "TEMP2"
|
|
927
|
-
expect(vals[23][1]).to eql -100.0
|
|
928
|
-
expect(vals[23][2]).to eql :RED_LOW
|
|
929
|
-
expect(vals[24][0]).to eql "TEMP3"
|
|
929
|
+
expect(vals[24][0]).to eql "TEMP1"
|
|
930
930
|
expect(vals[24][1]).to eql -100.0
|
|
931
931
|
expect(vals[24][2]).to eql :RED_LOW
|
|
932
|
-
expect(vals[25][0]).to eql "
|
|
932
|
+
expect(vals[25][0]).to eql "TEMP2"
|
|
933
933
|
expect(vals[25][1]).to eql -100.0
|
|
934
934
|
expect(vals[25][2]).to eql :RED_LOW
|
|
935
|
+
expect(vals[26][0]).to eql "TEMP3"
|
|
936
|
+
expect(vals[26][1]).to eql -100.0
|
|
937
|
+
expect(vals[26][2]).to eql :RED_LOW
|
|
938
|
+
expect(vals[27][0]).to eql "TEMP4"
|
|
939
|
+
expect(vals[27][1]).to eql -100.0
|
|
940
|
+
expect(vals[27][2]).to eql :RED_LOW
|
|
935
941
|
end
|
|
936
942
|
end
|
|
937
943
|
|
|
@@ -1067,16 +1073,18 @@ DOC
|
|
|
1067
1073
|
|
|
1068
1074
|
it "returns all the items for a target/packet" do
|
|
1069
1075
|
items = @api.get_tlm_item_list("INST","HEALTH_STATUS")
|
|
1070
|
-
expect(items[0][0]).to eql "
|
|
1071
|
-
expect(items[1][0]).to eql "
|
|
1072
|
-
expect(items[2][0]).to eql "
|
|
1076
|
+
expect(items[0][0]).to eql "PACKET_TIMESECONDS"
|
|
1077
|
+
expect(items[1][0]).to eql "PACKET_TIMEFORMATTED"
|
|
1078
|
+
expect(items[2][0]).to eql "RECEIVED_TIMESECONDS"
|
|
1079
|
+
expect(items[3][0]).to eql "RECEIVED_TIMEFORMATTED"
|
|
1080
|
+
expect(items[4][0]).to eql "RECEIVED_COUNT"
|
|
1073
1081
|
# Spot check a few more
|
|
1074
|
-
expect(items[
|
|
1075
|
-
expect(items[
|
|
1076
|
-
expect(items[
|
|
1077
|
-
expect(items[
|
|
1078
|
-
expect(items[
|
|
1079
|
-
expect(items[
|
|
1082
|
+
expect(items[24][0]).to eql "TEMP1"
|
|
1083
|
+
expect(items[24][1]).to be_nil
|
|
1084
|
+
expect(items[24][2]).to eql "Temperature #1"
|
|
1085
|
+
expect(items[30][0]).to eql "COLLECT_TYPE"
|
|
1086
|
+
expect(items[30][1]).to include("NORMAL"=>0, "SPECIAL"=>1)
|
|
1087
|
+
expect(items[30][2]).to eql "Most recent collect type"
|
|
1080
1088
|
end
|
|
1081
1089
|
end
|
|
1082
1090
|
|
|
@@ -435,6 +435,39 @@ module Cosmos
|
|
|
435
435
|
end
|
|
436
436
|
end
|
|
437
437
|
|
|
438
|
+
context "with LOG_STORED" do
|
|
439
|
+
it "complains about too many parameters" do
|
|
440
|
+
tf = Tempfile.new('unittest')
|
|
441
|
+
tf.puts "INTERFACE CTSSPEC_INT cts_config_test_interface.rb"
|
|
442
|
+
tf.puts 'LOG_STORED PacketLogWriter TRUE'
|
|
443
|
+
tf.close
|
|
444
|
+
expect { CmdTlmServerConfig.new(tf.path) }.to raise_error(ConfigParser::Error, /Too many parameters for LOG_STORED./)
|
|
445
|
+
tf.unlink
|
|
446
|
+
end
|
|
447
|
+
|
|
448
|
+
it "complains about unknown log writers" do
|
|
449
|
+
tf = Tempfile.new('unittest')
|
|
450
|
+
tf.puts "INTERFACE CTSSPEC_INT cts_config_test_interface.rb"
|
|
451
|
+
tf.puts 'LOG_STORED MyLogWriter'
|
|
452
|
+
tf.close
|
|
453
|
+
expect { CmdTlmServerConfig.new(tf.path) }.to raise_error(ConfigParser::Error, /Unknown packet log writer: MYLOGWRITER/)
|
|
454
|
+
tf.unlink
|
|
455
|
+
end
|
|
456
|
+
|
|
457
|
+
it "adds a packet log writer to the interface" do
|
|
458
|
+
tf = Tempfile.new('unittest')
|
|
459
|
+
tf.puts 'PACKET_LOG_WRITER MY_WRITER packet_log_writer.rb'
|
|
460
|
+
tf.puts "INTERFACE CTSSPEC_INT cts_config_test_interface.rb"
|
|
461
|
+
tf.puts 'LOG DEFAULT'
|
|
462
|
+
tf.puts 'LOG_STORED MY_WRITER'
|
|
463
|
+
tf.close
|
|
464
|
+
config = CmdTlmServerConfig.new(tf.path)
|
|
465
|
+
expect(config.interfaces['CTSSPEC_INT'].packet_log_writer_pairs.length).to eql 1
|
|
466
|
+
expect(config.interfaces['CTSSPEC_INT'].stored_packet_log_writer_pairs.length).to eql 1
|
|
467
|
+
tf.unlink
|
|
468
|
+
end
|
|
469
|
+
end
|
|
470
|
+
|
|
438
471
|
context "with DONT_LOG" do
|
|
439
472
|
it "complains about too many parameters" do
|
|
440
473
|
tf = Tempfile.new('unittest')
|
|
@@ -67,7 +67,7 @@ module Cosmos
|
|
|
67
67
|
expect(interfaces.all["MY_INT"].packet_log_writer_pairs[0].cmd_log_writer).to receive(:write)
|
|
68
68
|
|
|
69
69
|
# Grab an existing packet
|
|
70
|
-
pkt = System.commands.packet('SYSTEM','STARTLOGGING')
|
|
70
|
+
pkt = System.commands.packet('SYSTEM','STARTLOGGING').clone
|
|
71
71
|
|
|
72
72
|
count = System.targets['SYSTEM'].cmd_cnt
|
|
73
73
|
cmd.send_command_to_target('SYSTEM', pkt)
|
|
@@ -77,6 +77,30 @@ module Cosmos
|
|
|
77
77
|
tf.unlink
|
|
78
78
|
end
|
|
79
79
|
|
|
80
|
+
it "sends already identified stored commands" do
|
|
81
|
+
tf = Tempfile.new('unittest')
|
|
82
|
+
tf.puts 'PACKET_LOG_WRITER MY_WRITER packet_log_writer.rb'
|
|
83
|
+
tf.puts 'INTERFACE MY_INT interface.rb'
|
|
84
|
+
tf.puts ' LOG_STORED MY_WRITER'
|
|
85
|
+
tf.close
|
|
86
|
+
config = CmdTlmServerConfig.new(tf.path)
|
|
87
|
+
cmd = Commanding.new(config)
|
|
88
|
+
interfaces = Interfaces.new(config)
|
|
89
|
+
interfaces.map_target("SYSTEM","MY_INT")
|
|
90
|
+
expect(interfaces.all["MY_INT"]).to receive(:write)
|
|
91
|
+
expect(interfaces.all["MY_INT"].stored_packet_log_writer_pairs[0].cmd_log_writer).to receive(:write)
|
|
92
|
+
|
|
93
|
+
# Grab an existing packet
|
|
94
|
+
pkt = System.commands.packet('SYSTEM','STARTLOGGING').clone
|
|
95
|
+
pkt.stored = true
|
|
96
|
+
|
|
97
|
+
count = System.targets['SYSTEM'].cmd_cnt
|
|
98
|
+
cmd.send_command_to_target('SYSTEM', pkt)
|
|
99
|
+
# Verify the SYSTEM STARTLOGGING packet has been updated
|
|
100
|
+
expect(System.commands.packet("SYSTEM","STARTLOGGING").buffer).to eql pkt.buffer
|
|
101
|
+
expect(System.targets['SYSTEM'].cmd_cnt).to eq count + 1
|
|
102
|
+
tf.unlink
|
|
103
|
+
end
|
|
80
104
|
|
|
81
105
|
it "logs unknown commands" do
|
|
82
106
|
Logger.level = Logger::DEBUG
|
|
@@ -41,6 +41,7 @@ module Cosmos
|
|
|
41
41
|
|
|
42
42
|
allow(System).to receive_message_chain(:telemetry,:identify!).and_return(nil)
|
|
43
43
|
allow(System).to receive_message_chain(:telemetry,:update!).and_return(@packet)
|
|
44
|
+
allow(System).to receive_message_chain(:telemetry,:identify_and_define_packet).and_return(@packet)
|
|
44
45
|
targets = {'TGT'=>Target.new('TGT')}
|
|
45
46
|
allow(System).to receive(:targets).and_return(targets)
|
|
46
47
|
end
|
|
@@ -298,6 +299,20 @@ module Cosmos
|
|
|
298
299
|
expect(running_threads.length).to eql(1)
|
|
299
300
|
end
|
|
300
301
|
|
|
302
|
+
it "handles stored packet log writers" do
|
|
303
|
+
writer = double("LogWriter")
|
|
304
|
+
allow(writer).to receive_message_chain(:tlm_log_writer,:write)
|
|
305
|
+
@interface.stored_packet_log_writer_pairs = [writer]
|
|
306
|
+
@packet.stored = true
|
|
307
|
+
thread = InterfaceThread.new(@interface)
|
|
308
|
+
thread.start
|
|
309
|
+
sleep 0.1
|
|
310
|
+
expect(running_threads.length).to eql(2)
|
|
311
|
+
thread.stop
|
|
312
|
+
sleep 0.2
|
|
313
|
+
expect(running_threads.length).to eql(1)
|
|
314
|
+
end
|
|
315
|
+
|
|
301
316
|
end
|
|
302
317
|
end
|
|
303
318
|
end
|
data/tasks/gemfile_stats.rake
CHANGED
|
@@ -27,8 +27,8 @@ task :gemfile_stats do
|
|
|
27
27
|
# This is useful for testing to prevent server round trips
|
|
28
28
|
#File.open("gemdata.marshall", 'w') {|file| file.write(Marshal.dump(get_latest_gem_data)) }
|
|
29
29
|
gem_data = Marshal.load(File.read("gemdata.marshall"))
|
|
30
|
-
|
|
31
30
|
#gem_data = get_latest_gem_data()
|
|
31
|
+
|
|
32
32
|
# Convert all the date text into Ruby Dates
|
|
33
33
|
gem_data.map! {|x| [Date.strptime(x[0], "%Y-%m"), x[1], x[2]]}
|
|
34
34
|
# Sort first by date and then version number
|
|
@@ -68,7 +68,8 @@ task :gemfile_stats do
|
|
|
68
68
|
|
|
69
69
|
# Reduce the number of labels due to overlap
|
|
70
70
|
labels.each do |i, label|
|
|
71
|
-
|
|
71
|
+
# Increase the modulus value if you get an ArgumentError: no text to measure
|
|
72
|
+
labels[i] = '' if i % 4 != 0
|
|
72
73
|
end
|
|
73
74
|
g.labels = labels
|
|
74
75
|
g.marker_font_size = 12
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cosmos
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Melton
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2018-
|
|
12
|
+
date: 2018-08-30 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
@@ -847,6 +847,7 @@ files:
|
|
|
847
847
|
- demo/config/data/vswitchon.gif
|
|
848
848
|
- demo/config/system/system.txt
|
|
849
849
|
- demo/config/system/system2.txt
|
|
850
|
+
- demo/config/system/system_alt_ports.txt
|
|
850
851
|
- demo/config/targets/DART/cmd_tlm/dart_cmds.txt
|
|
851
852
|
- demo/config/targets/DART/cmd_tlm/dart_tlm.txt
|
|
852
853
|
- demo/config/targets/DART/cmd_tlm_server.txt
|
|
@@ -913,6 +914,7 @@ files:
|
|
|
913
914
|
- demo/config/tools/cmd_sequence/cmd_sequence.txt
|
|
914
915
|
- demo/config/tools/cmd_tlm_server/cmd_tlm_server.txt
|
|
915
916
|
- demo/config/tools/cmd_tlm_server/cmd_tlm_server2.txt
|
|
917
|
+
- demo/config/tools/cmd_tlm_server/cmd_tlm_server_chain.txt
|
|
916
918
|
- demo/config/tools/data_viewer/data_viewer.txt
|
|
917
919
|
- demo/config/tools/example_application.css
|
|
918
920
|
- demo/config/tools/handbook_creator/default_toc.xsl
|
|
@@ -983,6 +985,7 @@ files:
|
|
|
983
985
|
- demo/outputs/tmp/README.txt
|
|
984
986
|
- demo/procedures/cosmos_api_test.rb
|
|
985
987
|
- demo/procedures/example_test.rb
|
|
988
|
+
- demo/procedures/local_screen_example.rb
|
|
986
989
|
- demo/procedures/plot_test.rb
|
|
987
990
|
- demo/procedures/replay_test.rb
|
|
988
991
|
- demo/procedures/run_example_test.rb
|
|
@@ -1348,6 +1351,8 @@ files:
|
|
|
1348
1351
|
- lib/cosmos/conversions/conversion.rb
|
|
1349
1352
|
- lib/cosmos/conversions/generic_conversion.rb
|
|
1350
1353
|
- lib/cosmos/conversions/new_packet_log_conversion.rb
|
|
1354
|
+
- lib/cosmos/conversions/packet_time_formatted_conversion.rb
|
|
1355
|
+
- lib/cosmos/conversions/packet_time_seconds_conversion.rb
|
|
1351
1356
|
- lib/cosmos/conversions/polynomial_conversion.rb
|
|
1352
1357
|
- lib/cosmos/conversions/processor_conversion.rb
|
|
1353
1358
|
- lib/cosmos/conversions/received_count_conversion.rb
|
|
@@ -1547,6 +1552,7 @@ files:
|
|
|
1547
1552
|
- lib/cosmos/gui/text/completion_text_edit.rb
|
|
1548
1553
|
- lib/cosmos/gui/text/ruby_editor.rb
|
|
1549
1554
|
- lib/cosmos/gui/utilities/analyze_log.rb
|
|
1555
|
+
- lib/cosmos/gui/utilities/classification_banner.rb
|
|
1550
1556
|
- lib/cosmos/gui/utilities/screenshot.rb
|
|
1551
1557
|
- lib/cosmos/gui/utilities/script_module_gui.rb
|
|
1552
1558
|
- lib/cosmos/gui/widgets/dart_frame.rb
|
|
@@ -1562,6 +1568,7 @@ files:
|
|
|
1562
1568
|
- lib/cosmos/interfaces/protocols/burst_protocol.rb
|
|
1563
1569
|
- lib/cosmos/interfaces/protocols/crc_protocol.rb
|
|
1564
1570
|
- lib/cosmos/interfaces/protocols/fixed_protocol.rb
|
|
1571
|
+
- lib/cosmos/interfaces/protocols/ignore_packet_protocol.rb
|
|
1565
1572
|
- lib/cosmos/interfaces/protocols/length_protocol.rb
|
|
1566
1573
|
- lib/cosmos/interfaces/protocols/override_protocol.rb
|
|
1567
1574
|
- lib/cosmos/interfaces/protocols/preidentified_protocol.rb
|
|
@@ -1747,6 +1754,7 @@ files:
|
|
|
1747
1754
|
- lib/cosmos/tools/tlm_viewer/widgets/canvas_clickable.rb
|
|
1748
1755
|
- lib/cosmos/tools/tlm_viewer/widgets/canvas_widget.rb
|
|
1749
1756
|
- lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb
|
|
1757
|
+
- lib/cosmos/tools/tlm_viewer/widgets/canvasellipse_widget.rb
|
|
1750
1758
|
- lib/cosmos/tools/tlm_viewer/widgets/canvasimage_widget.rb
|
|
1751
1759
|
- lib/cosmos/tools/tlm_viewer/widgets/canvasimagevalue_widget.rb
|
|
1752
1760
|
- lib/cosmos/tools/tlm_viewer/widgets/canvaslabel_widget.rb
|
|
@@ -1818,6 +1826,7 @@ files:
|
|
|
1818
1826
|
- lib/cosmos/win32/excel.rb
|
|
1819
1827
|
- lib/cosmos/win32/win32.rb
|
|
1820
1828
|
- lib/cosmos/win32/win32_main.rb
|
|
1829
|
+
- make_gems.sh
|
|
1821
1830
|
- roodi.yml
|
|
1822
1831
|
- run_gui_tests.bat
|
|
1823
1832
|
- spec/ccsds/ccsds_packet_spec.rb
|
|
@@ -1826,6 +1835,8 @@ files:
|
|
|
1826
1835
|
- spec/conversions/conversion_spec.rb
|
|
1827
1836
|
- spec/conversions/generic_conversion_spec.rb
|
|
1828
1837
|
- spec/conversions/new_packet_log_conversion_spec.rb
|
|
1838
|
+
- spec/conversions/packet_time_formatted_conversion_spec.rb
|
|
1839
|
+
- spec/conversions/packet_time_seconds_conversion_spec.rb
|
|
1829
1840
|
- spec/conversions/polynomial_conversion_spec.rb
|
|
1830
1841
|
- spec/conversions/processor_conversion_spec.rb
|
|
1831
1842
|
- spec/conversions/received_count_conversion_spec.rb
|
|
@@ -1878,6 +1889,7 @@ files:
|
|
|
1878
1889
|
- spec/interfaces/protocols/burst_protocol_spec.rb
|
|
1879
1890
|
- spec/interfaces/protocols/crc_protocol_spec.rb
|
|
1880
1891
|
- spec/interfaces/protocols/fixed_protocol_spec.rb
|
|
1892
|
+
- spec/interfaces/protocols/ignore_packet_protocol_spec.rb
|
|
1881
1893
|
- spec/interfaces/protocols/length_protocol_spec.rb
|
|
1882
1894
|
- spec/interfaces/protocols/override_protocol_spec.rb
|
|
1883
1895
|
- spec/interfaces/protocols/preidentified_protocol_spec.rb
|