cosmos 4.5.0 → 4.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +2 -1
  3. data/Rakefile +10 -8
  4. data/autohotkey/tools/cmd_extractor.ahk +11 -9
  5. data/autohotkey/tools/cmd_sender.ahk +1 -1
  6. data/autohotkey/tools/cmd_sequence.ahk +1 -1
  7. data/autohotkey/tools/data_viewer.ahk +1 -1
  8. data/autohotkey/tools/limits_monitor.ahk +1 -1
  9. data/autohotkey/tools/packet_viewer.ahk +1 -1
  10. data/autohotkey/tools/script_runner.ahk +1 -1
  11. data/autohotkey/tools/test_runner2.ahk +1 -1
  12. data/autohotkey/tools/tlm_grapher.ahk +1 -1
  13. data/autohotkey/tools/tlm_grapher3.ahk +1 -1
  14. data/autohotkey/tools/tlm_viewer.ahk +1 -1
  15. data/autohotkey/tools/tlm_viewer2.ahk +1 -1
  16. data/autohotkey/tools/tlm_viewer5.ahk +1 -1
  17. data/bin/xtce_converter +1 -1
  18. data/data/crc.txt +403 -403
  19. data/demo/Rakefile +4 -4
  20. data/demo/config/data/crc.txt +210 -210
  21. data/ext/cosmos/ext/buffered_file/buffered_file.c +2 -2
  22. data/ext/cosmos/ext/config_parser/config_parser.c +1 -2
  23. data/ext/cosmos/ext/line_graph/line_graph.c +53 -94
  24. data/ext/cosmos/ext/platform/platform.c +56 -21
  25. data/ext/cosmos/ext/polynomial_conversion/polynomial_conversion.c +4 -8
  26. data/ext/cosmos/ext/structure/structure.c +12 -0
  27. data/install/Rakefile +4 -4
  28. data/install/config/data/crc.txt +129 -129
  29. data/lib/cosmos/config/config_parser.rb +2 -10
  30. data/lib/cosmos/core_ext/class.rb +10 -0
  31. data/lib/cosmos/core_ext/time.rb +2 -2
  32. data/lib/cosmos/dart/lib/dart_common.rb +3 -3
  33. data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +2 -2
  34. data/lib/cosmos/gui/qt.rb +10 -10
  35. data/lib/cosmos/gui/qt_tool.rb +7 -0
  36. data/lib/cosmos/gui/text/completion_text_edit.rb +2 -0
  37. data/lib/cosmos/interfaces/tcpip_server_interface.rb +3 -3
  38. data/lib/cosmos/io/io_multiplexer.rb +6 -2
  39. data/lib/cosmos/io/json_drb.rb +1 -1
  40. data/lib/cosmos/packets/packet.rb +8 -8
  41. data/lib/cosmos/packets/packet_config.rb +1 -1
  42. data/lib/cosmos/packets/parsers/xtce_converter.rb +10 -10
  43. data/lib/cosmos/packets/parsers/xtce_parser.rb +3 -0
  44. data/lib/cosmos/packets/structure.rb +16 -12
  45. data/lib/cosmos/script/api_shared.rb +10 -0
  46. data/lib/cosmos/script/script.rb +2 -2
  47. data/lib/cosmos/tools/cmd_tlm_server/api.rb +10 -8
  48. data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +1 -1
  49. data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +29 -26
  50. data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +1 -1
  51. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +5 -2
  52. data/lib/cosmos/tools/test_runner/test.rb +1 -1
  53. data/lib/cosmos/tools/test_runner/test_runner.rb +4 -4
  54. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +3 -3
  55. data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +2 -0
  56. data/lib/cosmos/top_level.rb +1 -1
  57. data/lib/cosmos/utilities/simulated_target.rb +1 -1
  58. data/lib/cosmos/version.rb +4 -4
  59. data/spec/core_ext/class_spec.rb +54 -0
  60. data/spec/interfaces/serial_interface_spec.rb +1 -5
  61. data/spec/packet_logs/packet_log_reader_spec.rb +1 -1
  62. data/spec/system/system_spec.rb +1 -1
  63. data/spec/tools/cmd_tlm_server/api_spec.rb +12 -12
  64. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +2 -2
  65. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +4 -3
  66. data/spec/utilities/logger_spec.rb +3 -3
  67. data/test/performance/Rakefile +4 -4
  68. data/test/performance/config/data/crc.txt +67 -48
  69. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59047da4090004297591f443b9e77596f9bf961be49624ff2f8f164a0866f723
4
- data.tar.gz: e3b59eaff1ed3381bf9b6befaf6651073cd95fc2f7ebf62a119a8680503ae065
3
+ metadata.gz: c7429d28f8f97293a9c8f9779cd11b32c484b5611880bedd58f2cde82b348cd2
4
+ data.tar.gz: f64ef30f269a8c7d79d2dbd85c995e8eae63903d9eb534408c593e8def86cdcd
5
5
  SHA512:
6
- metadata.gz: e03e1726b97758e8e86702832f4838fd700daad9e3248832eb8583b1307d6746d4e5223e56549b93455dbab1da82b5534b48767744124ad4833eb785c4a78220
7
- data.tar.gz: 40c5ae08da8b346230612f3ccfb2d0c23d40c93ab9188e4c9d27a152c2c36c52ed1f051bce9443f4ab817aa5c8a705473f7aa85732c9f72da4b1a0e30ff4810d
6
+ metadata.gz: 7e7c12fac22a5a5e68f0d5cefeeab1327592d727a31e799001516f35000bc066e7ae7723417345c1578978e64a4a4e8d06a564035241a8a6ac4af2cf3ad73bad
7
+ data.tar.gz: ca43d50aac04edd22d03bc3a44c15c66911374a1cfe40a8ad08e2c91a9fe6c9b3192760d423df0197fc38137a7cf896462e73623163c1dba29a61368c2e0e8ca
data/Dockerfile CHANGED
@@ -55,6 +55,7 @@ ARG COSMOS_REPO=https://github.com/BallAerospace/COSMOS.git
55
55
  RUN gem install bundler --no-document
56
56
  RUN cd /devel \
57
57
  && git clone ${COSMOS_REPO} COSMOS \
58
+ && git checkout cosmos4 \
58
59
  && cd /devel/COSMOS \
59
60
  && bundle install
60
61
 
@@ -63,7 +64,7 @@ ARG COSMOS_DOCKER_REPO=https://github.com/BallAerospace/cosmos-docker.git
63
64
  # Download COSMOS docker files to support docker release
64
65
  RUN cd /devel \
65
66
  && git clone ${COSMOS_DOCKER_REPO}
66
-
67
+
67
68
  ENV COSMOS_DEVEL /devel/COSMOS
68
69
  WORKDIR /devel/COSMOS
69
70
  CMD bash
data/Rakefile CHANGED
@@ -169,8 +169,8 @@ task :build => [:devkit] do
169
169
  end
170
170
  end
171
171
 
172
- task :git_checkout_master do
173
- system('git checkout master')
172
+ task :git_checkout do
173
+ system('git checkout cosmos4')
174
174
  end
175
175
 
176
176
  task :install_crc do
@@ -192,7 +192,7 @@ task :gem => [:require_version] do
192
192
  system('gem build cosmos.gemspec')
193
193
  end
194
194
 
195
- task :commit_release_ticket => [:require_version, :git_checkout_master] do
195
+ task :commit_release_ticket => [:require_version, :git_checkout] do
196
196
  system('git add data/crc.txt')
197
197
  system('git add demo/config/data/crc.txt')
198
198
  system('git add install/config/data/crc.txt')
@@ -233,7 +233,7 @@ task :version => [:require_version] do
233
233
  # Create the crc.txt file
234
234
  crc = RakeCrc32.new
235
235
  File.open("data/crc.txt",'w') do |file|
236
- Dir[File.join('lib','**','*.rb')].each do |filename|
236
+ Dir[File.join('lib','**','*.rb')].sort.each do |filename|
237
237
  file_data = File.open(filename, 'rb').read.gsub("\x0D\x0A", "\x0A")
238
238
  file.puts "\"#{filename}\" #{sprintf("0x%08X", crc.calc(file_data))}"
239
239
  end
@@ -297,7 +297,7 @@ if RUBY_ENGINE == 'ruby'
297
297
  end
298
298
  end
299
299
 
300
- task :release => [:require_version, :git_checkout_master, :build, :spec, :manifest, :version, :install_crc, :gem]
300
+ task :release => [:require_version, :git_checkout, :build, :spec, :manifest, :version, :install_crc, :gem]
301
301
  task :commit_release => [:commit_release_ticket, :tag_release]
302
302
 
303
303
  task :docker_build do
@@ -312,8 +312,10 @@ end
312
312
  task :docker_run do
313
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
314
  STDOUT.puts "Steps to perform a COSMOS release:"
315
- STDOUT.puts "1. git config --global user.name \"Last, First\""
316
- STDOUT.puts "2. git config --global user.email \"me@ball.com\""
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"
317
319
  STDOUT.puts "3. git pull"
318
320
  STDOUT.puts "4. export VERSION=X.X.X"
319
321
  STDOUT.puts "5. rake release"
@@ -330,6 +332,6 @@ task :docker_run do
330
332
  STDOUT.puts "16. git checkout -b vX.X.X"
331
333
  STDOUT.puts "17. git push --set-upstream origin vX.X.X"
332
334
  STDOUT.puts "18. Update release notes on github.com and cosmosrb.com"
333
-
335
+
334
336
  system('docker run -it --rm cosmos-dev')
335
337
  end
@@ -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
- Sleep 1000
7
+ WinWaitActive Select
8
8
  Send cmd.bin{Enter}
9
9
  WinWaitActive Command Extractor
10
- Click 200 446 ; Process Files
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 Files
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} ; Overwrite Yes
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 460 446 ; Open in Text Editor CE-2
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
@@ -15,7 +15,7 @@ Sleep 1000
15
15
  Send {Enter}
16
16
  WinWaitActive Command Sender
17
17
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
18
- Sleep 4000
18
+ Sleep 10000
19
19
  WinActivate Command Sender
20
20
  Sleep 500
21
21
  Click 60 600 ; Click in the Command History
@@ -1,7 +1,7 @@
1
1
  SetWinDelay 1000
2
2
  WinWaitActive Command Sequence
3
3
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
4
- Sleep 4000
4
+ Sleep 10000
5
5
  WinActivate Command Sequence
6
6
 
7
7
  Send ^o ; Open
@@ -1,7 +1,7 @@
1
1
  WinWaitActive, Data Viewer ahk_class QWidget
2
2
  Sleep 500
3
3
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
4
- Sleep 4000
4
+ Sleep 10000
5
5
  WinActivate Data Viewer
6
6
  Sleep 500
7
7
  Send ^r ; Reset
@@ -2,7 +2,7 @@ SetWinDelay 1000
2
2
  WinWaitActive Limits Monitor
3
3
  Sleep 500
4
4
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
5
- Sleep 4000
5
+ Sleep 10000
6
6
  WinActivate Limits Monitor
7
7
  Sleep 3000
8
8
  Send !fp ; Options
@@ -3,7 +3,7 @@ SetTitleMatchMode 2 ; Contain the title anywhere to match
3
3
  WinWaitActive Packet Viewer
4
4
  Sleep 500
5
5
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
6
- Sleep 4000
6
+ Sleep 10000
7
7
  WinActivate Packet Viewer
8
8
  WinWaitActive Packet Viewer
9
9
  Sleep 500
@@ -538,7 +538,7 @@ Sleep 500
538
538
 
539
539
  ; Start the CmdTlmServer
540
540
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
541
- Sleep 4000
541
+ Sleep 10000
542
542
  WinActivate Script Runner
543
543
  Sleep 1000
544
544
 
@@ -1,7 +1,7 @@
1
1
  SetWinDelay 500
2
2
  ; Start the CmdTlmServer
3
3
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
4
- Sleep 4000
4
+ Sleep 10000
5
5
 
6
6
  WinActivate Test Runner
7
7
  WinWaitActive Test Runner
@@ -20,7 +20,7 @@ Sleep 500
20
20
 
21
21
  ; Connect to the CT server
22
22
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
23
- Sleep 4000
23
+ Sleep 10000
24
24
  WinActivate Telemetry Grapher
25
25
  Click 55 95 ; Start TG-3
26
26
  Sleep 500
@@ -3,7 +3,7 @@ WinWaitActive Telemetry Grapher
3
3
 
4
4
  ; Connect to the CT server
5
5
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
6
- Sleep 4000
6
+ Sleep 10000
7
7
  WinActivate Telemetry Grapher
8
8
  Send {Enter}
9
9
 
@@ -3,7 +3,7 @@ SetKeyDelay 10
3
3
 
4
4
  Sleep 500
5
5
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
6
- Sleep 4000
6
+ Sleep 10000
7
7
 
8
8
  WinActivate Telemetry Viewer
9
9
  Sleep 1000
@@ -10,7 +10,7 @@ Send {Enter}
10
10
 
11
11
  Sleep 500
12
12
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
13
- Sleep 4000
13
+ Sleep 10000
14
14
  Run ruby.exe %A_ScriptDir%/ScriptRunner -w 600 -t 600
15
15
 
16
16
  WinWaitActive Script
@@ -4,7 +4,7 @@ SetKeyDelay 10
4
4
  Sleep 500
5
5
  Run ruby.exe %A_ScriptDir%/CmdTlmServer
6
6
  WinActivate "INST ADCS"
7
- Sleep 4000
7
+ Sleep 10000
8
8
 
9
9
  ; Close down command and telemetry server
10
10
  WinActivate Command and Telemetry Server
data/bin/xtce_converter CHANGED
@@ -36,7 +36,7 @@ option_parser = OptionParser.new do |option_parser|
36
36
 
37
37
  # Create the system option
38
38
  option_parser.on("--system VALUE", "Use an alternative system.txt file") do |arg|
39
- Cosmos::System.instance(File.join(USERPATH, 'config', 'system', arg))
39
+ Cosmos::System.instance(File.join(Cosmos::USERPATH, 'config', 'system', arg))
40
40
  end
41
41
 
42
42
  # Handle --import mode