cosmos 3.8.0 → 3.8.1

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/autohotkey/tools/packet_viewer.ahk +4 -0
  3. data/cosmos.gemspec +1 -1
  4. data/data/crc.txt +277 -277
  5. data/demo/Gemfile +2 -2
  6. data/demo/config/data/crc.txt +176 -176
  7. data/demo/config/targets/INST/cmd_tlm/_ccsds_cmd.txt +2 -2
  8. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +4 -4
  9. data/demo/procedures/example_test.rb +4 -0
  10. data/install/Gemfile +1 -1
  11. data/install/config/data/crc.txt +112 -112
  12. data/lib/cosmos/config/config_parser.rb +35 -1
  13. data/lib/cosmos/core_ext/string.rb +21 -17
  14. data/lib/cosmos/core_ext/time.rb +6 -2
  15. data/lib/cosmos/gui/opengl/gl_viewer.rb +4 -4
  16. data/lib/cosmos/gui/opengl/stl_shape.rb +5 -1
  17. data/lib/cosmos/gui/qt.rb +0 -26
  18. data/lib/cosmos/io/io_multiplexer.rb +27 -45
  19. data/lib/cosmos/packets/packet.rb +64 -24
  20. data/lib/cosmos/packets/packet_config.rb +254 -54
  21. data/lib/cosmos/packets/packet_item.rb +39 -10
  22. data/lib/cosmos/packets/parsers/packet_item_parser.rb +7 -2
  23. data/lib/cosmos/script/commands.rb +5 -0
  24. data/lib/cosmos/script/scripting.rb +5 -5
  25. data/lib/cosmos/script/telemetry.rb +5 -0
  26. data/lib/cosmos/tools/cmd_tlm_server/api.rb +22 -0
  27. data/lib/cosmos/tools/limits_monitor/limits_monitor.rb +38 -10
  28. data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +48 -9
  29. data/lib/cosmos/tools/test_runner/test_runner.rb +76 -14
  30. data/lib/cosmos/tools/tlm_viewer/widgets/linegraph_widget.rb +11 -2
  31. data/lib/cosmos/tools/tlm_viewer/widgets/timegraph_widget.rb +15 -12
  32. data/lib/cosmos/top_level.rb +29 -32
  33. data/lib/cosmos/version.rb +4 -4
  34. data/spec/config/config_parser_spec.rb +8 -15
  35. data/spec/core_ext/socket_spec.rb +2 -2
  36. data/spec/core_ext/string_spec.rb +10 -0
  37. data/spec/core_ext/time_spec.rb +12 -4
  38. data/spec/io/io_multiplexer_spec.rb +11 -3
  39. data/spec/packets/packet_spec.rb +30 -0
  40. data/spec/script/commands_spec.rb +2 -1
  41. data/spec/script/scripting_spec.rb +22 -0
  42. data/spec/script/telemetry_spec.rb +2 -1
  43. data/spec/spec_helper.rb +2 -2
  44. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +2 -2
  45. data/spec/top_level/top_level_spec.rb +4 -2
  46. metadata +5 -5
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
 
5
5
  gem 'ruby-termios', '~> 0.9' if RbConfig::CONFIG['target_os'] !~ /mswin|mingw|cygwin/i
6
6
  if ENV['COSMOS_DEVEL']
7
- gem 'cosmos', :path => "../"
7
+ gem 'cosmos', :path => ENV['COSMOS_DEVEL']
8
8
  else
9
9
  gem 'cosmos'
10
10
  end
@@ -1,151 +1,151 @@
1
1
  "lib/user_version.rb" 0x8F282EE9
2
- "config/data/README.txt" 0x93B2C07E
3
- "config/system/system.txt" 0x9178EE79
4
- "config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt" 0xE2F62B11
5
- "config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt" 0xC667CCD6
6
- "config/targets/COSMOS/cmd_tlm_server.txt" 0xE53A4164
2
+ "config/targets/SYSTEM/README.txt" 0x93B2C07E
3
+ "config/targets/COSMOS/target.txt" 0x6C6F9A95
7
4
  "config/targets/COSMOS/screens/limits_change.txt" 0xE8C47C54
8
5
  "config/targets/COSMOS/screens/version.txt" 0x393D4F72
9
- "config/targets/COSMOS/target.txt" 0x6C6F9A95
10
- "config/targets/SYSTEM/README.txt" 0x93B2C07E
11
- "config/tools/cmd_tlm_server/cmd_tlm_server.txt" 0xC6819D73
6
+ "config/targets/COSMOS/cmd_tlm_server.txt" 0xE53A4164
7
+ "config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt" 0xC667CCD6
8
+ "config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt" 0xE2F62B11
9
+ "config/data/README.txt" 0x93B2C07E
10
+ "config/system/system.txt" 0x9178EE79
11
+ "config/tools/launcher/launcher.txt" 0x2F6ABBDB
12
+ "config/tools/table_manager/README.txt" 0x93B2C07E
13
+ "config/tools/tlm_viewer/tlm_viewer.txt" 0xD9071527
12
14
  "config/tools/data_viewer/data_viewer.txt" 0xAEE0B7DF
13
- "config/tools/handbook_creator/default_toc.xsl" 0x4122A040
14
- "config/tools/handbook_creator/handbook_creator.txt" 0x64E4B5CC
15
- "config/tools/handbook_creator/templates/command_packets.html.erb" 0x9897CA7A
15
+ "config/tools/test_runner/test_runner.txt" 0xD24409D2
16
+ "config/tools/tlm_extractor/README.txt" 0x93B2C07E
17
+ "config/tools/cmd_tlm_server/cmd_tlm_server.txt" 0xC6819D73
18
+ "config/tools/tlm_grapher/README.txt" 0x93B2C07E
19
+ "config/tools/opengl_builder/README.txt" 0x93B2C07E
20
+ "config/tools/limits_monitor/README.txt" 0x93B2C07E
21
+ "config/tools/handbook_creator/templates/header.html.erb" 0x1E490C2A
16
22
  "config/tools/handbook_creator/templates/command_toc.html.erb" 0x9159BCF9
17
23
  "config/tools/handbook_creator/templates/footer.html.erb" 0x0E1F9800
18
- "config/tools/handbook_creator/templates/header.html.erb" 0x1E490C2A
19
- "config/tools/handbook_creator/templates/limits_groups.html.erb" 0x40FDF34C
20
- "config/tools/handbook_creator/templates/nav.html.erb" 0xDF65AAEA
21
24
  "config/tools/handbook_creator/templates/overview.html.erb" 0xDC4DD2B8
25
+ "config/tools/handbook_creator/templates/command_packets.html.erb" 0x9897CA7A
26
+ "config/tools/handbook_creator/templates/limits_groups.html.erb" 0x40FDF34C
22
27
  "config/tools/handbook_creator/templates/pdf_cover.html.erb" 0x7AAB9A42
23
- "config/tools/handbook_creator/templates/pdf_footer.html.erb" 0xF0D3EB77
24
- "config/tools/handbook_creator/templates/pdf_header.html.erb" 0x3020FEE1
25
- "config/tools/handbook_creator/templates/telemetry_packets.html.erb" 0x44BD9695
26
28
  "config/tools/handbook_creator/templates/telemetry_toc.html.erb" 0x610E3BC5
29
+ "config/tools/handbook_creator/templates/nav.html.erb" 0xDF65AAEA
27
30
  "config/tools/handbook_creator/templates/title.html.erb" 0xBC66E2BC
28
- "config/tools/launcher/launcher.txt" 0x2F6ABBDB
29
- "config/tools/limits_monitor/README.txt" 0x93B2C07E
30
- "config/tools/opengl_builder/README.txt" 0x93B2C07E
31
+ "config/tools/handbook_creator/templates/telemetry_packets.html.erb" 0x44BD9695
32
+ "config/tools/handbook_creator/templates/pdf_footer.html.erb" 0xF0D3EB77
33
+ "config/tools/handbook_creator/templates/pdf_header.html.erb" 0x3020FEE1
34
+ "config/tools/handbook_creator/default_toc.xsl" 0x4122A040
35
+ "config/tools/handbook_creator/handbook_creator.txt" 0x64E4B5CC
31
36
  "config/tools/script_runner/script_runner.txt" 0x1EECD803
32
- "config/tools/table_manager/README.txt" 0x93B2C07E
33
- "config/tools/test_runner/test_runner.txt" 0xD24409D2
34
- "config/tools/tlm_extractor/README.txt" 0x93B2C07E
35
- "config/tools/tlm_grapher/README.txt" 0x93B2C07E
36
- "config/tools/tlm_viewer/tlm_viewer.txt" 0xD9071527
37
- "tools/CmdExtractor" 0x96E82AC3
38
- "tools/CmdExtractor.bat" 0x09A34857
39
- "tools/CmdSender" 0x10346CF4
40
- "tools/CmdSender.bat" 0x09A34857
37
+ "tools/TlmExtractor.bat" 0x09A34857
38
+ "tools/Launcher" 0xFD4E356C
39
+ "tools/TlmViewer" 0xFE723189
41
40
  "tools/CmdTlmServer" 0x4C7A4FCB
42
- "tools/CmdTlmServer.bat" 0x09A34857
41
+ "tools/ScriptRunner" 0x20F38758
42
+ "tools/tool_launch.rb" 0x0BDB6696
43
+ "tools/LimitsMonitor" 0x04FD96D8
44
+ "tools/Replay.bat" 0x09A34857
45
+ "tools/CmdExtractor.bat" 0x09A34857
46
+ "tools/TlmViewer.bat" 0x09A34857
43
47
  "tools/DataViewer" 0x9D20734C
44
- "tools/DataViewer.bat" 0x09A34857
45
- "tools/HandbookCreator" 0xD927814C
48
+ "tools/ScriptRunner.bat" 0x09A34857
49
+ "tools/CmdTlmServer.bat" 0x09A34857
50
+ "tools/Replay" 0xAC00D2AD
46
51
  "tools/HandbookCreator.bat" 0x09A34857
47
- "tools/Launcher" 0xFD4E356C
48
- "tools/Launcher.bat" 0x09A34857
49
- "tools/LimitsMonitor" 0x04FD96D8
52
+ "tools/PacketViewer" 0xF23A40BB
53
+ "tools/TlmGrapher" 0x9464F502
54
+ "tools/DataViewer.bat" 0x09A34857
50
55
  "tools/LimitsMonitor.bat" 0x09A34857
56
+ "tools/mac/TestRunner.app/Contents/Info.plist" 0x482B3BA5
57
+ "tools/mac/TestRunner.app/Contents/Resources/appIcon.icns" 0xC8D32D55
58
+ "tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
59
+ "tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb" 0x0B0E0B8B
60
+ "tools/mac/TestRunner.app/Contents/MacOS/main.sh" 0x5A8D958C
51
61
  "tools/mac/CmdExtractor.app/Contents/Info.plist" 0x0E89084D
62
+ "tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns" 0x39862FA7
63
+ "tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
52
64
  "tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb" 0x96E82AC3
53
65
  "tools/mac/CmdExtractor.app/Contents/MacOS/main.sh" 0xEE3EC072
54
- "tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
55
- "tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns" 0x39862FA7
56
- "tools/mac/CmdSender.app/Contents/Info.plist" 0x87039019
57
- "tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb" 0x10346CF4
58
- "tools/mac/CmdSender.app/Contents/MacOS/main.sh" 0x707CA873
59
- "tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
60
- "tools/mac/CmdSender.app/Contents/Resources/appIcon.icns" 0xEC403A52
61
- "tools/mac/CmdTlmServer.app/Contents/Info.plist" 0x97E53674
62
- "tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb" 0x4C7A4FCB
63
- "tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh" 0x1F1443E6
64
- "tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
65
- "tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns" 0x972CDCC6
66
- "tools/mac/DataViewer.app/Contents/Info.plist" 0xB79CA16B
67
- "tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb" 0x9D20734C
68
- "tools/mac/DataViewer.app/Contents/MacOS/main.sh" 0xD40D9D6C
69
- "tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
70
- "tools/mac/DataViewer.app/Contents/Resources/appIcon.icns" 0x3EC9B207
71
- "tools/mac/HandbookCreator.app/Contents/Info.plist" 0x7591A548
72
- "tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb" 0xD927814C
73
- "tools/mac/HandbookCreator.app/Contents/MacOS/main.sh" 0x358F92E1
74
- "tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
75
- "tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns" 0xCEA7C465
76
- "tools/mac/Launcher.app/Contents/Info.plist" 0x32A1EF14
77
- "tools/mac/Launcher.app/Contents/MacOS/Launcher.rb" 0xFD4E356C
78
- "tools/mac/Launcher.app/Contents/MacOS/main.sh" 0x0B32DAE8
79
- "tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
80
- "tools/mac/Launcher.app/Contents/Resources/appIcon.icns" 0x8857CD2B
66
+ "tools/mac/TableManager.app/Contents/Info.plist" 0xF6A5877F
67
+ "tools/mac/TableManager.app/Contents/Resources/appIcon.icns" 0xEBF5074E
68
+ "tools/mac/TableManager.app/Contents/MacOS/TableManager.rb" 0x71F21C88
69
+ "tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
70
+ "tools/mac/TableManager.app/Contents/MacOS/main.sh" 0x68092BA9
81
71
  "tools/mac/LimitsMonitor.app/Contents/Info.plist" 0xAF650287
72
+ "tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns" 0xC98BF799
73
+ "tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
82
74
  "tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb" 0x04FD96D8
83
75
  "tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh" 0xAAF1493C
84
- "tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
85
- "tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns" 0xC98BF799
86
- "tools/mac/OpenGLBuilder.app/Contents/Info.plist" 0x3C2E542D
87
- "tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh" 0xAD05D35B
88
- "tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb" 0x585EA691
89
- "tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
90
- "tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns" 0x8DDBD837
76
+ "tools/mac/CmdTlmServer.app/Contents/Info.plist" 0x97E53674
77
+ "tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns" 0x972CDCC6
78
+ "tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
79
+ "tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh" 0x1F1443E6
80
+ "tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb" 0x4C7A4FCB
91
81
  "tools/mac/PacketViewer.app/Contents/Info.plist" 0x6934BF89
92
- "tools/mac/PacketViewer.app/Contents/MacOS/main.sh" 0x47F54F98
82
+ "tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns" 0xDF373DAE
93
83
  "tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb" 0xF23A40BB
94
84
  "tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
95
- "tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns" 0xDF373DAE
85
+ "tools/mac/PacketViewer.app/Contents/MacOS/main.sh" 0x47F54F98
86
+ "tools/mac/CmdSender.app/Contents/Info.plist" 0x87039019
87
+ "tools/mac/CmdSender.app/Contents/Resources/appIcon.icns" 0xEC403A52
88
+ "tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
89
+ "tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb" 0x10346CF4
90
+ "tools/mac/CmdSender.app/Contents/MacOS/main.sh" 0x707CA873
91
+ "tools/mac/TlmViewer.app/Contents/Info.plist" 0x821041E0
92
+ "tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns" 0x1CBA8EB3
93
+ "tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb" 0xFE723189
94
+ "tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
95
+ "tools/mac/TlmViewer.app/Contents/MacOS/main.sh" 0xE2F1EAFE
96
+ "tools/mac/ScriptRunner.app/Contents/Info.plist" 0x1BC8C5E9
97
+ "tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns" 0x9246743E
98
+ "tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
99
+ "tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb" 0x20F38758
100
+ "tools/mac/ScriptRunner.app/Contents/MacOS/main.sh" 0xCE8AE11F
101
+ "tools/mac/OpenGLBuilder.app/Contents/Info.plist" 0x3C2E542D
102
+ "tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns" 0x8DDBD837
103
+ "tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
104
+ "tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh" 0xAD05D35B
105
+ "tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb" 0x585EA691
96
106
  "tools/mac/Replay.app/Contents/Info.plist" 0x894AC4CF
97
- "tools/mac/Replay.app/Contents/MacOS/main.sh" 0x42370A6F
107
+ "tools/mac/Replay.app/Contents/Resources/appIcon.icns" 0x0E6B32E5
98
108
  "tools/mac/Replay.app/Contents/MacOS/Replay.rb" 0xAC00D2AD
99
109
  "tools/mac/Replay.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
100
- "tools/mac/Replay.app/Contents/Resources/appIcon.icns" 0x0E6B32E5
101
- "tools/mac/ScriptRunner.app/Contents/Info.plist" 0x1BC8C5E9
102
- "tools/mac/ScriptRunner.app/Contents/MacOS/main.sh" 0xCE8AE11F
103
- "tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb" 0x20F38758
104
- "tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
105
- "tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns" 0x9246743E
106
- "tools/mac/TableManager.app/Contents/Info.plist" 0xF6A5877F
107
- "tools/mac/TableManager.app/Contents/MacOS/main.sh" 0x68092BA9
108
- "tools/mac/TableManager.app/Contents/MacOS/TableManager.rb" 0x71F21C88
109
- "tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
110
- "tools/mac/TableManager.app/Contents/Resources/appIcon.icns" 0xEBF5074E
111
- "tools/mac/TestRunner.app/Contents/Info.plist" 0x482B3BA5
112
- "tools/mac/TestRunner.app/Contents/MacOS/main.sh" 0x5A8D958C
113
- "tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb" 0x0B0E0B8B
114
- "tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
115
- "tools/mac/TestRunner.app/Contents/Resources/appIcon.icns" 0xC8D32D55
110
+ "tools/mac/Replay.app/Contents/MacOS/main.sh" 0x42370A6F
116
111
  "tools/mac/TlmExtractor.app/Contents/Info.plist" 0x343784F4
117
- "tools/mac/TlmExtractor.app/Contents/MacOS/main.sh" 0x348F7440
112
+ "tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns" 0x0AC88876
118
113
  "tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb" 0x1EC4639A
119
114
  "tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
120
- "tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns" 0x0AC88876
115
+ "tools/mac/TlmExtractor.app/Contents/MacOS/main.sh" 0x348F7440
116
+ "tools/mac/HandbookCreator.app/Contents/Info.plist" 0x7591A548
117
+ "tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns" 0xCEA7C465
118
+ "tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb" 0xD927814C
119
+ "tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
120
+ "tools/mac/HandbookCreator.app/Contents/MacOS/main.sh" 0x358F92E1
121
+ "tools/mac/Launcher.app/Contents/Info.plist" 0x32A1EF14
122
+ "tools/mac/Launcher.app/Contents/Resources/appIcon.icns" 0x8857CD2B
123
+ "tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
124
+ "tools/mac/Launcher.app/Contents/MacOS/main.sh" 0x0B32DAE8
125
+ "tools/mac/Launcher.app/Contents/MacOS/Launcher.rb" 0xFD4E356C
121
126
  "tools/mac/TlmGrapher.app/Contents/Info.plist" 0x3623B978
127
+ "tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns" 0xCA324F50
128
+ "tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
122
129
  "tools/mac/TlmGrapher.app/Contents/MacOS/main.sh" 0x7BE28DE6
123
130
  "tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb" 0x9464F502
124
- "tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
125
- "tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns" 0xCA324F50
126
- "tools/mac/TlmViewer.app/Contents/Info.plist" 0x821041E0
127
- "tools/mac/TlmViewer.app/Contents/MacOS/main.sh" 0xE2F1EAFE
128
- "tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb" 0xFE723189
129
- "tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
130
- "tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns" 0x1CBA8EB3
131
- "tools/OpenGLBuilder" 0x585EA691
131
+ "tools/mac/DataViewer.app/Contents/Info.plist" 0xB79CA16B
132
+ "tools/mac/DataViewer.app/Contents/Resources/appIcon.icns" 0x3EC9B207
133
+ "tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb" 0x9D20734C
134
+ "tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
135
+ "tools/mac/DataViewer.app/Contents/MacOS/main.sh" 0xD40D9D6C
136
+ "tools/TableManager.bat" 0x09A34857
137
+ "tools/HandbookCreator" 0xD927814C
138
+ "tools/TestRunner.bat" 0x09A34857
139
+ "tools/CmdSender" 0x10346CF4
132
140
  "tools/OpenGLBuilder.bat" 0x09A34857
133
- "tools/PacketViewer" 0xF23A40BB
134
- "tools/PacketViewer.bat" 0x09A34857
135
- "tools/Replay" 0xAC00D2AD
136
- "tools/Replay.bat" 0x09A34857
137
- "tools/ScriptRunner" 0x20F38758
138
- "tools/ScriptRunner.bat" 0x09A34857
139
141
  "tools/TableManager" 0x71F21C88
140
- "tools/TableManager.bat" 0x09A34857
141
142
  "tools/TestRunner" 0x0B0E0B8B
142
- "tools/TestRunner.bat" 0x09A34857
143
- "tools/TlmExtractor" 0x1EC4639A
144
- "tools/TlmExtractor.bat" 0x09A34857
145
- "tools/TlmGrapher" 0x9464F502
146
143
  "tools/TlmGrapher.bat" 0x09A34857
147
- "tools/TlmViewer" 0xFE723189
148
- "tools/TlmViewer.bat" 0x09A34857
149
- "tools/tool_launch.rb" 0x0BDB6696
144
+ "tools/TlmExtractor" 0x1EC4639A
145
+ "tools/PacketViewer.bat" 0x09A34857
146
+ "tools/Launcher.bat" 0x09A34857
150
147
  "tools/ToolLaunch.bat" 0x7896E14C
148
+ "tools/CmdExtractor" 0x96E82AC3
149
+ "tools/OpenGLBuilder" 0x585EA691
150
+ "tools/CmdSender.bat" 0x09A34857
151
151
  "procedures/README.txt" 0x93B2C07E
@@ -287,9 +287,11 @@ module Cosmos
287
287
  #
288
288
  # @param value [Object] Can be anything
289
289
  # @return [Numeric] The converted value. Either a Fixnum or Float.
290
- def self.handle_defined_constants(value)
290
+ def self.handle_defined_constants(value, data_type = nil, bit_size = nil)
291
291
  if value.class == String
292
292
  case value.upcase
293
+ when 'MIN', 'MAX'
294
+ return self.calculate_range_value(value.upcase, data_type, bit_size)
293
295
  when 'MIN_INT8'
294
296
  return -128
295
297
  when 'MAX_INT8'
@@ -363,6 +365,38 @@ module Cosmos
363
365
  debug_file
364
366
  end
365
367
 
368
+ def self.calculate_range_value(type, data_type, bit_size)
369
+ value = 0 # Default for UINT minimum
370
+
371
+ case data_type
372
+ when :INT
373
+ if type == 'MIN'
374
+ value = -2**(bit_size-1)
375
+ else # 'MAX'
376
+ value = 2**(bit_size-1) - 1
377
+ end
378
+ when :UINT
379
+ # Default is 0 for 'MIN'
380
+ if type == 'MAX'
381
+ value = 2**bit_size - 1
382
+ end
383
+ when :FLOAT
384
+ case bit_size
385
+ when 32
386
+ value = 3.402823e38
387
+ value *= -1 if type == 'MIN'
388
+ when 64
389
+ value = Float::MAX
390
+ value *= -1 if type == 'MIN'
391
+ else
392
+ raise ArgumentError, "Invalid bit size #{bit_size} for FLOAT type."
393
+ end
394
+ else
395
+ raise ArgumentError, "Invalid data type #{data_type} when calculating range."
396
+ end
397
+ value
398
+ end
399
+
366
400
  # Iterates over each line of the io object and yields the keyword and
367
401
  # parameters
368
402
  #~ def parse_loop(
@@ -17,16 +17,16 @@ class String
17
17
  # The printable range of ASCII characters
18
18
  PRINTABLE_RANGE = 32..126
19
19
  # Regular expression to identify a String as a floating point number
20
- FLOAT_CHECK_REGEX = /^\s*[-+]?\d*\.\d+\s*$/
20
+ FLOAT_CHECK_REGEX = /\A\s*[-+]?\d*\.\d+\s*\z/
21
21
  # Regular expression to identify a String as a floating point number in
22
22
  # scientific notation
23
- SCIENTIFIC_CHECK_REGEX = /^\s*[-+]?(\d+((\.\d+)?)|(\.\d+))[eE][-+]?\d+\s*$/
23
+ SCIENTIFIC_CHECK_REGEX = /\A\s*[-+]?(\d+((\.\d+)?)|(\.\d+))[eE][-+]?\d+\s*\z/
24
24
  # Regular expression to identify a String as an integer
25
- INT_CHECK_REGEX = /^\s*[-+]?\d+\s*$/
25
+ INT_CHECK_REGEX = /\A\s*[-+]?\d+\s*\z/
26
26
  # Regular expression to identify a String as an integer in hexadecimal format
27
- HEX_CHECK_REGEX = /^\s*0[xX][\dabcdefABCDEF]+\s*$/
27
+ HEX_CHECK_REGEX = /\A\s*0[xX][\dabcdefABCDEF]+\s*\z/
28
28
  # Regular expression to identify a String as an Array of numbers
29
- ARRAY_CHECK_REGEX = /^\s*\[.*\]\s*$/
29
+ ARRAY_CHECK_REGEX = /\A\s*\[.*\]\s*\z/
30
30
 
31
31
  # Displays a String containing binary data in a human readable format by
32
32
  # converting each byte to the hex representation.
@@ -191,18 +191,22 @@ class String
191
191
  # any of the above then the original String is returned.
192
192
  def convert_to_value
193
193
  return_value = self
194
- if self.is_float?
195
- # Floating Point in normal or scientific notation
196
- return_value = self.to_f
197
- elsif self.is_int?
198
- # Integer
199
- return_value = self.to_i
200
- elsif self.is_hex?
201
- # Hex
202
- return_value = Integer(self)
203
- elsif self.is_array?
204
- # Array
205
- return_value = eval(self)
194
+ begin
195
+ if self.is_float?
196
+ # Floating Point in normal or scientific notation
197
+ return_value = self.to_f
198
+ elsif self.is_int?
199
+ # Integer
200
+ return_value = self.to_i
201
+ elsif self.is_hex?
202
+ # Hex
203
+ return_value = Integer(self)
204
+ elsif self.is_array?
205
+ # Array
206
+ return_value = eval(self)
207
+ end
208
+ rescue Exception
209
+ # Something went wrong so just return the string as is
206
210
  end
207
211
  return return_value
208
212
  end
@@ -211,10 +211,14 @@ class Time
211
211
 
212
212
  # @return [String] Date formatted as YYYY/MM/DD HH:MM:SS.US
213
213
  def formatted(include_year = true, fractional_digits = 3)
214
- if include_year
214
+ if include_year && fractional_digits > 0
215
215
  self.strftime("%Y/%m/%d %H:%M:%S.%#{fractional_digits}N")
216
- else
216
+ elsif include_year && fractional_digits == 0
217
+ self.strftime("%Y/%m/%d %H:%M:%S")
218
+ elsif fractional_digits > 0 # no year
217
219
  self.strftime("%H:%M:%S.%#{fractional_digits}N")
220
+ else # no year and no fractional digits
221
+ self.strftime("%H:%M:%S")
218
222
  end
219
223
  end
220
224
 
@@ -25,6 +25,8 @@ module Cosmos
25
25
  RTOD = 57.295779513082320876798154814
26
26
 
27
27
  attr_accessor :projection # :PARALLEL or :PERSPECTIVE
28
+ attr_accessor :top_background
29
+ attr_accessor :bottom_background
28
30
  attr_reader :zoom
29
31
  attr_reader :fov
30
32
  attr_reader :wvt
@@ -36,8 +38,6 @@ module Cosmos
36
38
  attr_reader :transform
37
39
  attr_reader :itransform
38
40
  attr_reader :maxhits
39
- attr_reader :top_background
40
- attr_reader :bottom_background
41
41
  attr_reader :ambient
42
42
  attr_reader :light
43
43
  attr_reader :material
@@ -49,8 +49,8 @@ module Cosmos
49
49
 
50
50
  attr_accessor :selection_callback
51
51
  attr_accessor :draw_axis
52
- def initialize(parent)
53
- super(parent)
52
+ def initialize(parent, share_widget=nil)
53
+ super(parent, share_widget)
54
54
 
55
55
  @defaultCursor = nil
56
56
  @dragCursor = nil
@@ -47,7 +47,11 @@ module Cosmos
47
47
  @progress_dialog.set_overall_progress(progress)
48
48
  end
49
49
  end
50
- @progress_dialog.dispose if @progress_dialog
50
+ if @progress_dialog
51
+ Qt.execute_in_main_thread(true) do
52
+ @progress_dialog.dispose
53
+ end
54
+ end
51
55
  @progress_dialog = nil
52
56
  else
53
57
  @mystl.process(@stl_file, @stl_scaling_factor)
@@ -255,32 +255,6 @@ module Cosmos
255
255
  end
256
256
  end
257
257
 
258
- #### TEMPORARY UNTIL INCLUDED IN QTBINDINGS ####
259
- class Qt::Application
260
- def exec
261
- begin
262
- method_missing(:exec)
263
- ensure
264
- disable_threading()
265
- self.dispose
266
- Qt::Internal.application_terminated = true
267
- end
268
- end
269
- end
270
-
271
- class Qt::CoreApplication
272
- def exec
273
- begin
274
- method_missing(:exec)
275
- ensure
276
- disable_threading()
277
- self.dispose
278
- Qt::Internal.application_terminated = true
279
- end
280
- end
281
- end
282
- #### END TEMPORARY UNTIL INCLUDED IN QTBINDINGS ####
283
-
284
258
  class Qt::Icon
285
259
  def initialize(param = nil)
286
260
  if param