cosmos 4.4.1 → 4.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_v4.yml +33 -0
  3. data/Dockerfile +10 -4
  4. data/Gemfile +1 -1
  5. data/Manifest.txt +26 -2
  6. data/README.md +4 -1
  7. data/Rakefile +33 -27
  8. data/autohotkey/tools/cmd_extractor.ahk +11 -9
  9. data/autohotkey/tools/cmd_sender.ahk +1 -1
  10. data/autohotkey/tools/cmd_sequence.ahk +1 -1
  11. data/autohotkey/tools/data_viewer.ahk +1 -1
  12. data/autohotkey/tools/limits_monitor.ahk +1 -1
  13. data/autohotkey/tools/packet_viewer.ahk +1 -1
  14. data/autohotkey/tools/script_runner.ahk +1 -1
  15. data/autohotkey/tools/test_runner2.ahk +1 -1
  16. data/autohotkey/tools/tlm_grapher.ahk +1 -1
  17. data/autohotkey/tools/tlm_grapher3.ahk +1 -1
  18. data/autohotkey/tools/tlm_viewer.ahk +1 -1
  19. data/autohotkey/tools/tlm_viewer2.ahk +1 -1
  20. data/autohotkey/tools/tlm_viewer5.ahk +1 -1
  21. data/bin/rubysloc +73 -28
  22. data/bin/xtce_converter +1 -1
  23. data/cosmos.gemspec +6 -12
  24. data/data/config/interface_modifiers.yaml +3 -2
  25. data/data/config/system.yaml +81 -24
  26. data/data/crc.txt +435 -435
  27. data/demo/Rakefile +4 -4
  28. data/demo/config/data/crc.txt +250 -250
  29. data/demo/config/system/system.txt +15 -7
  30. data/demo/config/system/system2.txt +15 -7
  31. data/demo/config/system/system_alt_ports.txt +15 -7
  32. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +1 -1
  33. data/demo/config/tools/handbook_creator/default_toc.xsl +59 -59
  34. data/ext/cosmos/ext/buffered_file/buffered_file.c +2 -2
  35. data/ext/cosmos/ext/config_parser/config_parser.c +1 -2
  36. data/ext/cosmos/ext/line_graph/line_graph.c +53 -94
  37. data/ext/cosmos/ext/packet/packet.c +0 -6
  38. data/ext/cosmos/ext/platform/platform.c +56 -21
  39. data/ext/cosmos/ext/polynomial_conversion/polynomial_conversion.c +4 -8
  40. data/ext/cosmos/ext/structure/structure.c +12 -0
  41. data/extensions/vscode/.gitignore +4 -0
  42. data/extensions/vscode/.vscode/launch.json +32 -0
  43. data/extensions/vscode/.vscode/settings.json +13 -0
  44. data/extensions/vscode/.vscode/tasks.json +79 -0
  45. data/extensions/vscode/License.txt +879 -0
  46. data/extensions/vscode/README.md +9 -0
  47. data/extensions/vscode/client/License.txt +879 -0
  48. data/extensions/vscode/client/README.md +39 -0
  49. data/extensions/vscode/client/cosmos.configuration.json +23 -0
  50. data/extensions/vscode/client/images/icon.png +0 -0
  51. data/extensions/vscode/client/package-lock.json +414 -0
  52. data/extensions/vscode/client/package.json +105 -0
  53. data/extensions/vscode/client/src/extension.ts +132 -0
  54. data/extensions/vscode/client/src/screen_preview.rb +25 -0
  55. data/extensions/vscode/client/syntaxes/cosmos.tmLanguage.json +219 -0
  56. data/extensions/vscode/client/tsconfig.json +17 -0
  57. data/extensions/vscode/package-lock.json +26 -0
  58. data/extensions/vscode/package.json +35 -0
  59. data/extensions/vscode/server/License.txt +879 -0
  60. data/extensions/vscode/server/package-lock.json +236 -0
  61. data/extensions/vscode/server/package.json +29 -0
  62. data/extensions/vscode/server/src/server.ts +59 -0
  63. data/extensions/vscode/server/tsconfig.json +16 -0
  64. data/install/Rakefile +4 -4
  65. data/install/config/data/crc.txt +145 -145
  66. data/install/config/system/system.txt +15 -7
  67. data/install/config/tools/handbook_creator/default_toc.xsl +59 -59
  68. data/lib/cosmos/config/config_parser.rb +2 -10
  69. data/lib/cosmos/core_ext/class.rb +10 -0
  70. data/lib/cosmos/core_ext/time.rb +5 -3
  71. data/lib/cosmos/dart/examples/dart_decom_client.rb +1 -1
  72. data/lib/cosmos/dart/lib/dart_common.rb +3 -3
  73. data/lib/cosmos/dart/lib/dart_decommutator.rb +4 -4
  74. data/lib/cosmos/dart/processes/dart_decom_server.rb +1 -1
  75. data/lib/cosmos/dart/processes/dart_master.rb +1 -1
  76. data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +2 -2
  77. data/lib/cosmos/gui/qt.rb +10 -10
  78. data/lib/cosmos/gui/qt_tool.rb +17 -12
  79. data/lib/cosmos/gui/text/completion_text_edit.rb +2 -0
  80. data/lib/cosmos/gui/widgets/dart_meta_frame.rb +1 -1
  81. data/lib/cosmos/interfaces/dart_status_interface.rb +1 -1
  82. data/lib/cosmos/interfaces/linc_interface.rb +3 -3
  83. data/lib/cosmos/interfaces/protocols/burst_protocol.rb +1 -1
  84. data/lib/cosmos/interfaces/protocols/crc_protocol.rb +1 -1
  85. data/lib/cosmos/interfaces/protocols/template_protocol.rb +3 -3
  86. data/lib/cosmos/interfaces/serial_interface.rb +7 -1
  87. data/lib/cosmos/interfaces/stream_interface.rb +1 -1
  88. data/lib/cosmos/interfaces/tcpip_server_interface.rb +16 -16
  89. data/lib/cosmos/io/io_multiplexer.rb +6 -2
  90. data/lib/cosmos/io/json_drb.rb +3 -11
  91. data/lib/cosmos/io/json_drb_object.rb +7 -2
  92. data/lib/cosmos/io/json_drb_rack.rb +25 -5
  93. data/lib/cosmos/io/json_rpc.rb +1 -1
  94. data/lib/cosmos/io/posix_serial_driver.rb +60 -22
  95. data/lib/cosmos/io/serial_driver.rb +11 -8
  96. data/lib/cosmos/io/win32_serial_driver.rb +8 -1
  97. data/lib/cosmos/packets/packet.rb +8 -8
  98. data/lib/cosmos/packets/packet_config.rb +1 -1
  99. data/lib/cosmos/packets/packet_item_limits.rb +2 -14
  100. data/lib/cosmos/packets/parsers/xtce_converter.rb +10 -10
  101. data/lib/cosmos/packets/parsers/xtce_parser.rb +3 -0
  102. data/lib/cosmos/packets/structure.rb +18 -5
  103. data/lib/cosmos/packets/structure_item.rb +4 -21
  104. data/lib/cosmos/script/api_shared.rb +18 -1
  105. data/lib/cosmos/script/extract.rb +1 -1
  106. data/lib/cosmos/script/script.rb +4 -11
  107. data/lib/cosmos/streams/serial_stream.rb +11 -6
  108. data/lib/cosmos/system/system.rb +47 -13
  109. data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +15 -0
  110. data/lib/cosmos/tools/cmd_sender/cmd_params.rb +25 -3
  111. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +7 -0
  112. data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +0 -5
  113. data/lib/cosmos/tools/cmd_tlm_server/api.rb +10 -8
  114. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +2 -2
  115. data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +1 -1
  116. data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +29 -26
  117. data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +1 -1
  118. data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +5 -0
  119. data/lib/cosmos/tools/config_editor/config_editor.rb +1 -1
  120. data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +1 -1
  121. data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +1 -1
  122. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +5 -2
  123. data/lib/cosmos/tools/test_runner/test.rb +1 -1
  124. data/lib/cosmos/tools/test_runner/test_runner.rb +4 -4
  125. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +3 -3
  126. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +1 -4
  127. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +3 -3
  128. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +1 -1
  129. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +2 -2
  130. data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +2 -0
  131. data/lib/cosmos/top_level.rb +1 -1
  132. data/lib/cosmos/utilities/simulated_target.rb +1 -1
  133. data/lib/cosmos/version.rb +5 -5
  134. data/make_gems.sh +1 -1
  135. data/spec/core_ext/class_spec.rb +54 -0
  136. data/spec/core_ext/time_spec.rb +4 -0
  137. data/spec/gui/qt_spec.rb +1 -1
  138. data/spec/gui/utilities/script_module_gui_spec.rb +1 -1
  139. data/spec/interfaces/linc_interface_spec.rb +1 -1
  140. data/spec/interfaces/serial_interface_spec.rb +1 -5
  141. data/spec/io/json_drb_rack_spec.rb +166 -0
  142. data/spec/io/json_rpc_spec.rb +4 -5
  143. data/spec/io/posix_serial_driver_spec.rb +87 -0
  144. data/spec/io/win32_serial_driver_spec.rb +17 -1
  145. data/spec/packet_logs/packet_log_reader_spec.rb +34 -35
  146. data/spec/packets/packet_item_limits_spec.rb +6 -33
  147. data/spec/packets/structure_item_spec.rb +3 -21
  148. data/spec/script/extract_spec.rb +4 -1
  149. data/spec/system/system_spec.rb +109 -1
  150. data/spec/tools/cmd_tlm_server/api_spec.rb +12 -12
  151. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +2 -2
  152. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +4 -3
  153. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +2 -3
  154. data/spec/top_level/top_level_spec.rb +2 -2
  155. data/spec/utilities/logger_spec.rb +3 -3
  156. data/test/performance/Rakefile +4 -4
  157. data/test/performance/config/data/crc.txt +67 -48
  158. metadata +59 -9
  159. data/.coveralls.yml +0 -1
  160. data/.travis.yml +0 -16
@@ -1,179 +1,179 @@
1
1
  "lib/user_version.rb" 0x8F282EE9
2
+ "config/dart/Gemfile" 0x97CC0D80
2
3
  "config/data/README.txt" 0x93B2C07E
4
+ "config/system/system.txt" 0x1DD3AB8A
5
+ "config/targets/SYSTEM/cmd_tlm/meta_tlm.txt" 0x07CDABCB
6
+ "config/targets/SYSTEM/target.txt" 0x07E82776
3
7
  "config/tools/cmd_tlm_server/cmd_tlm_server.txt" 0x2A39E69F
4
- "config/tools/launcher/launcher.txt" 0x6A3047DB
5
- "config/tools/tlm_extractor/README.txt" 0x93B2C07E
6
- "config/tools/tlm_viewer/tlm_viewer.txt" 0xD9071527
7
- "config/tools/handbook_creator/default_toc.xsl" 0x4122A040
8
- "config/tools/handbook_creator/templates/command_toc.html.erb" 0x9159BCF9
9
- "config/tools/handbook_creator/templates/title.html.erb" 0xBC66E2BC
10
- "config/tools/handbook_creator/templates/footer.html.erb" 0x0E1F9800
11
- "config/tools/handbook_creator/templates/nav.html.erb" 0xDF65AAEA
12
- "config/tools/handbook_creator/templates/overview.html.erb" 0xDC4DD2B8
13
- "config/tools/handbook_creator/templates/limits_groups.html.erb" 0x40FDF34C
14
- "config/tools/handbook_creator/templates/pdf_cover.html.erb" 0x7AAB9A42
15
- "config/tools/handbook_creator/templates/command_packets.html.erb" 0x9897CA7A
16
- "config/tools/handbook_creator/templates/telemetry_packets.html.erb" 0x44BD9695
17
- "config/tools/handbook_creator/templates/header.html.erb" 0x1E490C2A
18
- "config/tools/handbook_creator/templates/pdf_header.html.erb" 0x3020FEE1
19
- "config/tools/handbook_creator/templates/telemetry_toc.html.erb" 0x610E3BC5
20
- "config/tools/handbook_creator/templates/pdf_footer.html.erb" 0xF0D3EB77
8
+ "config/tools/data_viewer/data_viewer.txt" 0xAEE0B7DF
9
+ "config/tools/handbook_creator/assets/css/bootstrap-theme.css" 0x446F3211
21
10
  "config/tools/handbook_creator/assets/css/bootstrap-theme.min.css" 0xB49F966D
22
11
  "config/tools/handbook_creator/assets/css/bootstrap.css" 0x3F240B56
23
12
  "config/tools/handbook_creator/assets/css/bootstrap.min.css" 0x1BD3585F
24
- "config/tools/handbook_creator/assets/css/bootstrap-theme.css" 0x446F3211
13
+ "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot" 0x50687BA4
14
+ "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg" 0x068A502C
15
+ "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf" 0x063128D6
16
+ "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff" 0x946BFB8C
17
+ "config/tools/handbook_creator/assets/img/ball_logo.bmp" 0xAD799C2E
18
+ "config/tools/handbook_creator/assets/img/ball_logo.gif" 0xD8A3D76B
19
+ "config/tools/handbook_creator/assets/img/ball_logo.jpg" 0xA15FB300
20
+ "config/tools/handbook_creator/assets/js/bootstrap.js" 0x013B0300
25
21
  "config/tools/handbook_creator/assets/js/bootstrap.min.js" 0xB3ECDABF
26
22
  "config/tools/handbook_creator/assets/js/html5shiv.js" 0x15B5CD4D
27
23
  "config/tools/handbook_creator/assets/js/jquery-1.10.2.min.js" 0xCDB86103
28
- "config/tools/handbook_creator/assets/js/bootstrap.js" 0x013B0300
29
24
  "config/tools/handbook_creator/assets/js/respond.min.js" 0xD9168C21
30
- "config/tools/handbook_creator/assets/img/ball_logo.gif" 0xD8A3D76B
31
- "config/tools/handbook_creator/assets/img/ball_logo.bmp" 0xAD799C2E
32
- "config/tools/handbook_creator/assets/img/ball_logo.jpg" 0xA15FB300
33
- "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.svg" 0x068A502C
34
- "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.woff" 0x946BFB8C
35
- "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.ttf" 0x063128D6
36
- "config/tools/handbook_creator/assets/fonts/glyphicons-halflings-regular.eot" 0x50687BA4
25
+ "config/tools/handbook_creator/default_toc.xsl" 0x00FD130E
37
26
  "config/tools/handbook_creator/handbook_creator.txt" 0x64E4B5CC
27
+ "config/tools/handbook_creator/templates/command_packets.html.erb" 0x9897CA7A
28
+ "config/tools/handbook_creator/templates/command_toc.html.erb" 0x9159BCF9
29
+ "config/tools/handbook_creator/templates/footer.html.erb" 0x0E1F9800
30
+ "config/tools/handbook_creator/templates/header.html.erb" 0x1E490C2A
31
+ "config/tools/handbook_creator/templates/limits_groups.html.erb" 0x40FDF34C
32
+ "config/tools/handbook_creator/templates/nav.html.erb" 0xDF65AAEA
33
+ "config/tools/handbook_creator/templates/overview.html.erb" 0xDC4DD2B8
34
+ "config/tools/handbook_creator/templates/pdf_cover.html.erb" 0x7AAB9A42
35
+ "config/tools/handbook_creator/templates/pdf_footer.html.erb" 0xF0D3EB77
36
+ "config/tools/handbook_creator/templates/pdf_header.html.erb" 0x3020FEE1
37
+ "config/tools/handbook_creator/templates/telemetry_packets.html.erb" 0x44BD9695
38
+ "config/tools/handbook_creator/templates/telemetry_toc.html.erb" 0x610E3BC5
39
+ "config/tools/handbook_creator/templates/title.html.erb" 0xBC66E2BC
40
+ "config/tools/launcher/launcher.txt" 0x6A3047DB
41
+ "config/tools/limits_monitor/README.txt" 0x93B2C07E
38
42
  "config/tools/opengl_builder/README.txt" 0x93B2C07E
39
43
  "config/tools/script_runner/script_runner.txt" 0x1EECD803
40
44
  "config/tools/table_manager/README.txt" 0x93B2C07E
41
45
  "config/tools/test_runner/test_runner.txt" 0xD24409D2
42
- "config/tools/limits_monitor/README.txt" 0x93B2C07E
43
- "config/tools/data_viewer/data_viewer.txt" 0xAEE0B7DF
46
+ "config/tools/tlm_extractor/README.txt" 0x93B2C07E
44
47
  "config/tools/tlm_grapher/README.txt" 0x93B2C07E
45
- "config/system/system.txt" 0x4BF5AAFB
46
- "config/targets/SYSTEM/target.txt" 0x07E82776
47
- "config/targets/SYSTEM/cmd_tlm/meta_tlm.txt" 0x07CDABCB
48
- "config/dart/Gemfile" 0x97CC0D80
49
- "tools/TlmGrapher.bat" 0x2B98E027
50
- "tools/TlmGrapher" 0x9464F502
48
+ "config/tools/tlm_viewer/tlm_viewer.txt" 0xD9071527
49
+ "tools/CmdExtractor" 0x96E82AC3
50
+ "tools/CmdExtractor.bat" 0x2B98E027
51
+ "tools/CmdSender" 0x10346CF4
52
+ "tools/CmdSender.bat" 0x2B98E027
53
+ "tools/CmdSequence" 0x4A13C82C
54
+ "tools/CmdSequence.bat" 0x2B98E027
55
+ "tools/CmdTlmServer" 0x4C7A4FCB
56
+ "tools/CmdTlmServer.bat" 0x2B98E027
57
+ "tools/ConfigEditor" 0xD1205371
58
+ "tools/ConfigEditor.bat" 0x2B98E027
59
+ "tools/Dart" 0x19C73FBA
60
+ "tools/Dart.bat" 0x357107FB
61
+ "tools/DataViewer" 0x9D20734C
62
+ "tools/DataViewer.bat" 0x2B98E027
63
+ "tools/HandbookCreator" 0xD927814C
64
+ "tools/HandbookCreator.bat" 0x2B98E027
65
+ "tools/Launcher" 0xFD4E356C
66
+ "tools/Launcher.bat" 0x2B98E027
67
+ "tools/LimitsMonitor" 0x04FD96D8
68
+ "tools/LimitsMonitor.bat" 0x2B98E027
51
69
  "tools/OpenGLBuilder" 0x585EA691
70
+ "tools/OpenGLBuilder.bat" 0x2B98E027
71
+ "tools/PacketViewer" 0xF23A40BB
72
+ "tools/PacketViewer.bat" 0x2B98E027
52
73
  "tools/Replay" 0xAC00D2AD
53
- "tools/TestRunner" 0x0B0E0B8B
74
+ "tools/Replay.bat" 0x2B98E027
75
+ "tools/ScriptRunner" 0x20F38758
76
+ "tools/ScriptRunner.bat" 0x2B98E027
77
+ "tools/TableManager" 0x71F21C88
54
78
  "tools/TableManager.bat" 0x2B98E027
55
- "tools/PacketViewer" 0xF23A40BB
56
- "tools/CmdExtractor" 0x96E82AC3
57
- "tools/CmdTlmServer.bat" 0x2B98E027
58
- "tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns" 0xDF373DAE
59
- "tools/mac/PacketViewer.app/Contents/MacOS/main.sh" 0x47F54F98
60
- "tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb" 0xF23A40BB
61
- "tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
62
- "tools/mac/PacketViewer.app/Contents/Info.plist" 0x6934BF89
63
- "tools/mac/DataViewer.app/Contents/Resources/appIcon.icns" 0x3EC9B207
64
- "tools/mac/DataViewer.app/Contents/MacOS/main.sh" 0xD40D9D6C
65
- "tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb" 0x9D20734C
66
- "tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
67
- "tools/mac/DataViewer.app/Contents/Info.plist" 0xB79CA16B
68
- "tools/mac/TestRunner.app/Contents/Resources/appIcon.icns" 0xC8D32D55
69
- "tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb" 0x0B0E0B8B
70
- "tools/mac/TestRunner.app/Contents/MacOS/main.sh" 0x5A8D958C
71
- "tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
72
- "tools/mac/TestRunner.app/Contents/Info.plist" 0x482B3BA5
73
- "tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns" 0xF819EAD4
74
- "tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb" 0x4A13C82C
75
- "tools/mac/CmdSequence.app/Contents/MacOS/main.sh" 0x11671716
76
- "tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
77
- "tools/mac/CmdSequence.app/Contents/Info.plist" 0xF9BF98AD
78
- "tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns" 0xCEA7C465
79
- "tools/mac/HandbookCreator.app/Contents/MacOS/main.sh" 0x358F92E1
80
- "tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb" 0xD927814C
81
- "tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
82
- "tools/mac/HandbookCreator.app/Contents/Info.plist" 0x7591A548
83
- "tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns" 0x39862FA7
79
+ "tools/TestRunner" 0x0B0E0B8B
80
+ "tools/TestRunner.bat" 0x2B98E027
81
+ "tools/TlmExtractor" 0x1EC4639A
82
+ "tools/TlmExtractor.bat" 0x2B98E027
83
+ "tools/TlmGrapher" 0x9464F502
84
+ "tools/TlmGrapher.bat" 0x2B98E027
85
+ "tools/TlmViewer" 0xFE723189
86
+ "tools/TlmViewer.bat" 0x2B98E027
87
+ "tools/ToolLaunch.bat" 0x4E6549E0
88
+ "tools/mac/CmdExtractor.app/Contents/Info.plist" 0x0E89084D
84
89
  "tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb" 0x96E82AC3
85
90
  "tools/mac/CmdExtractor.app/Contents/MacOS/main.sh" 0xEE3EC072
86
91
  "tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
87
- "tools/mac/CmdExtractor.app/Contents/Info.plist" 0x0E89084D
88
- "tools/mac/CmdSender.app/Contents/Resources/appIcon.icns" 0xEC403A52
89
- "tools/mac/CmdSender.app/Contents/MacOS/main.sh" 0x707CA873
92
+ "tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns" 0x39862FA7
93
+ "tools/mac/CmdSender.app/Contents/Info.plist" 0x87039019
90
94
  "tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb" 0x10346CF4
95
+ "tools/mac/CmdSender.app/Contents/MacOS/main.sh" 0x707CA873
91
96
  "tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
92
- "tools/mac/CmdSender.app/Contents/Info.plist" 0x87039019
93
- "tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns" 0x0AC88876
94
- "tools/mac/TlmExtractor.app/Contents/MacOS/main.sh" 0x348F7440
95
- "tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb" 0x1EC4639A
96
- "tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
97
- "tools/mac/TlmExtractor.app/Contents/Info.plist" 0x343784F4
98
- "tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns" 0x8DDBD837
97
+ "tools/mac/CmdSender.app/Contents/Resources/appIcon.icns" 0xEC403A52
98
+ "tools/mac/CmdSequence.app/Contents/Info.plist" 0xF9BF98AD
99
+ "tools/mac/CmdSequence.app/Contents/MacOS/CmdSequence.rb" 0x4A13C82C
100
+ "tools/mac/CmdSequence.app/Contents/MacOS/main.sh" 0x11671716
101
+ "tools/mac/CmdSequence.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
102
+ "tools/mac/CmdSequence.app/Contents/Resources/appIcon.icns" 0xF819EAD4
103
+ "tools/mac/CmdTlmServer.app/Contents/Info.plist" 0x97E53674
104
+ "tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb" 0x4C7A4FCB
105
+ "tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh" 0x1F1443E6
106
+ "tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
107
+ "tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns" 0x972CDCC6
108
+ "tools/mac/ConfigEditor.app/Contents/Info.plist" 0x5E9C6081
109
+ "tools/mac/ConfigEditor.app/Contents/MacOS/ConfigEditor.rb" 0xD1205371
110
+ "tools/mac/ConfigEditor.app/Contents/MacOS/main.sh" 0x7C087C20
111
+ "tools/mac/ConfigEditor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
112
+ "tools/mac/ConfigEditor.app/Contents/Resources/appIcon.icns" 0xD9774799
113
+ "tools/mac/DataViewer.app/Contents/Info.plist" 0xB79CA16B
114
+ "tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb" 0x9D20734C
115
+ "tools/mac/DataViewer.app/Contents/MacOS/main.sh" 0xD40D9D6C
116
+ "tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
117
+ "tools/mac/DataViewer.app/Contents/Resources/appIcon.icns" 0x3EC9B207
118
+ "tools/mac/HandbookCreator.app/Contents/Info.plist" 0x7591A548
119
+ "tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb" 0xD927814C
120
+ "tools/mac/HandbookCreator.app/Contents/MacOS/main.sh" 0x358F92E1
121
+ "tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
122
+ "tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns" 0xCEA7C465
123
+ "tools/mac/Launcher.app/Contents/Info.plist" 0x32A1EF14
124
+ "tools/mac/Launcher.app/Contents/MacOS/Launcher.rb" 0xFD4E356C
125
+ "tools/mac/Launcher.app/Contents/MacOS/main.sh" 0x0B32DAE8
126
+ "tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
127
+ "tools/mac/Launcher.app/Contents/Resources/appIcon.icns" 0x8857CD2B
128
+ "tools/mac/LimitsMonitor.app/Contents/Info.plist" 0xAF650287
129
+ "tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb" 0x04FD96D8
130
+ "tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh" 0xAAF1493C
131
+ "tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
132
+ "tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns" 0xC98BF799
133
+ "tools/mac/OpenGLBuilder.app/Contents/Info.plist" 0x3C2E542D
99
134
  "tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb" 0x585EA691
100
135
  "tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh" 0xAD05D35B
101
136
  "tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
102
- "tools/mac/OpenGLBuilder.app/Contents/Info.plist" 0x3C2E542D
103
- "tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns" 0xCA324F50
104
- "tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb" 0x9464F502
105
- "tools/mac/TlmGrapher.app/Contents/MacOS/main.sh" 0x7BE28DE6
106
- "tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
107
- "tools/mac/TlmGrapher.app/Contents/Info.plist" 0x3623B978
108
- "tools/mac/ConfigEditor.app/Contents/Resources/appIcon.icns" 0xD9774799
109
- "tools/mac/ConfigEditor.app/Contents/MacOS/main.sh" 0x7C087C20
110
- "tools/mac/ConfigEditor.app/Contents/MacOS/ConfigEditor.rb" 0xD1205371
111
- "tools/mac/ConfigEditor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
112
- "tools/mac/ConfigEditor.app/Contents/Info.plist" 0x5E9C6081
113
- "tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns" 0x9246743E
137
+ "tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns" 0x8DDBD837
138
+ "tools/mac/PacketViewer.app/Contents/Info.plist" 0x6934BF89
139
+ "tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb" 0xF23A40BB
140
+ "tools/mac/PacketViewer.app/Contents/MacOS/main.sh" 0x47F54F98
141
+ "tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
142
+ "tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns" 0xDF373DAE
143
+ "tools/mac/Replay.app/Contents/Info.plist" 0x894AC4CF
144
+ "tools/mac/Replay.app/Contents/MacOS/Replay.rb" 0xAC00D2AD
145
+ "tools/mac/Replay.app/Contents/MacOS/main.sh" 0x42370A6F
146
+ "tools/mac/Replay.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
147
+ "tools/mac/Replay.app/Contents/Resources/appIcon.icns" 0x0E6B32E5
148
+ "tools/mac/ScriptRunner.app/Contents/Info.plist" 0x1BC8C5E9
114
149
  "tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb" 0x20F38758
115
150
  "tools/mac/ScriptRunner.app/Contents/MacOS/main.sh" 0xCE8AE11F
116
151
  "tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
117
- "tools/mac/ScriptRunner.app/Contents/Info.plist" 0x1BC8C5E9
118
- "tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns" 0x1CBA8EB3
119
- "tools/mac/TlmViewer.app/Contents/MacOS/main.sh" 0xE2F1EAFE
120
- "tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb" 0xFE723189
121
- "tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
122
- "tools/mac/TlmViewer.app/Contents/Info.plist" 0x821041E0
123
- "tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns" 0xC98BF799
124
- "tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh" 0xAAF1493C
125
- "tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb" 0x04FD96D8
126
- "tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
127
- "tools/mac/LimitsMonitor.app/Contents/Info.plist" 0xAF650287
128
- "tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns" 0x972CDCC6
129
- "tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh" 0x1F1443E6
130
- "tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb" 0x4C7A4FCB
131
- "tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
132
- "tools/mac/CmdTlmServer.app/Contents/Info.plist" 0x97E53674
133
- "tools/mac/TableManager.app/Contents/Resources/appIcon.icns" 0xEBF5074E
134
- "tools/mac/TableManager.app/Contents/MacOS/main.sh" 0x68092BA9
152
+ "tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns" 0x9246743E
153
+ "tools/mac/TableManager.app/Contents/Info.plist" 0xF6A5877F
135
154
  "tools/mac/TableManager.app/Contents/MacOS/TableManager.rb" 0x71F21C88
155
+ "tools/mac/TableManager.app/Contents/MacOS/main.sh" 0x68092BA9
136
156
  "tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
137
- "tools/mac/TableManager.app/Contents/Info.plist" 0xF6A5877F
138
- "tools/mac/Launcher.app/Contents/Resources/appIcon.icns" 0x8857CD2B
139
- "tools/mac/Launcher.app/Contents/MacOS/main.sh" 0x0B32DAE8
140
- "tools/mac/Launcher.app/Contents/MacOS/Launcher.rb" 0xFD4E356C
141
- "tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
142
- "tools/mac/Launcher.app/Contents/Info.plist" 0x32A1EF14
143
- "tools/mac/Replay.app/Contents/Resources/appIcon.icns" 0x0E6B32E5
144
- "tools/mac/Replay.app/Contents/MacOS/Replay.rb" 0xAC00D2AD
145
- "tools/mac/Replay.app/Contents/MacOS/main.sh" 0x42370A6F
146
- "tools/mac/Replay.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
147
- "tools/mac/Replay.app/Contents/Info.plist" 0x894AC4CF
148
- "tools/Launcher.bat" 0x2B98E027
149
- "tools/ToolLaunch.bat" 0x4E6549E0
150
- "tools/HandbookCreator" 0xD927814C
151
- "tools/TlmViewer.bat" 0x2B98E027
152
- "tools/ConfigEditor.bat" 0x2B98E027
153
- "tools/LimitsMonitor" 0x04FD96D8
154
- "tools/TableManager" 0x71F21C88
155
- "tools/CmdSequence" 0x4A13C82C
156
- "tools/CmdTlmServer" 0x4C7A4FCB
157
- "tools/DataViewer.bat" 0x2B98E027
158
- "tools/TlmViewer" 0xFE723189
159
- "tools/TlmExtractor.bat" 0x2B98E027
160
- "tools/ScriptRunner.bat" 0x2B98E027
161
- "tools/Replay.bat" 0x2B98E027
162
- "tools/CmdSender.bat" 0x2B98E027
163
- "tools/TestRunner.bat" 0x2B98E027
164
- "tools/Launcher" 0xFD4E356C
165
- "tools/DataViewer" 0x9D20734C
166
- "tools/ConfigEditor" 0xD1205371
167
- "tools/LimitsMonitor.bat" 0x2B98E027
168
- "tools/CmdSequence.bat" 0x2B98E027
169
- "tools/Dart" 0x19C73FBA
170
- "tools/ScriptRunner" 0x20F38758
171
- "tools/CmdExtractor.bat" 0x2B98E027
157
+ "tools/mac/TableManager.app/Contents/Resources/appIcon.icns" 0xEBF5074E
158
+ "tools/mac/TestRunner.app/Contents/Info.plist" 0x482B3BA5
159
+ "tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb" 0x0B0E0B8B
160
+ "tools/mac/TestRunner.app/Contents/MacOS/main.sh" 0x5A8D958C
161
+ "tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
162
+ "tools/mac/TestRunner.app/Contents/Resources/appIcon.icns" 0xC8D32D55
163
+ "tools/mac/TlmExtractor.app/Contents/Info.plist" 0x343784F4
164
+ "tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb" 0x1EC4639A
165
+ "tools/mac/TlmExtractor.app/Contents/MacOS/main.sh" 0x348F7440
166
+ "tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
167
+ "tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns" 0x0AC88876
168
+ "tools/mac/TlmGrapher.app/Contents/Info.plist" 0x3623B978
169
+ "tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb" 0x9464F502
170
+ "tools/mac/TlmGrapher.app/Contents/MacOS/main.sh" 0x7BE28DE6
171
+ "tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
172
+ "tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns" 0xCA324F50
173
+ "tools/mac/TlmViewer.app/Contents/Info.plist" 0x821041E0
174
+ "tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb" 0xFE723189
175
+ "tools/mac/TlmViewer.app/Contents/MacOS/main.sh" 0xE2F1EAFE
176
+ "tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
177
+ "tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns" 0x1CBA8EB3
172
178
  "tools/tool_launch.rb" 0x0BDB6696
173
- "tools/PacketViewer.bat" 0x2B98E027
174
- "tools/TlmExtractor" 0x1EC4639A
175
- "tools/CmdSender" 0x10346CF4
176
- "tools/OpenGLBuilder.bat" 0x2B98E027
177
- "tools/HandbookCreator.bat" 0x2B98E027
178
- "tools/Dart.bat" 0x357107FB
179
179
  "procedures/README.txt" 0x93B2C07E
@@ -5,16 +5,17 @@ AUTO_DECLARE_TARGETS
5
5
  # DECLARE_TARGET SYSTEM
6
6
 
7
7
  # Listen Hosts - Ip addresses or hostnames to listen on when running the tools
8
+ # Set these to 0.0.0.0 if you need external connections from other computers
8
9
  LISTEN_HOST CTS_API 127.0.0.1
9
10
  LISTEN_HOST TLMVIEWER_API 127.0.0.1
10
- LISTEN_HOST CTS_PREIDENTIFIED 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
11
- LISTEN_HOST CTS_CMD_ROUTER 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
11
+ LISTEN_HOST CTS_PREIDENTIFIED 127.0.0.1
12
+ LISTEN_HOST CTS_CMD_ROUTER 127.0.0.1
12
13
  LISTEN_HOST REPLAY_API 127.0.0.1
13
- LISTEN_HOST REPLAY_PREIDENTIFIED 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
14
- LISTEN_HOST REPLAY_CMD_ROUTER 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
15
- LISTEN_HOST DART_STREAM 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
16
- LISTEN_HOST DART_DECOM 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
17
- LISTEN_HOST DART_MASTER 0.0.0.0 # 127.0.0.1 is more secure if you don't need external connections
14
+ LISTEN_HOST REPLAY_PREIDENTIFIED 127.0.0.1
15
+ LISTEN_HOST REPLAY_CMD_ROUTER 127.0.0.1
16
+ LISTEN_HOST DART_STREAM 127.0.0.1
17
+ LISTEN_HOST DART_DECOM 127.0.0.1
18
+ LISTEN_HOST DART_MASTER 127.0.0.1
18
19
 
19
20
  # Connect Hosts - Ip addresses or hostnames to connect to when running the tools
20
21
  CONNECT_HOST CTS_API 127.0.0.1
@@ -65,3 +66,10 @@ ALLOW_ACCESS ALL
65
66
  # META_INIT config/data/meta_init.txt
66
67
 
67
68
  # ADD_HASH_FILE lib/user_version.rb
69
+
70
+ # ALLOW_ROUTER_COMMANDING # Enable this to chain servers with commanding
71
+ # ALLOW_HOST localhost:7777 # This is provided by default. Add with HostIP:7777 for chaining
72
+ # ALLOW_ORIGIN 1.2.3.4:8080 # Add this if you have a webserver that should be able to access the COSMOS API
73
+
74
+ # *** IMPORTANT *** Change this value to a unique value for each project
75
+ X_CSRF_TOKEN SuperSecret # Secret used to secure requests - Change for each project
@@ -1,59 +1,59 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <xsl:stylesheet version="1.0"
3
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4
- xmlns:outline="http://code.google.com/p/wkhtmltopdf/outline"
5
- xmlns="http://www.w3.org/1999/xhtml">
6
- <xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
7
- doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
8
- indent="yes" />
9
- <xsl:template match="outline:outline">
10
- <html>
11
- <head>
12
- <title>Table of Contents</title>
13
- <style>
14
- h1 {
15
- text-align: center;
16
- font-size: 20px;
17
- font-family: arial;
18
- }
19
- div {border-bottom: 1px dashed rgb(200,200,200);}
20
- span {float: right;}
21
- li {list-style: none;}
22
- ul {
23
- font-size: 20px;
24
- font-family: arial;
25
- }
26
- ul ul {font-size: 80%; }
27
- ul {padding-left: 0em;}
28
- ul ul {padding-left: 1em;}
29
- a {text-decoration:none; color: black;}
30
- </style>
31
- </head>
32
- <body>
33
- <h1>Table of Contents</h1>
34
- <ul><xsl:apply-templates select="outline:item/outline:item"/></ul>
35
- </body>
36
- </html>
37
- </xsl:template>
38
- <xsl:template match="outline:item">
39
- <li>
40
- <xsl:if test="@title!=''">
41
- <div>
42
- <a>
43
- <xsl:if test="@link">
44
- <xsl:attribute name="href"><xsl:value-of select="@link"/></xsl:attribute>
45
- </xsl:if>
46
- <xsl:if test="@backLink">
47
- <xsl:attribute name="name"><xsl:value-of select="@backLink"/></xsl:attribute>
48
- </xsl:if>
49
- <xsl:value-of select="@title" />
50
- </a>
51
- <span> <xsl:value-of select="@page" /> </span>
52
- </div>
53
- </xsl:if>
54
- <ul>
55
- <xsl:apply-templates select="outline:item"/>
56
- </ul>
57
- </li>
58
- </xsl:template>
59
- </xsl:stylesheet>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="2.0"
3
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4
+ xmlns:outline="http://code.google.com/p/wkhtmltopdf/outline"
5
+ xmlns="http://www.w3.org/1999/xhtml">
6
+ <xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
7
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
8
+ indent="yes" />
9
+ <xsl:template match="outline:outline">
10
+ <html>
11
+ <head>
12
+ <title>Table of Contents</title>
13
+ <style>
14
+ h1 {
15
+ text-align: center;
16
+ font-size: 20px;
17
+ font-family: arial;
18
+ }
19
+ div {border-bottom: 1px dashed rgb(200,200,200);}
20
+ span {float: right;}
21
+ li {list-style: none;}
22
+ ul {
23
+ font-size: 20px;
24
+ font-family: arial;
25
+ }
26
+ ul ul {font-size: 80%; }
27
+ ul {padding-left: 0em;}
28
+ ul ul {padding-left: 1em;}
29
+ a {text-decoration:none; color: black;}
30
+ </style>
31
+ </head>
32
+ <body>
33
+ <h1>Table of Contents</h1>
34
+ <ul><xsl:apply-templates select="outline:item/outline:item"/></ul>
35
+ </body>
36
+ </html>
37
+ </xsl:template>
38
+ <xsl:template match="outline:item">
39
+ <li>
40
+ <xsl:if test="@title!=''">
41
+ <div>
42
+ <a>
43
+ <xsl:if test="@link">
44
+ <xsl:attribute name="href"><xsl:value-of select="@link"/></xsl:attribute>
45
+ </xsl:if>
46
+ <xsl:if test="@backLink">
47
+ <xsl:attribute name="name"><xsl:value-of select="@backLink"/></xsl:attribute>
48
+ </xsl:if>
49
+ <xsl:value-of select="@title" />
50
+ </a>
51
+ <span> <xsl:value-of select="@page" /> </span>
52
+ </div>
53
+ </xsl:if>
54
+ <ul>
55
+ <xsl:apply-templates select="outline:item"/>
56
+ </ul>
57
+ </li>
58
+ </xsl:template>
59
+ </xsl:stylesheet>
@@ -149,16 +149,8 @@ module Cosmos
149
149
  raise Error.new(self, "Partial name '#{template_name}' must begin with an underscore.") if File.basename(template_name)[0] != '_'
150
150
  b = binding
151
151
  if options[:locals]
152
- if RUBY_VERSION.split('.')[0..1].join.to_i >= 21
153
- options[:locals].each {|key, value| b.local_variable_set(key, value) }
154
- else
155
- options[:locals].each do |key, value|
156
- if value.is_a? String
157
- b.eval("#{key} = '#{value}'")
158
- else
159
- b.eval("#{key} = #{value}")
160
- end
161
- end
152
+ options[:locals].each do |key, value|
153
+ b.local_variable_set(key, value)
162
154
  end
163
155
  end
164
156
  # Assume the file is there. If not we raise a pretty obvious error
@@ -35,6 +35,11 @@ class Class
35
35
  # instance variables with class method readers
36
36
  def instance_attr_reader(*args)
37
37
  args.each do |arg|
38
+ # Non-word characters (letter, number, underscore) are disallowed
39
+ raise ArgumentError, "Non-word characters characters parsed" if arg =~ /\W/
40
+
41
+ # Fortify: Dynamic Code Evaluation: Code Injection
42
+ # This is true but we're whitelisting the input above
38
43
  self.class_eval("def #{arg};@#{arg};end")
39
44
  self.instance_eval("def #{arg};self.instance.#{arg};end")
40
45
  end
@@ -44,6 +49,11 @@ class Class
44
49
  # instance variables with class method accessors (read and write)
45
50
  def instance_attr_accessor(*args)
46
51
  args.each do |arg|
52
+ # Non-word characters (letter, number, underscore) are disallowed
53
+ raise ArgumentError, "Non-word characters characters parsed" if arg =~ /\W/
54
+
55
+ # Fortify: Dynamic Code Evaluation: Code Injection
56
+ # This is true but we're whitelisting the input above
47
57
  self.class_eval("def #{arg};@#{arg};end")
48
58
  self.instance_eval("def #{arg};self.instance.#{arg};end")
49
59
  self.class_eval("def #{arg}=(arg);@#{arg} = arg;end")
@@ -88,9 +88,9 @@ class Time
88
88
  # use_utc flag.
89
89
  def sys
90
90
  if @@use_utc
91
- self.utc
91
+ self.dup.utc
92
92
  else
93
- self.localtime
93
+ self.dup.localtime
94
94
  end
95
95
  end
96
96
 
@@ -389,7 +389,9 @@ class Time
389
389
  # @return [Float] The number of seconds from the given epoch to the given
390
390
  # CCSDS day, milliseconds, and microseconds.
391
391
  def self.ccsds2sec(day, ms, us, sec_epoch_jd = JULIAN_DATE_OF_CCSDS_EPOCH)
392
- (self.ccsds2julian(day, ms, us) - sec_epoch_jd) * SEC_PER_DAY_FLOAT
392
+ # NOTE: We don't call ccsds2julian to avoid loss of precision
393
+ (day + JULIAN_DATE_OF_CCSDS_EPOCH - sec_epoch_jd +
394
+ ((ms.to_f + (us / 1000.0)) / MSEC_PER_DAY_FLOAT)) * SEC_PER_DAY_FLOAT
393
395
  end
394
396
 
395
397
  # @param sec [Float] Number of seconds to convert
@@ -31,7 +31,7 @@ request['value_type'] = 'RAW_AVG'
31
31
  request['meta_filters'] = ["OPERATOR_NAME == 'Unspecified'"]
32
32
 
33
33
  puts "Connecting to Dart Decom Server..."
34
- server = Cosmos::JsonDRbObject.new(Cosmos::System.connect_hosts['DART_DECOM'], Cosmos::System.ports['DART_DECOM'])
34
+ server = Cosmos::JsonDRbObject.new(Cosmos::System.connect_hosts['DART_DECOM'], Cosmos::System.ports['DART_DECOM'], 1.0, Cosmos::System.x_csrf_token)
35
35
  puts "Getting SYSTEM META fields"
36
36
  result = server.item_names("SYSTEM", "META")
37
37
  puts result.inspect(10000)
@@ -291,11 +291,11 @@ module DartCommon
291
291
  reader.open(packet_log.filename)
292
292
  @plr_cache[packet_log.id] = reader
293
293
  end
294
- packet = reader.read_at_offset(ple.data_offset)
294
+ packet = reader.read_at_offset(ple.data_offset)
295
295
  unless packet
296
296
  Cosmos::Logger.error("Failed to read at offset #{ple.data_offset} (file offset: #{reader.bytes_read}) with file size #{reader.size}")
297
297
  end
298
- return packet
298
+ return packet
299
299
  rescue Exception => error
300
300
  Cosmos::Logger.error("Error Reading Packet Log Entry:\n#{error.formatted}")
301
301
  return nil
@@ -668,7 +668,7 @@ module DartCommon
668
668
  end
669
669
  model.reset_column_information
670
670
  model_name = table_name.upcase
671
- Cosmos.send(:remove_const, model_name) if Cosmos.const_defined?(model_name)
671
+ Cosmos.public_send(:remove_const, model_name) if Cosmos.const_defined?(model_name)
672
672
  Cosmos.const_set(model_name, model)
673
673
  end
674
674
 
@@ -36,16 +36,16 @@ class DartDecommutator
36
36
 
37
37
  # Wait 60s before giving up on the PacketConfig becoming ready
38
38
  PACKET_CONFIG_READY_TIMEOUT = 60
39
-
39
+
40
40
  # Delay between updating the DART status packet. Simply throttles this rarely viewed status
41
41
  STATUS_UPDATE_PERIOD_SECONDS = 60.seconds
42
-
42
+
43
43
  def initialize(worker_id = 0, num_workers = 1)
44
44
  sync_targets_and_packets()
45
45
  @worker_id = worker_id
46
46
  @num_workers = num_workers
47
47
  @status = DartDecommutatorStatus.new
48
- @master = Cosmos::JsonDRbObject.new(Cosmos::System.connect_hosts['DART_MASTER'], Cosmos::System.ports['DART_MASTER'])
48
+ @master = Cosmos::JsonDRbObject.new(Cosmos::System.connect_hosts['DART_MASTER'], Cosmos::System.ports['DART_MASTER'], 1.0, Cosmos::System.x_csrf_token)
49
49
  end
50
50
 
51
51
  def timeit(message, &block)
@@ -84,7 +84,7 @@ class DartDecommutator
84
84
  # If we timeout this code will simply exit the application
85
85
  wait_for_ready_packet_config(packet_config)
86
86
  decom_packet(ple, packet, packet_config)
87
-
87
+
88
88
  # Update status
89
89
  if Time.now > status_time
90
90
  status_time = Time.now + 60.seconds