cosmos 4.4.0-java → 4.4.1-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.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +2 -0
  3. data/.gitignore +1 -0
  4. data/.travis.yml +6 -6
  5. data/Dockerfile +65 -0
  6. data/Manifest.txt +12 -2
  7. data/README.md +5 -0
  8. data/Rakefile +52 -0
  9. data/appveyor.yml +18 -8
  10. data/autohotkey/config/tools/cmd_sequence/cmd_sequence.txt +2 -0
  11. data/autohotkey/lib/cmd_sequence_exporter.rb +52 -0
  12. data/autohotkey/procedures/collect.rb +2 -2
  13. data/autohotkey/procedures/collect_util.rb +1 -1
  14. data/autohotkey/procedures/script_test.rb +1 -1
  15. data/autohotkey/tools/CmdSenderAHK2 +18 -0
  16. data/autohotkey/tools/cmd_sender.ahk +34 -6
  17. data/autohotkey/tools/cmd_sender2.ahk +4 -0
  18. data/autohotkey/tools/cmd_sequence.ahk +21 -8
  19. data/autohotkey/tools/config_editor.ahk +4 -4
  20. data/bin/cstol_converter +1 -1
  21. data/cosmos.gemspec +1 -1
  22. data/data/config/command_modifiers.yaml +16 -1
  23. data/data/config/param_item_modifiers.yaml +5 -0
  24. data/data/config/system.yaml +31 -1
  25. data/data/config/telemetry_modifiers.yaml +16 -1
  26. data/data/crc.txt +415 -410
  27. data/demo/config/dart/Gemfile +1 -6
  28. data/demo/config/data/crc.txt +244 -243
  29. data/demo/config/system/system.txt +3 -0
  30. data/demo/config/system/system2.txt +3 -0
  31. data/demo/config/system/system_alt_ports.txt +3 -0
  32. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +3 -3
  33. data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +4 -0
  34. data/demo/config/targets/INST/cmd_tlm/inst_tlm_override.txt +12 -0
  35. data/demo/config/targets/INST/lib/sim_inst.rb +2 -2
  36. data/demo/config/targets/INST/target.txt +1 -0
  37. data/demo/procedures/cosmos_api_test.rb +8 -8
  38. data/install/config/dart/Gemfile +2 -7
  39. data/install/config/data/crc.txt +143 -143
  40. data/install/config/system/system.txt +3 -0
  41. data/lib/cosmos/dart/config/boot.rb +1 -1
  42. data/lib/cosmos/dart/config/database.yml +2 -0
  43. data/lib/cosmos/dart/lib/dart_common.rb +11 -4
  44. data/lib/cosmos/dart/lib/dart_constants.rb +15 -0
  45. data/lib/cosmos/dart/lib/dart_decom_query.rb +5 -6
  46. data/lib/cosmos/dart/lib/dart_decommutator.rb +66 -56
  47. data/lib/cosmos/dart/lib/dart_master_query.rb +71 -0
  48. data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +165 -134
  49. data/lib/cosmos/dart/processes/dart.rb +4 -2
  50. data/lib/cosmos/dart/processes/dart_decom_server.rb +2 -2
  51. data/lib/cosmos/dart/processes/dart_ingester.rb +38 -1
  52. data/lib/cosmos/dart/processes/dart_master.rb +44 -0
  53. data/lib/cosmos/dart/processes/dart_util.rb +115 -0
  54. data/lib/cosmos/gui/widgets/dart_meta_frame.rb +21 -2
  55. data/lib/cosmos/interfaces/protocols/length_protocol.rb +5 -0
  56. data/lib/cosmos/io/json_drb.rb +3 -3
  57. data/lib/cosmos/io/posix_serial_driver.rb +1 -1
  58. data/lib/cosmos/io/win32_serial_driver.rb +23 -2
  59. data/lib/cosmos/packet_logs/packet_log_reader.rb +2 -2
  60. data/lib/cosmos/packets/packet.rb +1 -1
  61. data/lib/cosmos/packets/packet_config.rb +26 -8
  62. data/lib/cosmos/packets/structure.rb +17 -0
  63. data/lib/cosmos/packets/structure_item.rb +5 -1
  64. data/lib/cosmos/packets/telemetry.rb +7 -1
  65. data/lib/cosmos/system/system.rb +115 -48
  66. data/lib/cosmos/tools/cmd_sender/cmd_params.rb +360 -0
  67. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +23 -319
  68. data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +14 -17
  69. data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +43 -331
  70. data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +16 -11
  71. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +1 -0
  72. data/lib/cosmos/tools/config_editor/config_editor.rb +33 -2
  73. data/lib/cosmos/tools/config_editor/config_editor_frame.rb +8 -9
  74. data/lib/cosmos/tools/config_editor/system_config_dialog.rb +158 -0
  75. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +2 -2
  76. data/lib/cosmos/tools/test_runner/test.rb +5 -2
  77. data/lib/cosmos/tools/test_runner/test_runner.rb +2 -2
  78. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +17 -13
  79. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +20 -16
  80. data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +18 -11
  81. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +16 -5
  82. data/lib/cosmos/utilities/ruby_lex_utils.rb +34 -30
  83. data/lib/cosmos/version.rb +4 -4
  84. data/lib/cosmos/win32/excel.rb +23 -17
  85. data/run_gui_tests.bat +1 -0
  86. data/spec/core_ext/socket_spec.rb +1 -1
  87. data/spec/install/yaml_docs_spec.rb +26 -6
  88. data/spec/interfaces/protocols/length_protocol_spec.rb +39 -0
  89. data/spec/io/json_drb_spec.rb +14 -0
  90. data/spec/io/win32_serial_driver_spec.rb +16 -2
  91. data/spec/packet_logs/packet_log_reader_spec.rb +2 -2
  92. data/spec/packets/structure_spec.rb +52 -2
  93. data/spec/packets/telemetry_spec.rb +29 -1
  94. data/spec/system/system_spec.rb +2 -2
  95. data/spec/utilities/message_log_spec.rb +6 -3
  96. data/tasks/gemfile_stats.rake +22 -13
  97. metadata +15 -5
  98. data/lib/cosmos/dart/Gemfile +0 -69
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b6b67462fe5d2b3f6eb7c9a3274dfcd08c7f2cde083a05390010ffc4fdf7b78
4
- data.tar.gz: '0959728bb80187317af3bbe2f4a2d1c0635e896c4076c4e7cdb446573b95953b'
3
+ metadata.gz: 36e34fbd844de84ca2b8b051fa32cdb3d4a378b8042aeb968951af68e74a79da
4
+ data.tar.gz: c00194480b4dac9e5cc1c7c519f1f5b0f5ae343503735207ab22da09dcf6d18a
5
5
  SHA512:
6
- metadata.gz: a358b62b2ad2f7b462c3033dcc82693d400827426c667afbbc6481297f80d1fa4744c602033f9524d69f2690f99d7eaf33dd7f4aef0dbc3f11d1e1675ab70c60
7
- data.tar.gz: c9492e2492da880849faff13998d05fafd1200bf71394d01072ddb41d41940c98703470b88f76e10d369f65741c15ccedbdd44f3e215f1b67267cf84989a9e9f
6
+ metadata.gz: 948f3c0738765b8c62057871449b56f05490bc66a5dd31e78fa8d5bf57d0b4bdd5c90b895d5eee5e4a3f345ddfaf2396838ac882599d949e030ae448ff626be7
7
+ data.tar.gz: c326e41b536132fb332a888b2e63157f1e75c4f0aeb29143525183ccb0456c2653a8c457acbbcc0ffba45b3aebbd5bb5d434aae83e35fe4b5ad1114f46715149
@@ -0,0 +1,2 @@
1
+ demo/outputs/**
2
+ install/outputs/**
data/.gitignore CHANGED
@@ -7,6 +7,7 @@ Gemfile.lock
7
7
  .yardoc
8
8
  .DS_Store
9
9
  desktop.ini
10
+ cert.pem
10
11
  install/outputs
11
12
  demo/outputs
12
13
  autohotkey/outputs
@@ -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.5.0
9
- - 2.6.3
10
- - 2.5.5
11
- - 2.4.6
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
@@ -0,0 +1,65 @@
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
+ # Download and setup COSMOS devel area
53
+ RUN gem install bundler --no-document
54
+ RUN cd /devel \
55
+ && git clone https://github.com/BallAerospace/COSMOS.git \
56
+ && cd /devel/COSMOS \
57
+ && bundle install
58
+
59
+ # Download COSMOS docker files to support docker release
60
+ RUN cd /devel \
61
+ && git clone https://github.com/BallAerospace/cosmos-docker.git
62
+
63
+ ENV COSMOS_DEVEL /devel/COSMOS
64
+ WORKDIR /devel/COSMOS
65
+ CMD bash
@@ -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
@@ -917,7 +923,6 @@ lib/cosmos/core_ext/string.rb
917
923
  lib/cosmos/core_ext/stringio.rb
918
924
  lib/cosmos/core_ext/time.rb
919
925
  lib/cosmos/dart/.rspec
920
- lib/cosmos/dart/Gemfile
921
926
  lib/cosmos/dart/Rakefile
922
927
  lib/cosmos/dart/app/assets/config/manifest.js
923
928
  lib/cosmos/dart/app/assets/images/.keep
@@ -1004,11 +1009,13 @@ lib/cosmos/dart/db/seeds.rb
1004
1009
  lib/cosmos/dart/examples/dart_decom_client.rb
1005
1010
  lib/cosmos/dart/examples/dart_stream_client.rb
1006
1011
  lib/cosmos/dart/lib/dart_common.rb
1012
+ lib/cosmos/dart/lib/dart_constants.rb
1007
1013
  lib/cosmos/dart/lib/dart_database_cleaner.rb
1008
1014
  lib/cosmos/dart/lib/dart_decom_query.rb
1009
1015
  lib/cosmos/dart/lib/dart_decommutator.rb
1010
1016
  lib/cosmos/dart/lib/dart_importer.rb
1011
1017
  lib/cosmos/dart/lib/dart_logging.rb
1018
+ lib/cosmos/dart/lib/dart_master_query.rb
1012
1019
  lib/cosmos/dart/lib/dart_packet_log_writer.rb
1013
1020
  lib/cosmos/dart/lib/dart_reducer_manager.rb
1014
1021
  lib/cosmos/dart/lib/dart_reducer_worker_thread.rb
@@ -1017,6 +1024,7 @@ lib/cosmos/dart/processes/dart.rb
1017
1024
  lib/cosmos/dart/processes/dart_decom_server.rb
1018
1025
  lib/cosmos/dart/processes/dart_import.rb
1019
1026
  lib/cosmos/dart/processes/dart_ingester.rb
1027
+ lib/cosmos/dart/processes/dart_master.rb
1020
1028
  lib/cosmos/dart/processes/dart_reducer.rb
1021
1029
  lib/cosmos/dart/processes/dart_stream_server.rb
1022
1030
  lib/cosmos/dart/processes/dart_util.rb
@@ -1184,6 +1192,7 @@ lib/cosmos/system/system.rb
1184
1192
  lib/cosmos/system/target.rb
1185
1193
  lib/cosmos/tools/cmd_extractor/cmd_extractor.rb
1186
1194
  lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb
1195
+ lib/cosmos/tools/cmd_sender/cmd_params.rb
1187
1196
  lib/cosmos/tools/cmd_sender/cmd_sender.rb
1188
1197
  lib/cosmos/tools/cmd_sender/cmd_sender_text_edit.rb
1189
1198
  lib/cosmos/tools/cmd_sequence/cmd_sequence.rb
@@ -1212,6 +1221,7 @@ lib/cosmos/tools/cmd_tlm_server/router_thread.rb
1212
1221
  lib/cosmos/tools/cmd_tlm_server/routers.rb
1213
1222
  lib/cosmos/tools/config_editor/config_editor.rb
1214
1223
  lib/cosmos/tools/config_editor/config_editor_frame.rb
1224
+ lib/cosmos/tools/config_editor/system_config_dialog.rb
1215
1225
  lib/cosmos/tools/data_viewer/data_viewer.rb
1216
1226
  lib/cosmos/tools/data_viewer/data_viewer_component.rb
1217
1227
  lib/cosmos/tools/data_viewer/dump_component.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!
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
@@ -285,3 +299,41 @@ end
285
299
 
286
300
  task :release => [:require_version, :git_checkout_master, :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 "1. git config --global user.name \"First Last\""
316
+ STDOUT.puts "2. git config --global user.email \"me@ball.com\""
317
+ STDOUT.puts "3. git pull"
318
+ STDOUT.puts "4. export VERSION=X.X.X"
319
+ STDOUT.puts "5. rake release"
320
+ STDOUT.puts "6. rake commit_release"
321
+ STDOUT.puts "7. export PATH=/opt/jruby/bin:$PATH"
322
+ STDOUT.puts "8. rake gem"
323
+ STDOUT.puts "9. gem push cosmos-X.X.X.gem"
324
+ STDOUT.puts "10. gem push cosmos-X.X.X-java.gem"
325
+ STDOUT.puts "11. cd /devel/cosmos-docker"
326
+ STDOUT.puts "12. Update COSMOS_VERSION in all Dockerfiles"
327
+ STDOUT.puts "13. git commit -a -m \"Release COSMOS vX.X.X\""
328
+ STDOUT.puts "14. git push"
329
+ STDOUT.puts "15. git checkout -b vX.X.X"
330
+ STDOUT.puts "16. git push --set-upstream origin vX.X.X"
331
+ STDOUT.puts "17. Update release notes on github.com and cosmosrb.com"
332
+
333
+ _, platform, *_ = RUBY_PLATFORM.split("-")
334
+ if (platform == 'mswin32' or platform == 'mingw32') and which('winpty')
335
+ system('winpty docker run -it --rm cosmos-dev')
336
+ else
337
+ system('docker run -it --rm cosmos-dev')
338
+ end
339
+ end
@@ -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
- - ruby --version
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
- environment:
13
- matrix:
14
- - ruby_version: "24-x64"
15
- - ruby_version: "25-x64"
16
- # - ruby_version: "26-x64" Ruby 2.6 not yet supported on 1/15/2019
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,2 @@
1
+ # Declare a custom export class
2
+ EXPORTER cmd_sequence_exporter.rb
@@ -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
@@ -1,5 +1,5 @@
1
- require_utility 'collect_util.rb'
2
- require_utility 'clear_util.rb'
1
+ load_utility 'collect_util.rb'
2
+ load_utility 'clear_util.rb'
3
3
 
4
4
  number = ask("Enter a number.")
5
5
  raise "Bad return" unless number.is_a? Numeric
@@ -1,4 +1,4 @@
1
- require_utility 'clear_util.rb'
1
+ load_utility 'clear_util.rb'
2
2
 
3
3
  def collect (type, duration, call_clear = false)
4
4
  # Get the current collects telemetry point
@@ -1,4 +1,4 @@
1
- require_utility 'clear_util'
1
+ load_utility 'clear_util'
2
2
 
3
3
  display("INST ADCS")
4
4
  wait 2
@@ -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
+
@@ -1,6 +1,19 @@
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
18
  Sleep 4000
6
19
  WinActivate Command Sender
@@ -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
- Click 75 128 ; INST2
155
+ WinActivate Command Sender
143
156
  Sleep 500
144
- Click 365 100 ; Command dropdown
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
- Click 365 165 ; Collect command
174
+ Send {Enter}
147
175
  Sleep 500
148
176
  Click 180 390 ; Click on Type
149
177
  Sleep 500