cosmos 3.8.0 → 3.8.1

Sign up to get free protection for your applications and to get access to all the features.
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