cosmos 4.4.0 → 4.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.dockerignore +2 -0
- data/.gitignore +1 -0
- data/.travis.yml +6 -6
- data/Dockerfile +70 -0
- data/Manifest.txt +37 -2
- data/README.md +9 -0
- data/Rakefile +55 -5
- data/appveyor.yml +18 -8
- data/autohotkey/config/tools/cmd_sequence/cmd_sequence.txt +2 -0
- data/autohotkey/lib/cmd_sequence_exporter.rb +52 -0
- data/autohotkey/procedures/collect.rb +2 -2
- data/autohotkey/procedures/collect_util.rb +1 -1
- data/autohotkey/procedures/script_test.rb +1 -1
- data/autohotkey/tools/CmdSenderAHK2 +18 -0
- data/autohotkey/tools/cmd_extractor.ahk +11 -9
- data/autohotkey/tools/cmd_sender.ahk +35 -7
- data/autohotkey/tools/cmd_sender2.ahk +4 -0
- data/autohotkey/tools/cmd_sequence.ahk +22 -9
- data/autohotkey/tools/config_editor.ahk +4 -4
- data/autohotkey/tools/data_viewer.ahk +1 -1
- data/autohotkey/tools/limits_monitor.ahk +1 -1
- data/autohotkey/tools/packet_viewer.ahk +1 -1
- data/autohotkey/tools/script_runner.ahk +1 -1
- data/autohotkey/tools/test_runner2.ahk +1 -1
- data/autohotkey/tools/tlm_grapher.ahk +1 -1
- data/autohotkey/tools/tlm_grapher3.ahk +1 -1
- data/autohotkey/tools/tlm_viewer.ahk +1 -1
- data/autohotkey/tools/tlm_viewer2.ahk +1 -1
- data/autohotkey/tools/tlm_viewer5.ahk +1 -1
- data/bin/cstol_converter +1 -1
- data/bin/rubysloc +73 -28
- data/bin/xtce_converter +1 -1
- data/cosmos.gemspec +2 -2
- data/data/config/command_modifiers.yaml +16 -1
- data/data/config/interface_modifiers.yaml +3 -2
- data/data/config/param_item_modifiers.yaml +5 -0
- data/data/config/system.yaml +110 -23
- data/data/config/telemetry_modifiers.yaml +16 -1
- data/data/crc.txt +416 -411
- data/demo/Rakefile +4 -4
- data/demo/config/dart/Gemfile +1 -6
- data/demo/config/data/crc.txt +233 -232
- data/demo/config/system/system.txt +17 -6
- data/demo/config/system/system2.txt +17 -6
- data/demo/config/system/system_alt_ports.txt +17 -6
- data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +4 -4
- data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +4 -0
- data/demo/config/targets/INST/cmd_tlm/inst_tlm_override.txt +12 -0
- data/demo/config/targets/INST/lib/sim_inst.rb +2 -2
- data/demo/config/targets/INST/target.txt +1 -0
- data/demo/config/tools/handbook_creator/default_toc.xsl +59 -59
- data/demo/procedures/cosmos_api_test.rb +8 -8
- data/ext/cosmos/ext/buffered_file/buffered_file.c +2 -2
- data/ext/cosmos/ext/config_parser/config_parser.c +1 -2
- data/ext/cosmos/ext/line_graph/line_graph.c +53 -94
- data/ext/cosmos/ext/platform/platform.c +56 -21
- data/ext/cosmos/ext/polynomial_conversion/polynomial_conversion.c +4 -8
- data/ext/cosmos/ext/structure/structure.c +12 -0
- data/extensions/vscode/.gitignore +4 -0
- data/extensions/vscode/.vscode/launch.json +32 -0
- data/extensions/vscode/.vscode/settings.json +13 -0
- data/extensions/vscode/.vscode/tasks.json +79 -0
- data/extensions/vscode/License.txt +879 -0
- data/extensions/vscode/README.md +9 -0
- data/extensions/vscode/client/License.txt +879 -0
- data/extensions/vscode/client/README.md +39 -0
- data/extensions/vscode/client/cosmos.configuration.json +23 -0
- data/extensions/vscode/client/images/icon.png +0 -0
- data/extensions/vscode/client/package-lock.json +414 -0
- data/extensions/vscode/client/package.json +105 -0
- data/extensions/vscode/client/src/extension.ts +132 -0
- data/extensions/vscode/client/src/screen_preview.rb +25 -0
- data/extensions/vscode/client/syntaxes/cosmos.tmLanguage.json +219 -0
- data/extensions/vscode/client/tsconfig.json +17 -0
- data/extensions/vscode/package-lock.json +26 -0
- data/extensions/vscode/package.json +35 -0
- data/extensions/vscode/server/License.txt +879 -0
- data/extensions/vscode/server/package-lock.json +236 -0
- data/extensions/vscode/server/package.json +29 -0
- data/extensions/vscode/server/src/server.ts +59 -0
- data/extensions/vscode/server/tsconfig.json +16 -0
- data/install/Rakefile +4 -4
- data/install/config/dart/Gemfile +2 -7
- data/install/config/data/crc.txt +137 -137
- data/install/config/system/system.txt +17 -6
- data/install/config/tools/handbook_creator/default_toc.xsl +59 -59
- data/lib/cosmos/config/config_parser.rb +2 -10
- data/lib/cosmos/core_ext/class.rb +10 -0
- data/lib/cosmos/core_ext/time.rb +5 -3
- data/lib/cosmos/dart/config/boot.rb +1 -1
- data/lib/cosmos/dart/config/database.yml +2 -0
- data/lib/cosmos/dart/examples/dart_decom_client.rb +1 -1
- data/lib/cosmos/dart/lib/dart_common.rb +12 -5
- data/lib/cosmos/dart/lib/dart_constants.rb +15 -0
- data/lib/cosmos/dart/lib/dart_decom_query.rb +5 -6
- data/lib/cosmos/dart/lib/dart_decommutator.rb +64 -54
- data/lib/cosmos/dart/lib/dart_master_query.rb +71 -0
- data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +165 -134
- data/lib/cosmos/dart/processes/dart.rb +4 -2
- data/lib/cosmos/dart/processes/dart_decom_server.rb +3 -3
- data/lib/cosmos/dart/processes/dart_ingester.rb +38 -1
- data/lib/cosmos/dart/processes/dart_master.rb +44 -0
- data/lib/cosmos/dart/processes/dart_util.rb +115 -0
- data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +2 -2
- data/lib/cosmos/gui/qt.rb +10 -10
- data/lib/cosmos/gui/qt_tool.rb +17 -12
- data/lib/cosmos/gui/text/completion_text_edit.rb +2 -0
- data/lib/cosmos/gui/widgets/dart_meta_frame.rb +22 -3
- data/lib/cosmos/interfaces/dart_status_interface.rb +1 -1
- data/lib/cosmos/interfaces/linc_interface.rb +3 -3
- data/lib/cosmos/interfaces/protocols/burst_protocol.rb +1 -1
- data/lib/cosmos/interfaces/protocols/crc_protocol.rb +1 -1
- data/lib/cosmos/interfaces/protocols/length_protocol.rb +5 -0
- data/lib/cosmos/interfaces/protocols/template_protocol.rb +3 -3
- data/lib/cosmos/interfaces/serial_interface.rb +7 -1
- data/lib/cosmos/interfaces/stream_interface.rb +1 -1
- data/lib/cosmos/interfaces/tcpip_server_interface.rb +16 -16
- data/lib/cosmos/io/io_multiplexer.rb +6 -2
- data/lib/cosmos/io/json_drb.rb +5 -5
- data/lib/cosmos/io/json_drb_object.rb +7 -2
- data/lib/cosmos/io/json_drb_rack.rb +25 -5
- data/lib/cosmos/io/json_rpc.rb +1 -1
- data/lib/cosmos/io/posix_serial_driver.rb +60 -22
- data/lib/cosmos/io/serial_driver.rb +11 -8
- data/lib/cosmos/io/win32_serial_driver.rb +31 -3
- data/lib/cosmos/packet_logs/packet_log_reader.rb +2 -2
- data/lib/cosmos/packets/packet.rb +9 -9
- data/lib/cosmos/packets/packet_config.rb +27 -9
- data/lib/cosmos/packets/parsers/xtce_converter.rb +10 -10
- data/lib/cosmos/packets/parsers/xtce_parser.rb +3 -0
- data/lib/cosmos/packets/structure.rb +35 -5
- data/lib/cosmos/packets/structure_item.rb +5 -1
- data/lib/cosmos/packets/telemetry.rb +7 -1
- data/lib/cosmos/script/api_shared.rb +18 -1
- data/lib/cosmos/script/extract.rb +1 -1
- data/lib/cosmos/script/script.rb +4 -11
- data/lib/cosmos/streams/serial_stream.rb +11 -6
- data/lib/cosmos/system/system.rb +155 -57
- data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +15 -0
- data/lib/cosmos/tools/cmd_sender/cmd_params.rb +382 -0
- data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +29 -318
- data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +14 -17
- data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +38 -331
- data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +16 -11
- data/lib/cosmos/tools/cmd_tlm_server/api.rb +10 -8
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +2 -2
- data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +1 -0
- data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +1 -1
- data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +29 -26
- data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +1 -1
- data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +5 -0
- data/lib/cosmos/tools/config_editor/config_editor.rb +34 -3
- data/lib/cosmos/tools/config_editor/config_editor_frame.rb +8 -9
- data/lib/cosmos/tools/config_editor/system_config_dialog.rb +158 -0
- data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +1 -1
- data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +1 -1
- data/lib/cosmos/tools/script_runner/script_runner_frame.rb +7 -4
- data/lib/cosmos/tools/test_runner/test.rb +6 -3
- data/lib/cosmos/tools/test_runner/test_runner.rb +6 -6
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +3 -3
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +1 -4
- data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +20 -16
- data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +21 -17
- data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +18 -11
- data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +17 -6
- data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +2 -0
- data/lib/cosmos/top_level.rb +1 -1
- data/lib/cosmos/utilities/ruby_lex_utils.rb +34 -30
- data/lib/cosmos/utilities/simulated_target.rb +1 -1
- data/lib/cosmos/version.rb +5 -5
- data/lib/cosmos/win32/excel.rb +23 -17
- data/run_gui_tests.bat +1 -0
- data/spec/core_ext/class_spec.rb +54 -0
- data/spec/core_ext/socket_spec.rb +1 -1
- data/spec/core_ext/time_spec.rb +4 -0
- data/spec/install/yaml_docs_spec.rb +26 -6
- data/spec/interfaces/linc_interface_spec.rb +1 -1
- data/spec/interfaces/protocols/length_protocol_spec.rb +39 -0
- data/spec/interfaces/serial_interface_spec.rb +1 -5
- data/spec/io/json_drb_rack_spec.rb +166 -0
- data/spec/io/json_drb_spec.rb +14 -0
- data/spec/io/json_rpc_spec.rb +4 -5
- data/spec/io/posix_serial_driver_spec.rb +81 -0
- data/spec/io/win32_serial_driver_spec.rb +33 -3
- data/spec/packet_logs/packet_log_reader_spec.rb +36 -37
- data/spec/packets/structure_spec.rb +52 -2
- data/spec/packets/telemetry_spec.rb +29 -1
- data/spec/script/extract_spec.rb +4 -1
- data/spec/system/system_spec.rb +111 -3
- data/spec/tools/cmd_tlm_server/api_spec.rb +12 -12
- data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +2 -2
- data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +4 -3
- data/spec/tools/cmd_tlm_server/router_thread_spec.rb +2 -3
- data/spec/utilities/logger_spec.rb +3 -3
- data/spec/utilities/message_log_spec.rb +6 -3
- data/tasks/gemfile_stats.rake +22 -13
- data/test/performance/Rakefile +4 -4
- data/test/performance/config/data/crc.txt +67 -48
- metadata +52 -11
- data/demo/outputs/dart/logs/README.txt +0 -1
- data/lib/cosmos/dart/Gemfile +0 -69
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c7429d28f8f97293a9c8f9779cd11b32c484b5611880bedd58f2cde82b348cd2
|
4
|
+
data.tar.gz: f64ef30f269a8c7d79d2dbd85c995e8eae63903d9eb534408c593e8def86cdcd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e7c12fac22a5a5e68f0d5cefeeab1327592d727a31e799001516f35000bc066e7ae7723417345c1578978e64a4a4e8d06a564035241a8a6ac4af2cf3ad73bad
|
7
|
+
data.tar.gz: ca43d50aac04edd22d03bc3a44c15c66911374a1cfe40a8ad08e2c91a9fe6c9b3192760d423df0197fc38137a7cf896462e73623163c1dba29a61368c2e0e8ca
|
data/.dockerignore
ADDED
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
env: JRUBY_OPTS=--debug
|
2
|
+
dist: trusty
|
2
3
|
language: ruby
|
3
|
-
sudo: false
|
4
4
|
cache: bundler
|
5
5
|
services:
|
6
6
|
- postgresql
|
7
7
|
rvm:
|
8
|
-
- jruby-9.2.
|
9
|
-
- 2.6.
|
10
|
-
- 2.5.
|
11
|
-
- 2.4.
|
12
|
-
- 2.3.8
|
8
|
+
- jruby-9.2.9.0
|
9
|
+
- 2.6.5
|
10
|
+
- 2.5.7
|
11
|
+
- 2.4.9
|
13
12
|
before_install:
|
13
|
+
- sudo apt-get install -y libgl1-mesa-dev
|
14
14
|
- gem update --system
|
15
15
|
- gem install bundler
|
16
16
|
script: bundle exec rake build spec
|
data/Dockerfile
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
# This Dockerfile is for development of COSMOS
|
2
|
+
# See Docker Hub: ballaerospace/cosmos for production docker images
|
3
|
+
|
4
|
+
FROM ubuntu:18.04
|
5
|
+
|
6
|
+
RUN apt-get update -y && apt-get install -y \
|
7
|
+
cmake \
|
8
|
+
default-jdk \
|
9
|
+
freeglut3 \
|
10
|
+
freeglut3-dev \
|
11
|
+
gcc \
|
12
|
+
g++ \
|
13
|
+
git \
|
14
|
+
iproute2 \
|
15
|
+
libffi-dev \
|
16
|
+
libgdbm-dev \
|
17
|
+
libgdbm5 \
|
18
|
+
libgstreamer-plugins-base1.0-dev \
|
19
|
+
libgstreamer1.0-dev \
|
20
|
+
libncurses5-dev \
|
21
|
+
libreadline6-dev \
|
22
|
+
libsmokeqt4-dev \
|
23
|
+
libssl-dev \
|
24
|
+
libyaml-dev \
|
25
|
+
net-tools \
|
26
|
+
postgresql-server-dev-all \
|
27
|
+
qt4-default \
|
28
|
+
qt4-dev-tools \
|
29
|
+
ruby2.5 \
|
30
|
+
ruby2.5-dev \
|
31
|
+
vim \
|
32
|
+
xterm \
|
33
|
+
zlib1g-dev
|
34
|
+
|
35
|
+
RUN gem install rake --no-document
|
36
|
+
|
37
|
+
# We require a local certificate file so set that up.
|
38
|
+
# You must place a valid cert.pem file in your COSMOS development folder for this work
|
39
|
+
# Comment out these lines if this is not required in your environment
|
40
|
+
COPY cert.pem /devel/cert.pem
|
41
|
+
ENV SSL_CERT_FILE /devel/cert.pem
|
42
|
+
ENV CURL_CA_BUNDLE /devel/cert.pem
|
43
|
+
ENV REQUESTS_CA_BUNDLE /devel/cert.pem
|
44
|
+
RUN git config --global http.sslCAinfo /devel/cert.pem
|
45
|
+
|
46
|
+
# Download and install jruby
|
47
|
+
RUN cd /opt \
|
48
|
+
&& curl -G https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.2.9.0/jruby-dist-9.2.9.0-bin.tar.gz > jruby.tar.gz \
|
49
|
+
&& tar xvf jruby.tar.gz \
|
50
|
+
&& mv jruby-9.2.9.0 jruby
|
51
|
+
|
52
|
+
ARG COSMOS_REPO=https://github.com/BallAerospace/COSMOS.git
|
53
|
+
|
54
|
+
# Download and setup COSMOS devel area
|
55
|
+
RUN gem install bundler --no-document
|
56
|
+
RUN cd /devel \
|
57
|
+
&& git clone ${COSMOS_REPO} COSMOS \
|
58
|
+
&& git checkout cosmos4 \
|
59
|
+
&& cd /devel/COSMOS \
|
60
|
+
&& bundle install
|
61
|
+
|
62
|
+
ARG COSMOS_DOCKER_REPO=https://github.com/BallAerospace/cosmos-docker.git
|
63
|
+
|
64
|
+
# Download COSMOS docker files to support docker release
|
65
|
+
RUN cd /devel \
|
66
|
+
&& git clone ${COSMOS_DOCKER_REPO}
|
67
|
+
|
68
|
+
ENV COSMOS_DEVEL /devel/COSMOS
|
69
|
+
WORKDIR /devel/COSMOS
|
70
|
+
CMD bash
|
data/Manifest.txt
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
.coveralls.yml
|
2
|
+
.dockerignore
|
2
3
|
.gitattributes
|
3
4
|
.github/ISSUE_TEMPLATE/bug_report.md
|
4
5
|
.github/ISSUE_TEMPLATE/feature_request.md
|
@@ -8,6 +9,7 @@
|
|
8
9
|
.travis.yml
|
9
10
|
.yardopts
|
10
11
|
CONTRIBUTING.txt
|
12
|
+
Dockerfile
|
11
13
|
Gemfile
|
12
14
|
Guardfile
|
13
15
|
LICENSE.txt
|
@@ -59,6 +61,7 @@ autohotkey/config/targets/SYSTEM/screens/limits_change.txt
|
|
59
61
|
autohotkey/config/targets/SYSTEM/screens/meta.txt
|
60
62
|
autohotkey/config/targets/SYSTEM/target.txt
|
61
63
|
autohotkey/config/tools/cmd_sender/cmd_sender.txt
|
64
|
+
autohotkey/config/tools/cmd_sequence/cmd_sequence.txt
|
62
65
|
autohotkey/config/tools/cmd_tlm_server/cmd_tlm_server.txt
|
63
66
|
autohotkey/config/tools/data_viewer/data_viewer.txt
|
64
67
|
autohotkey/config/tools/handbook_creator/assets/css/bootstrap-theme.css
|
@@ -110,6 +113,7 @@ autohotkey/config/tools/tlm_grapher/test2.txt
|
|
110
113
|
autohotkey/config/tools/tlm_viewer/tlm_viewer.txt
|
111
114
|
autohotkey/config/tools/tlm_viewer/tlm_viewer2.txt
|
112
115
|
autohotkey/config/tools/tlm_viewer/tlm_viewer3.txt
|
116
|
+
autohotkey/lib/cmd_sequence_exporter.rb
|
113
117
|
autohotkey/lib/example_background_task.rb
|
114
118
|
autohotkey/lib/user_version.rb
|
115
119
|
autohotkey/outputs/handbooks/README.txt
|
@@ -132,6 +136,7 @@ autohotkey/procedures/syntax_error.rb
|
|
132
136
|
autohotkey/tools/CmdExtractorAHK
|
133
137
|
autohotkey/tools/CmdSender
|
134
138
|
autohotkey/tools/CmdSenderAHK
|
139
|
+
autohotkey/tools/CmdSenderAHK2
|
135
140
|
autohotkey/tools/CmdSequence
|
136
141
|
autohotkey/tools/CmdSequenceAHK
|
137
142
|
autohotkey/tools/CmdSequenceAHK2
|
@@ -184,6 +189,7 @@ autohotkey/tools/TlmViewerAHK5
|
|
184
189
|
autohotkey/tools/autohotkey.rb
|
185
190
|
autohotkey/tools/cmd_extractor.ahk
|
186
191
|
autohotkey/tools/cmd_sender.ahk
|
192
|
+
autohotkey/tools/cmd_sender2.ahk
|
187
193
|
autohotkey/tools/cmd_sequence.ahk
|
188
194
|
autohotkey/tools/cmd_sequence2.ahk
|
189
195
|
autohotkey/tools/cmd_tlm_server.ahk
|
@@ -391,6 +397,7 @@ demo/config/targets/INST/cmd_tlm/_ccsds_cmd.txt
|
|
391
397
|
demo/config/targets/INST/cmd_tlm/_ccsds_tlm.txt
|
392
398
|
demo/config/targets/INST/cmd_tlm/inst_cmds.txt
|
393
399
|
demo/config/targets/INST/cmd_tlm/inst_tlm.txt
|
400
|
+
demo/config/targets/INST/cmd_tlm/inst_tlm_override.txt
|
394
401
|
demo/config/targets/INST/cmd_tlm_server.txt
|
395
402
|
demo/config/targets/INST/cmd_tlm_server2.txt
|
396
403
|
demo/config/targets/INST/doc/README.txt
|
@@ -511,7 +518,6 @@ demo/lib/example_target.rb
|
|
511
518
|
demo/lib/scpi_target.rb
|
512
519
|
demo/lib/user_version.rb
|
513
520
|
demo/outputs/dart/data/README.txt
|
514
|
-
demo/outputs/dart/logs/README.txt
|
515
521
|
demo/outputs/handbooks/README.txt
|
516
522
|
demo/outputs/logs/README.txt
|
517
523
|
demo/outputs/saved_config/README.txt
|
@@ -688,6 +694,29 @@ ext/cosmos/ext/tabbed_plots_config/tabbed_plots_config.c
|
|
688
694
|
ext/cosmos/ext/telemetry/extconf.rb
|
689
695
|
ext/cosmos/ext/telemetry/telemetry.c
|
690
696
|
ext/mkrf_conf.rb
|
697
|
+
extensions/vscode/.gitignore
|
698
|
+
extensions/vscode/.vscode/launch.json
|
699
|
+
extensions/vscode/.vscode/settings.json
|
700
|
+
extensions/vscode/.vscode/tasks.json
|
701
|
+
extensions/vscode/License.txt
|
702
|
+
extensions/vscode/README.md
|
703
|
+
extensions/vscode/client/License.txt
|
704
|
+
extensions/vscode/client/README.md
|
705
|
+
extensions/vscode/client/cosmos.configuration.json
|
706
|
+
extensions/vscode/client/images/icon.png
|
707
|
+
extensions/vscode/client/package-lock.json
|
708
|
+
extensions/vscode/client/package.json
|
709
|
+
extensions/vscode/client/src/extension.ts
|
710
|
+
extensions/vscode/client/src/screen_preview.rb
|
711
|
+
extensions/vscode/client/syntaxes/cosmos.tmLanguage.json
|
712
|
+
extensions/vscode/client/tsconfig.json
|
713
|
+
extensions/vscode/package-lock.json
|
714
|
+
extensions/vscode/package.json
|
715
|
+
extensions/vscode/server/License.txt
|
716
|
+
extensions/vscode/server/package-lock.json
|
717
|
+
extensions/vscode/server/package.json
|
718
|
+
extensions/vscode/server/src/server.ts
|
719
|
+
extensions/vscode/server/tsconfig.json
|
691
720
|
install/Gemfile
|
692
721
|
install/Launcher
|
693
722
|
install/Launcher.bat
|
@@ -917,7 +946,6 @@ lib/cosmos/core_ext/string.rb
|
|
917
946
|
lib/cosmos/core_ext/stringio.rb
|
918
947
|
lib/cosmos/core_ext/time.rb
|
919
948
|
lib/cosmos/dart/.rspec
|
920
|
-
lib/cosmos/dart/Gemfile
|
921
949
|
lib/cosmos/dart/Rakefile
|
922
950
|
lib/cosmos/dart/app/assets/config/manifest.js
|
923
951
|
lib/cosmos/dart/app/assets/images/.keep
|
@@ -1004,11 +1032,13 @@ lib/cosmos/dart/db/seeds.rb
|
|
1004
1032
|
lib/cosmos/dart/examples/dart_decom_client.rb
|
1005
1033
|
lib/cosmos/dart/examples/dart_stream_client.rb
|
1006
1034
|
lib/cosmos/dart/lib/dart_common.rb
|
1035
|
+
lib/cosmos/dart/lib/dart_constants.rb
|
1007
1036
|
lib/cosmos/dart/lib/dart_database_cleaner.rb
|
1008
1037
|
lib/cosmos/dart/lib/dart_decom_query.rb
|
1009
1038
|
lib/cosmos/dart/lib/dart_decommutator.rb
|
1010
1039
|
lib/cosmos/dart/lib/dart_importer.rb
|
1011
1040
|
lib/cosmos/dart/lib/dart_logging.rb
|
1041
|
+
lib/cosmos/dart/lib/dart_master_query.rb
|
1012
1042
|
lib/cosmos/dart/lib/dart_packet_log_writer.rb
|
1013
1043
|
lib/cosmos/dart/lib/dart_reducer_manager.rb
|
1014
1044
|
lib/cosmos/dart/lib/dart_reducer_worker_thread.rb
|
@@ -1017,6 +1047,7 @@ lib/cosmos/dart/processes/dart.rb
|
|
1017
1047
|
lib/cosmos/dart/processes/dart_decom_server.rb
|
1018
1048
|
lib/cosmos/dart/processes/dart_import.rb
|
1019
1049
|
lib/cosmos/dart/processes/dart_ingester.rb
|
1050
|
+
lib/cosmos/dart/processes/dart_master.rb
|
1020
1051
|
lib/cosmos/dart/processes/dart_reducer.rb
|
1021
1052
|
lib/cosmos/dart/processes/dart_stream_server.rb
|
1022
1053
|
lib/cosmos/dart/processes/dart_util.rb
|
@@ -1184,6 +1215,7 @@ lib/cosmos/system/system.rb
|
|
1184
1215
|
lib/cosmos/system/target.rb
|
1185
1216
|
lib/cosmos/tools/cmd_extractor/cmd_extractor.rb
|
1186
1217
|
lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb
|
1218
|
+
lib/cosmos/tools/cmd_sender/cmd_params.rb
|
1187
1219
|
lib/cosmos/tools/cmd_sender/cmd_sender.rb
|
1188
1220
|
lib/cosmos/tools/cmd_sender/cmd_sender_text_edit.rb
|
1189
1221
|
lib/cosmos/tools/cmd_sequence/cmd_sequence.rb
|
@@ -1212,6 +1244,7 @@ lib/cosmos/tools/cmd_tlm_server/router_thread.rb
|
|
1212
1244
|
lib/cosmos/tools/cmd_tlm_server/routers.rb
|
1213
1245
|
lib/cosmos/tools/config_editor/config_editor.rb
|
1214
1246
|
lib/cosmos/tools/config_editor/config_editor_frame.rb
|
1247
|
+
lib/cosmos/tools/config_editor/system_config_dialog.rb
|
1215
1248
|
lib/cosmos/tools/data_viewer/data_viewer.rb
|
1216
1249
|
lib/cosmos/tools/data_viewer/data_viewer_component.rb
|
1217
1250
|
lib/cosmos/tools/data_viewer/dump_component.rb
|
@@ -1444,8 +1477,10 @@ spec/interfaces/udp_interface_spec.rb
|
|
1444
1477
|
spec/io/buffered_file_spec.rb
|
1445
1478
|
spec/io/io_multiplexer_spec.rb
|
1446
1479
|
spec/io/json_drb_object_spec.rb
|
1480
|
+
spec/io/json_drb_rack_spec.rb
|
1447
1481
|
spec/io/json_drb_spec.rb
|
1448
1482
|
spec/io/json_rpc_spec.rb
|
1483
|
+
spec/io/posix_serial_driver_spec.rb
|
1449
1484
|
spec/io/raw_logger_pair_spec.rb
|
1450
1485
|
spec/io/raw_logger_spec.rb
|
1451
1486
|
spec/io/serial_driver_spec.rb
|
data/README.md
CHANGED
@@ -84,6 +84,11 @@ COSMOS is built and maintained by Ryan Melton (ryanatball/ryanmelt) and Jason Th
|
|
84
84
|
|
85
85
|
5. Follow the [Documentation](http://cosmosrb.com) to start developing your configuration.
|
86
86
|
|
87
|
+
## Docker
|
88
|
+
|
89
|
+
See our Docker documentation here:
|
90
|
+
[COSMOS Docker Directions](https://github.com/BallAerospace/cosmos-docker)
|
91
|
+
|
87
92
|
## Contributing
|
88
93
|
|
89
94
|
We encourage you to contribute to COSMOS!
|
@@ -100,6 +105,10 @@ Before any contributions can be incorporated we do require all contributors to s
|
|
100
105
|
|
101
106
|
This protects both you and us and you retain full rights to any code you write.
|
102
107
|
|
108
|
+
## Vulnerability Disclosure
|
109
|
+
|
110
|
+
If you discover a security vulnerability in COSMOS, please do not disclose to any public forum or our Github tickets system. Please email the vulnerability details to COSMOS@ball.com, and give us 90 days to incorporate any needed changes. Also please also let us know how how you would like to be reffered to for attribution when we post the fix. Thanks!
|
111
|
+
|
103
112
|
## Code Status
|
104
113
|
|
105
114
|
* [![Travis Build Status](https://travis-ci.org/BallAerospace/COSMOS.svg?branch=master)](https://travis-ci.org/BallAerospace/COSMOS)
|
data/Rakefile
CHANGED
@@ -10,6 +10,20 @@
|
|
10
10
|
|
11
11
|
require 'open3'
|
12
12
|
|
13
|
+
# Cross-platform way of finding an executable in the $PATH.
|
14
|
+
#
|
15
|
+
# which('ruby') #=> /usr/bin/ruby
|
16
|
+
def which(cmd)
|
17
|
+
exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
|
18
|
+
ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
|
19
|
+
exts.each { |ext|
|
20
|
+
exe = File.join(path, "#{cmd}#{ext}")
|
21
|
+
return exe if File.executable?(exe) && !File.directory?(exe)
|
22
|
+
}
|
23
|
+
end
|
24
|
+
return nil
|
25
|
+
end
|
26
|
+
|
13
27
|
# Pure Ruby CRC class to avoid circular dependency with c_cosmos
|
14
28
|
class RakeCrc32
|
15
29
|
attr_reader :crc32_poly
|
@@ -155,8 +169,8 @@ task :build => [:devkit] do
|
|
155
169
|
end
|
156
170
|
end
|
157
171
|
|
158
|
-
task :
|
159
|
-
system('git checkout
|
172
|
+
task :git_checkout do
|
173
|
+
system('git checkout cosmos4')
|
160
174
|
end
|
161
175
|
|
162
176
|
task :install_crc do
|
@@ -178,7 +192,7 @@ task :gem => [:require_version] do
|
|
178
192
|
system('gem build cosmos.gemspec')
|
179
193
|
end
|
180
194
|
|
181
|
-
task :commit_release_ticket => [:require_version, :
|
195
|
+
task :commit_release_ticket => [:require_version, :git_checkout] do
|
182
196
|
system('git add data/crc.txt')
|
183
197
|
system('git add demo/config/data/crc.txt')
|
184
198
|
system('git add install/config/data/crc.txt')
|
@@ -219,7 +233,7 @@ task :version => [:require_version] do
|
|
219
233
|
# Create the crc.txt file
|
220
234
|
crc = RakeCrc32.new
|
221
235
|
File.open("data/crc.txt",'w') do |file|
|
222
|
-
Dir[File.join('lib','**','*.rb')].each do |filename|
|
236
|
+
Dir[File.join('lib','**','*.rb')].sort.each do |filename|
|
223
237
|
file_data = File.open(filename, 'rb').read.gsub("\x0D\x0A", "\x0A")
|
224
238
|
file.puts "\"#{filename}\" #{sprintf("0x%08X", crc.calc(file_data))}"
|
225
239
|
end
|
@@ -283,5 +297,41 @@ if RUBY_ENGINE == 'ruby'
|
|
283
297
|
end
|
284
298
|
end
|
285
299
|
|
286
|
-
task :release => [:require_version, :
|
300
|
+
task :release => [:require_version, :git_checkout, :build, :spec, :manifest, :version, :install_crc, :gem]
|
287
301
|
task :commit_release => [:commit_release_ticket, :tag_release]
|
302
|
+
|
303
|
+
task :docker_build do
|
304
|
+
_, platform, *_ = RUBY_PLATFORM.split("-")
|
305
|
+
if (platform == 'mswin32' or platform == 'mingw32') and which('winpty')
|
306
|
+
system('winpty docker build --tag cosmos-dev .')
|
307
|
+
else
|
308
|
+
system('docker build --tag cosmos-dev .')
|
309
|
+
end
|
310
|
+
end
|
311
|
+
|
312
|
+
task :docker_run do
|
313
|
+
STDOUT.puts "Note, this is not automated on purpose to ensure each step is successful (with user entry of credentials for github/rubygems.org)"
|
314
|
+
STDOUT.puts "Steps to perform a COSMOS release:"
|
315
|
+
STDOUT.puts "1a. git config --global user.name \"Last, First\""
|
316
|
+
STDOUT.puts "1b. git config --global user.email \"me@ball.com\""
|
317
|
+
STDOUT.puts "1c. Ensure Ruby 2.5 is in your path"
|
318
|
+
STDOUT.puts "2. git checkout cosmos4"
|
319
|
+
STDOUT.puts "3. git pull"
|
320
|
+
STDOUT.puts "4. export VERSION=X.X.X"
|
321
|
+
STDOUT.puts "5. rake release"
|
322
|
+
STDOUT.puts "6. rake commit_release"
|
323
|
+
STDOUT.puts "7. export PATH=/opt/jruby/bin:$PATH"
|
324
|
+
STDOUT.puts "8. rake gem"
|
325
|
+
STDOUT.puts "9. /usr/bin/gem push cosmos-X.X.X.gem"
|
326
|
+
STDOUT.puts "10. /usr/bin/gem push cosmos-X.X.X-java.gem"
|
327
|
+
STDOUT.puts "11. cd /devel/cosmos-docker"
|
328
|
+
STDOUT.puts "12. git pull"
|
329
|
+
STDOUT.puts "13. Update COSMOS_VERSION in all Dockerfiles. Also update README.md"
|
330
|
+
STDOUT.puts "14. git commit -a -m \"Release COSMOS vX.X.X\""
|
331
|
+
STDOUT.puts "15. git push"
|
332
|
+
STDOUT.puts "16. git checkout -b vX.X.X"
|
333
|
+
STDOUT.puts "17. git push --set-upstream origin vX.X.X"
|
334
|
+
STDOUT.puts "18. Update release notes on github.com and cosmosrb.com"
|
335
|
+
|
336
|
+
system('docker run -it --rm cosmos-dev')
|
337
|
+
end
|
data/appveyor.yml
CHANGED
@@ -1,19 +1,29 @@
|
|
1
|
+
environment:
|
2
|
+
matrix:
|
3
|
+
- ruby_version: 24-x64
|
4
|
+
- ruby_version: 25-x64
|
5
|
+
#- ruby_version: 26-x64 this needs qtbindings support
|
6
|
+
|
7
|
+
cache:
|
8
|
+
# If one of the files after the right arrow changes, cache will be invalidated
|
9
|
+
- vendor\bundle -> appveyor.yml, Gemfile, cosmos.gemspec
|
10
|
+
|
1
11
|
install:
|
2
12
|
- SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
|
3
13
|
- SET PATH=C:\MinGW\bin;%PATH%
|
4
14
|
- SET RAKEOPT=-rdevkit
|
5
|
-
-
|
6
|
-
- gem --version
|
15
|
+
- bundle config --local path vendor/bundle
|
7
16
|
- bundle install
|
8
|
-
- bundle exec rake build spec
|
9
17
|
|
10
18
|
build: off
|
11
19
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
20
|
+
before_test:
|
21
|
+
- ruby -v
|
22
|
+
- gem -v
|
23
|
+
- bundle -v
|
24
|
+
|
25
|
+
test_script:
|
26
|
+
- bundle exec rake build spec
|
17
27
|
|
18
28
|
branches:
|
19
29
|
only:
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# encoding: ascii-8bit
|
2
|
+
|
3
|
+
# Copyright 2014 Ball Aerospace & Technologies Corp.
|
4
|
+
# All Rights Reserved.
|
5
|
+
#
|
6
|
+
# This program is free software; you can modify and/or redistribute it
|
7
|
+
# under the terms of the GNU General Public License
|
8
|
+
# as published by the Free Software Foundation; version 3 with
|
9
|
+
# attribution addendums as found in the LICENSE.txt
|
10
|
+
|
11
|
+
require 'cosmos'
|
12
|
+
require 'cosmos/ccsds/ccsds_packet'
|
13
|
+
|
14
|
+
module Cosmos
|
15
|
+
class CmdSequenceExporter
|
16
|
+
def initialize(parent)
|
17
|
+
@parent = parent
|
18
|
+
end
|
19
|
+
|
20
|
+
def export(filename, sequence_dir, sequence_list)
|
21
|
+
basename = File.basename(filename, ".*")
|
22
|
+
filename = Qt::FileDialog::getSaveFileName(@parent, # parent
|
23
|
+
'Export', # caption
|
24
|
+
sequence_dir + "/#{basename}.bin", # dir
|
25
|
+
'Sequence Binary (*.bin)') # filter
|
26
|
+
return if filename.nil? || filename.empty?
|
27
|
+
|
28
|
+
data = ''
|
29
|
+
sequence_list.each do |item|
|
30
|
+
begin
|
31
|
+
time = Time.parse(item.time)
|
32
|
+
day, ms, us = Time.mdy2ccsds(time.year, time.month, time.day, time.hour, time.min, time.sec, time.usec)
|
33
|
+
data << [day].pack("N") # UINT32
|
34
|
+
data << [ms].pack("N") # UINT32
|
35
|
+
rescue
|
36
|
+
time = item.time.to_f * 1000
|
37
|
+
data << [0].pack("N") # UINT32
|
38
|
+
data << [time].pack("N") # UINT32
|
39
|
+
end
|
40
|
+
data << item.command.buffer
|
41
|
+
end
|
42
|
+
ccsds = CcsdsPacket.new
|
43
|
+
ccsds.write("CCSDSTYPE", CcsdsPacket::COMMAND)
|
44
|
+
ccsds.write('CCSDSSHF', 0)
|
45
|
+
ccsds.write("CCSDSAPID", 505)
|
46
|
+
ccsds.write("CCSDSSEQFLAGS", CcsdsPacket::STANDALONE)
|
47
|
+
ccsds.write("CCSDSDATA", data)
|
48
|
+
ccsds.write("CCSDSLENGTH", data.length - 1)
|
49
|
+
File.open(filename, 'wb') { |file| file.write ccsds.buffer }
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: ascii-8bit
|
3
|
+
|
4
|
+
# Copyright 2014 Ball Aerospace & Technologies Corp.
|
5
|
+
# All Rights Reserved.
|
6
|
+
#
|
7
|
+
# This program is free software; you can modify and/or redistribute it
|
8
|
+
# under the terms of the GNU General Public License
|
9
|
+
# as published by the Free Software Foundation; version 3 with
|
10
|
+
# attribution addendums as found in the LICENSE.txt
|
11
|
+
|
12
|
+
require_relative 'autohotkey.rb'
|
13
|
+
autohotkey('CmdSender2', 'cmd_sender2.ahk') do
|
14
|
+
require 'cosmos/tools/cmd_sender/cmd_sender'
|
15
|
+
require 'cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui'
|
16
|
+
Cosmos::CmdSender.run
|
17
|
+
end
|
18
|
+
|
@@ -4,27 +4,28 @@ Sleep 500
|
|
4
4
|
Send ^r ; Mode->Include Raw Data CE-3
|
5
5
|
Sleep 500
|
6
6
|
Click 500 95 ; Browse
|
7
|
-
|
7
|
+
WinWaitActive Select
|
8
8
|
Send cmd.bin{Enter}
|
9
9
|
WinWaitActive Command Extractor
|
10
|
-
Click 200 446 ; Process
|
10
|
+
Click 200 446 ; Process Data
|
11
11
|
WinWaitActive Warning
|
12
12
|
Sleep 500
|
13
|
-
Send {Enter}
|
13
|
+
Send {Enter}
|
14
14
|
WinWaitActive Log File
|
15
|
+
Sleep 500
|
15
16
|
Click 450 305 ; Cancel
|
16
17
|
WinWaitActive Command Extractor
|
17
18
|
sleep 500
|
18
|
-
Click 200 446 ; Process
|
19
|
+
Click 200 446 ; Process Data
|
19
20
|
WinWaitActive Warning
|
20
21
|
Sleep 500
|
21
|
-
Send {Enter} ;
|
22
|
+
Send {Enter} ; Overwrite
|
22
23
|
Sleep 500
|
23
|
-
Send {Enter} ;
|
24
|
+
Send {Enter} ; Warning Ok
|
24
25
|
Sleep 5000 ; Allow the file to be processed CE-1
|
25
26
|
Send {Enter}
|
26
27
|
WinWaitActive Command Extractor
|
27
|
-
Click
|
28
|
+
Click 315 446 ; Open in Text Editor CE-2
|
28
29
|
Sleep 5000
|
29
30
|
Send !f{x} ; Exit text editor
|
30
31
|
WinActivate Command Extractor
|
@@ -32,14 +33,15 @@ WinWaitActive Command Extractor
|
|
32
33
|
Send !f{a} ; Analyze logs
|
33
34
|
WinWaitActive Warning
|
34
35
|
Sleep 500
|
35
|
-
Send {Enter}
|
36
|
+
Send {Enter}
|
36
37
|
WinWaitActive Log File
|
38
|
+
Sleep 500
|
37
39
|
Click 450 305 ; Cancel
|
38
40
|
WinWaitActive Command Extractor
|
39
41
|
Send !f{a} ; Analyze logs
|
40
42
|
WinWaitActive Warning
|
41
43
|
Sleep 500
|
42
|
-
Send {Enter}
|
44
|
+
Send {Enter}
|
43
45
|
WinWaitActive Log File
|
44
46
|
Sleep 2000
|
45
47
|
Send {Enter} ; Done
|
@@ -1,8 +1,21 @@
|
|
1
1
|
SetWinDelay 1000
|
2
2
|
WinWaitActive Command Sender
|
3
3
|
Sleep 500
|
4
|
+
Click 85 100 ; Target dropdown
|
5
|
+
Sleep 500
|
6
|
+
Click 75 128 ; INST2
|
7
|
+
Sleep 500
|
8
|
+
Click 365 100 ; Command dropdown
|
9
|
+
Sleep 500
|
10
|
+
Click 365 140 ; ASCIICMD
|
11
|
+
Sleep 500
|
12
|
+
Click 600 100 ; Send
|
13
|
+
WinWaitActive Error ; Error connecting to CTS
|
14
|
+
Sleep 1000
|
15
|
+
Send {Enter}
|
16
|
+
WinWaitActive Command Sender
|
4
17
|
Run ruby.exe %A_ScriptDir%/CmdTlmServer
|
5
|
-
Sleep
|
18
|
+
Sleep 10000
|
6
19
|
WinActivate Command Sender
|
7
20
|
Sleep 500
|
8
21
|
Click 60 600 ; Click in the Command History
|
@@ -34,6 +47,8 @@ WinWaitActive Command Sender
|
|
34
47
|
Sleep 500
|
35
48
|
Click 85 100 ; Target dropdown CMD-1
|
36
49
|
Sleep 500
|
50
|
+
Click 85 115 ; INST
|
51
|
+
Sleep 500
|
37
52
|
Click 610 100 ; Send CMD-2
|
38
53
|
Sleep 500
|
39
54
|
Click 365 100 ; Command dropdown CMD-1
|
@@ -45,6 +60,7 @@ Sleep 500
|
|
45
60
|
WinWaitActive Error
|
46
61
|
Sleep 500
|
47
62
|
Send {Enter}
|
63
|
+
WinWaitActive Command Sender
|
48
64
|
Click 240 210 ; Click in the TYPE parameter CMD-5
|
49
65
|
Sleep 500
|
50
66
|
Send 5{Enter}
|
@@ -135,15 +151,27 @@ Click 215 475 ; Select File
|
|
135
151
|
WinWaitActive Insert
|
136
152
|
Sleep 500
|
137
153
|
Send cmd.bin{Enter}
|
138
|
-
WinWaitActive Command Sender
|
139
|
-
Sleep 500
|
140
|
-
Click 85 100 ; Target dropdown
|
141
154
|
Sleep 500
|
142
|
-
|
155
|
+
WinActivate Command Sender
|
143
156
|
Sleep 500
|
144
|
-
Click
|
157
|
+
Click 70 70 ; Search box
|
158
|
+
Send I
|
159
|
+
Sleep 100
|
160
|
+
Send N
|
161
|
+
Sleep 100
|
162
|
+
Send S
|
163
|
+
Sleep 100
|
164
|
+
Send T
|
165
|
+
Sleep 100
|
166
|
+
Send 2
|
167
|
+
Sleep 100
|
168
|
+
Send {Space}
|
169
|
+
Sleep 100
|
170
|
+
Send C
|
171
|
+
Sleep 100
|
172
|
+
Send O
|
145
173
|
Sleep 500
|
146
|
-
|
174
|
+
Send {Enter}
|
147
175
|
Sleep 500
|
148
176
|
Click 180 390 ; Click on Type
|
149
177
|
Sleep 500
|