cosmos 4.2.3 → 4.2.4
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 +2 -0
- data/Manifest.txt +14 -1
- data/bin/dart_util +4 -0
- data/cosmos.gemspec +3 -2
- data/data/config/interface_modifiers.yaml +2 -1
- data/data/config/item_modifiers.yaml +1 -1
- data/data/config/parameter_modifiers.yaml +1 -1
- data/data/crc.txt +52 -45
- data/demo/config/data/crc.txt +6 -1
- data/demo/config/system/system.txt +1 -0
- data/demo/config/targets/DART/cmd_tlm/dart_cmds.txt +2 -0
- data/demo/config/targets/DART/cmd_tlm/dart_tlm.txt +40 -0
- data/demo/config/targets/DART/cmd_tlm_server.txt +6 -0
- data/demo/config/targets/DART/screens/status.txt +54 -0
- data/demo/config/targets/DART/target.txt +7 -0
- data/ext/cosmos/ext/structure/structure.c +16 -4
- data/lib/cosmos/dart/app/models/status.rb +2 -0
- data/lib/cosmos/dart/db/migrate/20180423205644_create_statuses.rb +22 -0
- data/lib/cosmos/dart/db/migrate/20180425211340_add_decom_state_index.rb +5 -0
- data/lib/cosmos/dart/db/migrate/20180509204705_remove_indexes.rb +29 -0
- data/lib/cosmos/dart/db/migrate/20180510160002_remove_timestamps_from_ples.rb +6 -0
- data/lib/cosmos/dart/db/migrate/20180511194944_add_packet_log_id_to_tables.rb +18 -0
- data/lib/cosmos/dart/db/schema.rb +15 -9
- data/lib/cosmos/dart/db/seeds.rb +8 -0
- data/lib/cosmos/dart/lib/dart_common.rb +5 -6
- data/lib/cosmos/dart/lib/dart_database_cleaner.rb +56 -5
- data/lib/cosmos/dart/lib/dart_decom_query.rb +108 -6
- data/lib/cosmos/dart/lib/dart_decommutator.rb +81 -22
- data/lib/cosmos/dart/lib/dart_importer.rb +44 -14
- data/lib/cosmos/dart/lib/dart_packet_log_writer.rb +73 -55
- data/lib/cosmos/dart/lib/dart_reducer_manager.rb +34 -3
- data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +18 -7
- data/lib/cosmos/dart/processes/dart.rb +2 -1
- data/lib/cosmos/dart/processes/dart_decom_server.rb +2 -1
- data/lib/cosmos/dart/processes/dart_import.rb +1 -0
- data/lib/cosmos/dart/processes/dart_ingester.rb +1 -0
- data/lib/cosmos/dart/processes/dart_reducer.rb +1 -0
- data/lib/cosmos/dart/processes/dart_stream_server.rb +1 -0
- data/lib/cosmos/dart/processes/dart_util.rb +147 -0
- data/lib/cosmos/dart/processes/dart_worker.rb +1 -0
- data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +1 -1
- data/lib/cosmos/dart/spec/dart/dart_decom_query_spec.rb +1 -0
- data/lib/cosmos/dart/spec/dart/dart_decommutator_spec.rb +1 -0
- data/lib/cosmos/dart/spec/dart/dart_importer_spec.rb +1 -0
- data/lib/cosmos/dart/spec/dart/dart_packet_log_writer_spec.rb +39 -36
- data/lib/cosmos/dart/spec/dart/dart_reducer_manager_spec.rb +2 -1
- data/lib/cosmos/dart/spec/dart/dart_tcpip_server_interface_spec.rb +1 -2
- data/lib/cosmos/gui/widgets/dart_meta_frame.rb +13 -6
- data/lib/cosmos/interfaces.rb +1 -0
- data/lib/cosmos/interfaces/dart_status_interface.rb +91 -0
- data/lib/cosmos/interfaces/serial_interface.rb +5 -1
- data/lib/cosmos/io/json_drb.rb +7 -2
- data/lib/cosmos/io/json_drb_object.rb +11 -6
- data/lib/cosmos/io/json_rpc.rb +1 -0
- data/lib/cosmos/io/posix_serial_driver.rb +4 -2
- data/lib/cosmos/io/serial_driver.rb +8 -4
- data/lib/cosmos/io/win32_serial_driver.rb +4 -3
- data/lib/cosmos/packets/packet_config.rb +12 -2
- data/lib/cosmos/packets/structure_item.rb +1 -0
- data/lib/cosmos/script/extract.rb +4 -2
- data/lib/cosmos/streams/serial_stream.rb +10 -5
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_config.rb +15 -15
- data/lib/cosmos/tools/cmd_tlm_server/gui/status_tab.rb +1 -1
- data/lib/cosmos/tools/table_manager/table_manager.rb +6 -4
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +5 -4
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_logfile_thread.rb +1 -1
- data/lib/cosmos/top_level.rb +1 -1
- data/lib/cosmos/version.rb +4 -4
- data/spec/interfaces/serial_interface_spec.rb +13 -0
- data/spec/io/json_rpc_spec.rb +7 -0
- data/spec/io/win32_serial_driver_spec.rb +8 -0
- data/spec/packets/structure_item_spec.rb +6 -0
- data/spec/script/extract_spec.rb +5 -0
- data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +10 -0
- metadata +17 -3
- data/lib/cosmos/dart/app/helpers/application_helper.rb +0 -2
|
@@ -153,7 +153,7 @@ module Cosmos
|
|
|
153
153
|
current_interface_or_router.name = interface_name
|
|
154
154
|
@interfaces[interface_name] = current_interface_or_router
|
|
155
155
|
|
|
156
|
-
when 'LOG', 'DONT_LOG', 'TARGET'
|
|
156
|
+
when 'LOG', 'DONT_LOG', 'TARGET'
|
|
157
157
|
raise parser.error("No current interface for #{keyword}") unless current_interface_or_router and current_type == :INTERFACE
|
|
158
158
|
|
|
159
159
|
case keyword
|
|
@@ -183,22 +183,9 @@ module Cosmos
|
|
|
183
183
|
raise parser.error("Unknown target #{target_name} mapped to interface #{current_interface_or_router.name}")
|
|
184
184
|
end
|
|
185
185
|
|
|
186
|
-
when 'PROTOCOL'
|
|
187
|
-
usage = "#{keyword} <READ WRITE READ_WRITE> <protocol filename or classname> <Protocol specific parameters>"
|
|
188
|
-
parser.verify_num_parameters(2, nil, usage)
|
|
189
|
-
unless %w(READ WRITE READ_WRITE).include? params[0].upcase
|
|
190
|
-
raise parser.error("Invalid protocol type: #{params[0]}", usage)
|
|
191
|
-
end
|
|
192
|
-
begin
|
|
193
|
-
klass = Cosmos.require_class(params[1])
|
|
194
|
-
current_interface_or_router.add_protocol(klass, params[2..-1], params[0].upcase.intern)
|
|
195
|
-
rescue LoadError, StandardError => error
|
|
196
|
-
raise parser.error(error.message, usage)
|
|
197
|
-
end
|
|
198
|
-
|
|
199
186
|
end # end case keyword for all keywords that require a current interface
|
|
200
187
|
|
|
201
|
-
when 'DONT_CONNECT', 'DONT_RECONNECT', 'RECONNECT_DELAY', 'DISABLE_DISCONNECT', 'LOG_RAW', 'ROUTER_LOG_RAW', 'OPTION'
|
|
188
|
+
when 'DONT_CONNECT', 'DONT_RECONNECT', 'RECONNECT_DELAY', 'DISABLE_DISCONNECT', 'LOG_RAW', 'ROUTER_LOG_RAW', 'OPTION', 'PROTOCOL'
|
|
202
189
|
raise parser.error("No current interface or router for #{keyword}") unless current_interface_or_router
|
|
203
190
|
|
|
204
191
|
case keyword
|
|
@@ -228,6 +215,19 @@ module Cosmos
|
|
|
228
215
|
parser.verify_num_parameters(2, nil, "#{keyword} <Option Name> <Option Value 1> <Option Value 2 (optional)> <etc>")
|
|
229
216
|
current_interface_or_router.set_option(params[0], params[1..-1])
|
|
230
217
|
|
|
218
|
+
when 'PROTOCOL'
|
|
219
|
+
usage = "#{keyword} <READ WRITE READ_WRITE> <protocol filename or classname> <Protocol specific parameters>"
|
|
220
|
+
parser.verify_num_parameters(2, nil, usage)
|
|
221
|
+
unless %w(READ WRITE READ_WRITE).include? params[0].upcase
|
|
222
|
+
raise parser.error("Invalid protocol type: #{params[0]}", usage)
|
|
223
|
+
end
|
|
224
|
+
begin
|
|
225
|
+
klass = Cosmos.require_class(params[1])
|
|
226
|
+
current_interface_or_router.add_protocol(klass, params[2..-1], params[0].upcase.intern)
|
|
227
|
+
rescue LoadError, StandardError => error
|
|
228
|
+
raise parser.error(error.message, usage)
|
|
229
|
+
end
|
|
230
|
+
|
|
231
231
|
end # end case keyword for all keywords that require a current interface or router
|
|
232
232
|
|
|
233
233
|
when 'ROUTER'
|
|
@@ -218,7 +218,7 @@ module Cosmos
|
|
|
218
218
|
average_request_time = CmdTlmServer.json_drb.average_request_time
|
|
219
219
|
@api_table.item(0,4).setText(sprintf("%0.6f s", average_request_time))
|
|
220
220
|
estimated_utilization = requests_per_second * average_request_time * 100.0
|
|
221
|
-
@api_table.item(0,5).setText(sprintf("%0.2f
|
|
221
|
+
@api_table.item(0,5).setText(sprintf("%0.2f %%", estimated_utilization))
|
|
222
222
|
end
|
|
223
223
|
end
|
|
224
224
|
|
|
@@ -164,6 +164,8 @@ module Cosmos
|
|
|
164
164
|
attr_reader :core
|
|
165
165
|
# @return [Qt::TabWidget] TabWidget which holds the table tabs
|
|
166
166
|
attr_reader :tabbook
|
|
167
|
+
# @return [Qt::VBoxLayout] Top level vertical layout for the application
|
|
168
|
+
attr_reader :top_layout
|
|
167
169
|
|
|
168
170
|
# @return [TableManager] Instance of the TableManager class
|
|
169
171
|
def self.instance
|
|
@@ -402,7 +404,7 @@ module Cosmos
|
|
|
402
404
|
def initialize_central_widget
|
|
403
405
|
central_widget = Qt::Widget.new
|
|
404
406
|
setCentralWidget(central_widget)
|
|
405
|
-
top_layout = Qt::VBoxLayout.new(central_widget)
|
|
407
|
+
@top_layout = Qt::VBoxLayout.new(central_widget)
|
|
406
408
|
|
|
407
409
|
# Create the information pane with the filenames
|
|
408
410
|
filename_layout = Qt::FormLayout.new
|
|
@@ -410,15 +412,15 @@ module Cosmos
|
|
|
410
412
|
filename_layout.addRow(tr("Definition File:"), @table_def_label)
|
|
411
413
|
@table_bin_label = Qt::Label.new("")
|
|
412
414
|
filename_layout.addRow(tr("Binary File:"), @table_bin_label)
|
|
413
|
-
top_layout.addLayout(filename_layout)
|
|
415
|
+
@top_layout.addLayout(filename_layout)
|
|
414
416
|
|
|
415
417
|
# Separator before editor
|
|
416
418
|
sep1 = Qt::Frame.new(central_widget)
|
|
417
419
|
sep1.setFrameStyle(Qt::Frame::HLine | Qt::Frame::Sunken)
|
|
418
|
-
top_layout.addWidget(sep1)
|
|
420
|
+
@top_layout.addWidget(sep1)
|
|
419
421
|
|
|
420
422
|
@tabbook = Qt::TabWidget.new
|
|
421
|
-
top_layout.addWidget(@tabbook)
|
|
423
|
+
@top_layout.addWidget(@tabbook)
|
|
422
424
|
|
|
423
425
|
@check_icons = []
|
|
424
426
|
@check_icons << Cosmos.get_icon("CheckBoxEmpty.gif")
|
|
@@ -50,6 +50,7 @@ module Cosmos
|
|
|
50
50
|
time_end = Time.now unless time_end
|
|
51
51
|
progress_dialog.set_step_progress(0) if progress_dialog
|
|
52
52
|
index = 0
|
|
53
|
+
query_string = ""
|
|
53
54
|
required_queries.each do |target_name, packet_name, item_name, value_type, array_index, dart_reduction, dart_reduced_type|
|
|
54
55
|
begin
|
|
55
56
|
break if @cancel
|
|
@@ -87,7 +88,7 @@ module Cosmos
|
|
|
87
88
|
rescue Exception => error
|
|
88
89
|
@errors << error
|
|
89
90
|
break if @cancel
|
|
90
|
-
progress_dialog.append_text("Error querying #{query_string} : #{error.class}:#{error.message}\n#{error.backtrace.join("\n")}\n"
|
|
91
|
+
progress_dialog.append_text("Error querying #{query_string} : #{error.class}:#{error.message}\n#{error.backtrace.join("\n")}\n") if progress_dialog
|
|
91
92
|
# If a progress dialog is shown we can't just bail on this error or
|
|
92
93
|
# it will close and the user will have no idea what happened
|
|
93
94
|
# Thus we'll spin here waiting for them to close the dialog
|
|
@@ -96,8 +97,8 @@ module Cosmos
|
|
|
96
97
|
sleep(0.1) until progress_dialog.complete?
|
|
97
98
|
end
|
|
98
99
|
break # Bail out because something bad happened
|
|
99
|
-
end
|
|
100
|
-
index += 1
|
|
100
|
+
end
|
|
101
|
+
index += 1
|
|
101
102
|
end
|
|
102
103
|
progress_dialog.set_step_progress(1.0) if progress_dialog and not @cancel
|
|
103
104
|
progress_dialog.set_overall_progress(0.5) if progress_dialog and not @cancel
|
|
@@ -118,7 +119,7 @@ module Cosmos
|
|
|
118
119
|
rescue Exception => error
|
|
119
120
|
@errors << error
|
|
120
121
|
return if @cancel
|
|
121
|
-
progress_dialog.append_text("DART Thread Error #{error.class}:#{error.message}\n#{error.backtrace.join("\n")}\n"
|
|
122
|
+
progress_dialog.append_text("DART Thread Error #{error.class}:#{error.message}\n#{error.backtrace.join("\n")}\n") if progress_dialog
|
|
122
123
|
# If a progress dialog is shown we can't just bail on this error or
|
|
123
124
|
# it will close and the user will have no idea what happened
|
|
124
125
|
# Thus we'll spin here waiting for them to close the dialog
|
|
@@ -68,7 +68,7 @@ module Cosmos
|
|
|
68
68
|
rescue Exception => error
|
|
69
69
|
@errors << error
|
|
70
70
|
break if @cancel
|
|
71
|
-
progress_dialog.append_text("Error processing #{log_file}:\n#{error.class} : #{error.message}\n#{error.backtrace.join("\n")}\n"
|
|
71
|
+
progress_dialog.append_text("Error processing #{log_file}:\n#{error.class} : #{error.message}\n#{error.backtrace.join("\n")}\n") if progress_dialog
|
|
72
72
|
# If a progress dialog is shown we can't just bail on this error or
|
|
73
73
|
# it will close and the user will have no idea what happened
|
|
74
74
|
# Thus we'll spin here waiting for them to close the dialog
|
data/lib/cosmos/top_level.rb
CHANGED
|
@@ -113,7 +113,7 @@ module Cosmos
|
|
|
113
113
|
# Last chance - Check environment
|
|
114
114
|
if ENV['COSMOS_USERPATH']
|
|
115
115
|
disable_warnings do
|
|
116
|
-
Cosmos.const_set(:USERPATH, ENV['COSMOS_USERPATH'])
|
|
116
|
+
Cosmos.const_set(:USERPATH, ENV['COSMOS_USERPATH'].gsub("\\", "/"))
|
|
117
117
|
end
|
|
118
118
|
else
|
|
119
119
|
# Give up and assume we are in the tools directory
|
data/lib/cosmos/version.rb
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# encoding: ascii-8bit
|
|
2
2
|
|
|
3
|
-
COSMOS_VERSION = '4.2.
|
|
3
|
+
COSMOS_VERSION = '4.2.4'
|
|
4
4
|
module Cosmos
|
|
5
5
|
module Version
|
|
6
6
|
MAJOR = '4'
|
|
7
7
|
MINOR = '2'
|
|
8
|
-
PATCH = '
|
|
9
|
-
BUILD = '
|
|
8
|
+
PATCH = '4'
|
|
9
|
+
BUILD = '4c60966285c2f7a5a050bfec88cb081b8662fac9'
|
|
10
10
|
end
|
|
11
|
-
VERSION = '4.2.
|
|
11
|
+
VERSION = '4.2.4'
|
|
12
12
|
end
|
|
@@ -45,11 +45,24 @@ if RUBY_ENGINE == 'ruby' or Gem.win_platform?
|
|
|
45
45
|
i = SerialInterface.new('COM1','COM1','9600','NONE','1','0','0','burst')
|
|
46
46
|
expect(i.connected?).to be false
|
|
47
47
|
i.connect
|
|
48
|
+
expect(i.stream.instance_variable_get(:@flow_control)).to eq :NONE
|
|
49
|
+
expect(i.stream.instance_variable_get(:@data_bits)).to eq 8
|
|
48
50
|
expect(i.connected?).to be true
|
|
49
51
|
i.disconnect
|
|
50
52
|
expect(i.connected?).to be false
|
|
51
53
|
end
|
|
52
54
|
end
|
|
55
|
+
|
|
56
|
+
it "sets options on the interface" do
|
|
57
|
+
if Kernel.is_windows? && !ENV['APPVEYOR']
|
|
58
|
+
i = SerialInterface.new('nil','COM1','9600','NONE','1','0','0','burst')
|
|
59
|
+
i.set_option("FLOW_CONTROL", ["RTSCTS"])
|
|
60
|
+
i.set_option("DATA_BITS", ["7"])
|
|
61
|
+
i.connect
|
|
62
|
+
expect(i.stream.instance_variable_get(:@flow_control)).to eq :RTSCTS
|
|
63
|
+
expect(i.stream.instance_variable_get(:@data_bits)).to eq 7
|
|
64
|
+
end
|
|
65
|
+
end
|
|
53
66
|
end
|
|
54
67
|
end
|
|
55
68
|
end
|
data/spec/io/json_rpc_spec.rb
CHANGED
|
@@ -193,6 +193,13 @@ module Cosmos
|
|
|
193
193
|
expect(request).to eq(JsonRpcRequest.from_hash(request.as_json))
|
|
194
194
|
end
|
|
195
195
|
end
|
|
196
|
+
|
|
197
|
+
describe "spaceship" do
|
|
198
|
+
it "returns nil for incompatible items" do
|
|
199
|
+
request = JsonRpcRequest.new("puts","test",10)
|
|
200
|
+
expect(request <=> Marshal).to be nil
|
|
201
|
+
end
|
|
202
|
+
end
|
|
196
203
|
end
|
|
197
204
|
|
|
198
205
|
describe JsonRpcResponse do
|
|
@@ -42,6 +42,14 @@ if RUBY_ENGINE == 'ruby' or Gem.win_platform?
|
|
|
42
42
|
expect { Win32SerialDriver.new('COM1',9600,:NONE,2) }.to_not raise_error
|
|
43
43
|
expect { Win32SerialDriver.new('COM1',9600,:NONE,3) }.to raise_error(ArgumentError, "Invalid stop bits: 3")
|
|
44
44
|
end
|
|
45
|
+
|
|
46
|
+
it "supports 5-8 data bits" do
|
|
47
|
+
expect { Win32SerialDriver.new('COM1',9600,:NONE,1,10,nil,0.01,1000,:NONE,5) }.to_not raise_error
|
|
48
|
+
expect { Win32SerialDriver.new('COM1',9600,:NONE,1,10,nil,0.01,1000,:NONE,6) }.to_not raise_error
|
|
49
|
+
expect { Win32SerialDriver.new('COM1',9600,:NONE,1,10,nil,0.01,1000,:NONE,7) }.to_not raise_error
|
|
50
|
+
expect { Win32SerialDriver.new('COM1',9600,:NONE,1,10,nil,0.01,1000,:NONE,8) }.to_not raise_error
|
|
51
|
+
expect { Win32SerialDriver.new('COM1',9600,:NONE,1,10,nil,0.01,1000,:NONE,9) }.to raise_error(ArgumentError, "Invalid data bits: 9")
|
|
52
|
+
end
|
|
45
53
|
end
|
|
46
54
|
|
|
47
55
|
describe "close, closed?" do
|
|
@@ -182,6 +182,12 @@ module Cosmos
|
|
|
182
182
|
expect(si1 == si2).to be false
|
|
183
183
|
expect(si1 > si2).to be false
|
|
184
184
|
end
|
|
185
|
+
|
|
186
|
+
it "doesn't raise errors on comparing incompatible items" do
|
|
187
|
+
si1 = StructureItem.new("si1", 16, 8, :UINT, :BIG_ENDIAN, nil)
|
|
188
|
+
expect{ (si1 > 5) }.to raise_error(StandardError)
|
|
189
|
+
expect(si1 <=> 5).to be nil
|
|
190
|
+
end
|
|
185
191
|
end
|
|
186
192
|
|
|
187
193
|
describe "clone" do
|
data/spec/script/extract_spec.rb
CHANGED
|
@@ -151,6 +151,11 @@ module Cosmos
|
|
|
151
151
|
it "should complain about trying to do an = comparison" do
|
|
152
152
|
expect { extract_fields_from_check_text("TARGET PACKET ITEM = 5") }.to raise_error(/ERROR: Use/)
|
|
153
153
|
end
|
|
154
|
+
|
|
155
|
+
it "should handle spaces throughout correctly" do
|
|
156
|
+
expect(extract_fields_from_check_text("TARGET PACKET ITEM == \"This is a test\"")).to eql(['TARGET', 'PACKET', 'ITEM', "== \"This is a test\""])
|
|
157
|
+
expect(extract_fields_from_check_text("TARGET PACKET ITEM == 'This is a test '")).to eql(['TARGET', 'PACKET', 'ITEM', " == 'This is a test '"])
|
|
158
|
+
end
|
|
154
159
|
end
|
|
155
160
|
|
|
156
161
|
end
|
|
@@ -633,6 +633,16 @@ module Cosmos
|
|
|
633
633
|
expect(config.routers.keys).to eql %w(MY_ROUTER1 MY_ROUTER2)
|
|
634
634
|
tf.unlink
|
|
635
635
|
end
|
|
636
|
+
|
|
637
|
+
it "supports protocols" do
|
|
638
|
+
tf = Tempfile.new('unittest')
|
|
639
|
+
tf.puts 'ROUTER MY_ROUTER1 cts_config_test_interface.rb'
|
|
640
|
+
tf.puts ' PROTOCOL READ_WRITE OverrideProtocol'
|
|
641
|
+
tf.close
|
|
642
|
+
config = CmdTlmServerConfig.new(tf.path)
|
|
643
|
+
expect(config.routers.keys).to eql %w(MY_ROUTER1)
|
|
644
|
+
tf.unlink
|
|
645
|
+
end
|
|
636
646
|
end
|
|
637
647
|
|
|
638
648
|
context "with ROUTE" do
|
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.2.
|
|
4
|
+
version: 4.2.4
|
|
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-05-16 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
@@ -458,6 +458,7 @@ executables:
|
|
|
458
458
|
- cstol_converter
|
|
459
459
|
- xtce_converter
|
|
460
460
|
- dart_import
|
|
461
|
+
- dart_util
|
|
461
462
|
extensions:
|
|
462
463
|
- ext/cosmos/ext/array/extconf.rb
|
|
463
464
|
- ext/cosmos/ext/buffered_file/extconf.rb
|
|
@@ -688,6 +689,7 @@ files:
|
|
|
688
689
|
- bin/cosmos
|
|
689
690
|
- bin/cstol_converter
|
|
690
691
|
- bin/dart_import
|
|
692
|
+
- bin/dart_util
|
|
691
693
|
- bin/exchndl20-x64.dll
|
|
692
694
|
- bin/exchndl20.dll
|
|
693
695
|
- bin/exchndl21-x64.dll
|
|
@@ -845,6 +847,11 @@ files:
|
|
|
845
847
|
- demo/config/data/vswitchon.gif
|
|
846
848
|
- demo/config/system/system.txt
|
|
847
849
|
- demo/config/system/system2.txt
|
|
850
|
+
- demo/config/targets/DART/cmd_tlm/dart_cmds.txt
|
|
851
|
+
- demo/config/targets/DART/cmd_tlm/dart_tlm.txt
|
|
852
|
+
- demo/config/targets/DART/cmd_tlm_server.txt
|
|
853
|
+
- demo/config/targets/DART/screens/status.txt
|
|
854
|
+
- demo/config/targets/DART/target.txt
|
|
848
855
|
- demo/config/targets/EXAMPLE/cmd_tlm/example_cmds.txt
|
|
849
856
|
- demo/config/targets/EXAMPLE/cmd_tlm/example_tlm.txt
|
|
850
857
|
- demo/config/targets/EXAMPLE/cmd_tlm_server.txt
|
|
@@ -1378,7 +1385,6 @@ files:
|
|
|
1378
1385
|
- lib/cosmos/dart/app/channels/application_cable/channel.rb
|
|
1379
1386
|
- lib/cosmos/dart/app/channels/application_cable/connection.rb
|
|
1380
1387
|
- lib/cosmos/dart/app/controllers/application_controller.rb
|
|
1381
|
-
- lib/cosmos/dart/app/helpers/application_helper.rb
|
|
1382
1388
|
- lib/cosmos/dart/app/jobs/application_job.rb
|
|
1383
1389
|
- lib/cosmos/dart/app/mailers/application_mailer.rb
|
|
1384
1390
|
- lib/cosmos/dart/app/models/application_record.rb
|
|
@@ -1388,6 +1394,7 @@ files:
|
|
|
1388
1394
|
- lib/cosmos/dart/app/models/packet_config.rb
|
|
1389
1395
|
- lib/cosmos/dart/app/models/packet_log.rb
|
|
1390
1396
|
- lib/cosmos/dart/app/models/packet_log_entry.rb
|
|
1397
|
+
- lib/cosmos/dart/app/models/status.rb
|
|
1391
1398
|
- lib/cosmos/dart/app/models/system_config.rb
|
|
1392
1399
|
- lib/cosmos/dart/app/models/target.rb
|
|
1393
1400
|
- lib/cosmos/dart/app/views/layouts/application.html.erb
|
|
@@ -1445,6 +1452,11 @@ files:
|
|
|
1445
1452
|
- lib/cosmos/dart/db/migrate/20170919210307_add_max_table_index_to_packet_configs.rb
|
|
1446
1453
|
- lib/cosmos/dart/db/migrate/20171215225546_add_ready_to_packet_log_entries.rb
|
|
1447
1454
|
- lib/cosmos/dart/db/migrate/20180116214338_add_index_for_ple_ready_to_packet_log_entries.rb
|
|
1455
|
+
- lib/cosmos/dart/db/migrate/20180423205644_create_statuses.rb
|
|
1456
|
+
- lib/cosmos/dart/db/migrate/20180425211340_add_decom_state_index.rb
|
|
1457
|
+
- lib/cosmos/dart/db/migrate/20180509204705_remove_indexes.rb
|
|
1458
|
+
- lib/cosmos/dart/db/migrate/20180510160002_remove_timestamps_from_ples.rb
|
|
1459
|
+
- lib/cosmos/dart/db/migrate/20180511194944_add_packet_log_id_to_tables.rb
|
|
1448
1460
|
- lib/cosmos/dart/db/schema.rb
|
|
1449
1461
|
- lib/cosmos/dart/db/seeds.rb
|
|
1450
1462
|
- lib/cosmos/dart/examples/dart_decom_client.rb
|
|
@@ -1465,6 +1477,7 @@ files:
|
|
|
1465
1477
|
- lib/cosmos/dart/processes/dart_ingester.rb
|
|
1466
1478
|
- lib/cosmos/dart/processes/dart_reducer.rb
|
|
1467
1479
|
- lib/cosmos/dart/processes/dart_stream_server.rb
|
|
1480
|
+
- lib/cosmos/dart/processes/dart_util.rb
|
|
1468
1481
|
- lib/cosmos/dart/processes/dart_worker.rb
|
|
1469
1482
|
- lib/cosmos/dart/spec/dart/dart_common_spec.rb
|
|
1470
1483
|
- lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb
|
|
@@ -1543,6 +1556,7 @@ files:
|
|
|
1543
1556
|
- lib/cosmos/gui/widgets/realtime_button_bar.rb
|
|
1544
1557
|
- lib/cosmos/interfaces.rb
|
|
1545
1558
|
- lib/cosmos/interfaces/cmd_tlm_server_interface.rb
|
|
1559
|
+
- lib/cosmos/interfaces/dart_status_interface.rb
|
|
1546
1560
|
- lib/cosmos/interfaces/interface.rb
|
|
1547
1561
|
- lib/cosmos/interfaces/linc_interface.rb
|
|
1548
1562
|
- lib/cosmos/interfaces/protocols/burst_protocol.rb
|