cosmos 3.7.1 → 3.8.0

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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/Manifest.txt +1 -0
  3. data/bin/xtce_converter +83 -0
  4. data/cosmos.gemspec +2 -0
  5. data/data/crc.txt +279 -279
  6. data/demo/config/data/crc.txt +171 -171
  7. data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +1 -1
  8. data/demo/config/targets/INST/lib/sim_inst.rb +17 -1
  9. data/demo/config/targets/INST/screens/hs.txt +4 -1
  10. data/demo/config/targets/INST/screens/limits.txt +13 -13
  11. data/install/config/data/crc.txt +113 -113
  12. data/lib/cosmos/conversions/conversion.rb +6 -0
  13. data/lib/cosmos/conversions/generic_conversion.rb +12 -0
  14. data/lib/cosmos/conversions/new_packet_log_conversion.rb +6 -0
  15. data/lib/cosmos/conversions/polynomial_conversion.rb +6 -0
  16. data/lib/cosmos/conversions/processor_conversion.rb +10 -0
  17. data/lib/cosmos/conversions/segmented_polynomial_conversion.rb +10 -0
  18. data/lib/cosmos/conversions/unix_time_conversion.rb +6 -0
  19. data/lib/cosmos/core_ext/string.rb +18 -5
  20. data/lib/cosmos/gui/line_graph/lines.rb +13 -12
  21. data/lib/cosmos/packets/limits_response.rb +4 -0
  22. data/lib/cosmos/packets/packet.rb +59 -8
  23. data/lib/cosmos/packets/packet_config.rb +679 -6
  24. data/lib/cosmos/packets/packet_item.rb +230 -0
  25. data/lib/cosmos/packets/parsers/packet_parser.rb +30 -22
  26. data/lib/cosmos/processors/new_packet_log_processor.rb +5 -0
  27. data/lib/cosmos/processors/processor.rb +5 -0
  28. data/lib/cosmos/processors/statistics_processor.rb +5 -0
  29. data/lib/cosmos/processors/watermark_processor.rb +5 -0
  30. data/lib/cosmos/script/extract.rb +1 -1
  31. data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +7 -2
  32. data/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb +3 -1
  33. data/lib/cosmos/tools/tlm_grapher/data_objects/xy_data_object.rb +3 -1
  34. data/lib/cosmos/tools/tlm_viewer/widgets/limits_widget.rb +10 -0
  35. data/lib/cosmos/tools/tlm_viewer/widgets/limitsbar_widget.rb +14 -6
  36. data/lib/cosmos/tools/tlm_viewer/widgets/limitscolumn_widget.rb +14 -6
  37. data/lib/cosmos/tools/tlm_viewer/widgets/rangebar_widget.rb +14 -6
  38. data/lib/cosmos/tools/tlm_viewer/widgets/rangecolumn_widget.rb +14 -6
  39. data/lib/cosmos/utilities/simulated_target.rb +1 -0
  40. data/lib/cosmos/version.rb +5 -5
  41. metadata +18 -2
@@ -5,40 +5,40 @@ TITLE "Instrument Limits"
5
5
  VERTICALBOX
6
6
  SECTIONHEADER "Range Bars 0-100"
7
7
 
8
- RANGEBAR INST HEALTH_STATUS TEMP1 0 100
9
- VALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100
10
- LABELVALUERANGEBAR INST HEALTH_STATUS TEMP1 0 100
8
+ RANGEBAR INST HEALTH_STATUS TEMP2 0 100
9
+ VALUERANGEBAR INST HEALTH_STATUS TEMP2 0 100
10
+ LABELVALUERANGEBAR INST HEALTH_STATUS TEMP2 0 100
11
11
  END
12
12
 
13
13
  VERTICALBOX
14
14
  SECTIONHEADER "Limits Bars"
15
15
 
16
- LIMITSBAR INST HEALTH_STATUS TEMP1
17
- VALUELIMITSBAR INST HEALTH_STATUS TEMP1
18
- LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP1
16
+ LIMITSBAR INST HEALTH_STATUS TEMP2
17
+ VALUELIMITSBAR INST HEALTH_STATUS TEMP2
18
+ LABELVALUELIMITSBAR INST HEALTH_STATUS TEMP2
19
19
  END
20
20
 
21
21
  VERTICALBOX
22
22
  SECTIONHEADER "Range Columns 0-100"
23
23
  HORIZONTAL
24
- RANGECOLUMN INST HEALTH_STATUS TEMP1 0 100
25
- VALUERANGECOLUMN INST HEALTH_STATUS TEMP1 0 100
26
- LABELVALUERANGECOLUMN INST HEALTH_STATUS TEMP1 0 100
24
+ RANGECOLUMN INST HEALTH_STATUS TEMP2 0 100
25
+ VALUERANGECOLUMN INST HEALTH_STATUS TEMP2 0 100
26
+ LABELVALUERANGECOLUMN INST HEALTH_STATUS TEMP2 0 100
27
27
  END
28
28
  END
29
29
 
30
30
  VERTICALBOX
31
31
  SECTIONHEADER "Limits Columns"
32
32
  HORIZONTAL
33
- LIMITSCOLUMN INST HEALTH_STATUS TEMP1
34
- VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1
35
- LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP1
33
+ LIMITSCOLUMN INST HEALTH_STATUS TEMP2
34
+ VALUELIMITSCOLUMN INST HEALTH_STATUS TEMP2
35
+ LABELVALUELIMITSCOLUMN INST HEALTH_STATUS TEMP2
36
36
  END
37
37
  END
38
38
 
39
39
  VERTICALBOX
40
40
  SECTIONHEADER "Limits Colors"
41
- LIMITSCOLOR INST HEALTH_STATUS TEMP1
41
+ LIMITSCOLOR INST HEALTH_STATUS TEMP2
42
42
  LIMITSCOLOR INST HEALTH_STATUS GROUND1STATUS CONVERTED 5 TRUE
43
43
  END
44
44
  END
@@ -1,151 +1,151 @@
1
1
  "lib/user_version.rb" 0x8F282EE9
2
2
  "config/data/README.txt" 0x93B2C07E
3
3
  "config/system/system.txt" 0x9178EE79
4
- "config/targets/SYSTEM/README.txt" 0x93B2C07E
5
- "config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt" 0xC667CCD6
6
4
  "config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt" 0xE2F62B11
5
+ "config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt" 0xC667CCD6
7
6
  "config/targets/COSMOS/cmd_tlm_server.txt" 0xE53A4164
8
- "config/targets/COSMOS/target.txt" 0x6C6F9A95
9
7
  "config/targets/COSMOS/screens/limits_change.txt" 0xE8C47C54
10
8
  "config/targets/COSMOS/screens/version.txt" 0x393D4F72
11
- "config/tools/script_runner/script_runner.txt" 0x1EECD803
12
- "config/tools/data_viewer/data_viewer.txt" 0xAEE0B7DF
13
- "config/tools/launcher/launcher.txt" 0x2F6ABBDB
14
- "config/tools/tlm_extractor/README.txt" 0x93B2C07E
9
+ "config/targets/COSMOS/target.txt" 0x6C6F9A95
10
+ "config/targets/SYSTEM/README.txt" 0x93B2C07E
15
11
  "config/tools/cmd_tlm_server/cmd_tlm_server.txt" 0xC6819D73
16
- "config/tools/limits_monitor/README.txt" 0x93B2C07E
17
- "config/tools/table_manager/README.txt" 0x93B2C07E
18
- "config/tools/opengl_builder/README.txt" 0x93B2C07E
19
- "config/tools/test_runner/test_runner.txt" 0xD24409D2
20
- "config/tools/tlm_grapher/README.txt" 0x93B2C07E
12
+ "config/tools/data_viewer/data_viewer.txt" 0xAEE0B7DF
21
13
  "config/tools/handbook_creator/default_toc.xsl" 0x4122A040
22
14
  "config/tools/handbook_creator/handbook_creator.txt" 0x64E4B5CC
15
+ "config/tools/handbook_creator/templates/command_packets.html.erb" 0x9897CA7A
23
16
  "config/tools/handbook_creator/templates/command_toc.html.erb" 0x9159BCF9
24
- "config/tools/handbook_creator/templates/title.html.erb" 0xBC66E2BC
25
- "config/tools/handbook_creator/templates/pdf_cover.html.erb" 0x7AAB9A42
26
- "config/tools/handbook_creator/templates/pdf_header.html.erb" 0x3020FEE1
27
- "config/tools/handbook_creator/templates/telemetry_toc.html.erb" 0x610E3BC5
17
+ "config/tools/handbook_creator/templates/footer.html.erb" 0x0E1F9800
28
18
  "config/tools/handbook_creator/templates/header.html.erb" 0x1E490C2A
29
- "config/tools/handbook_creator/templates/telemetry_packets.html.erb" 0x44BD9695
30
- "config/tools/handbook_creator/templates/command_packets.html.erb" 0x9897CA7A
31
19
  "config/tools/handbook_creator/templates/limits_groups.html.erb" 0x40FDF34C
32
20
  "config/tools/handbook_creator/templates/nav.html.erb" 0xDF65AAEA
33
- "config/tools/handbook_creator/templates/footer.html.erb" 0x0E1F9800
34
- "config/tools/handbook_creator/templates/pdf_footer.html.erb" 0xF0D3EB77
35
21
  "config/tools/handbook_creator/templates/overview.html.erb" 0xDC4DD2B8
22
+ "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
+ "config/tools/handbook_creator/templates/telemetry_toc.html.erb" 0x610E3BC5
27
+ "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/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
36
  "config/tools/tlm_viewer/tlm_viewer.txt" 0xD9071527
37
- "tools/TlmGrapher" 0x9464F502
38
- "tools/TestRunner.bat" 0x09A34857
39
- "tools/PacketViewer.bat" 0x09A34857
40
- "tools/TlmViewer.bat" 0x09A34857
41
- "tools/TlmExtractor" 0x1EC4639A
42
- "tools/ToolLaunch.bat" 0x7896E14C
43
- "tools/CmdTlmServer.bat" 0x09A34857
44
- "tools/OpenGLBuilder" 0x585EA691
45
- "tools/Replay" 0xAC00D2AD
37
+ "tools/CmdExtractor" 0x96E82AC3
38
+ "tools/CmdExtractor.bat" 0x09A34857
46
39
  "tools/CmdSender" 0x10346CF4
47
- "tools/PacketViewer" 0xF23A40BB
48
- "tools/TableManager.bat" 0x09A34857
49
- "tools/TlmExtractor.bat" 0x09A34857
40
+ "tools/CmdSender.bat" 0x09A34857
41
+ "tools/CmdTlmServer" 0x4C7A4FCB
42
+ "tools/CmdTlmServer.bat" 0x09A34857
43
+ "tools/DataViewer" 0x9D20734C
44
+ "tools/DataViewer.bat" 0x09A34857
45
+ "tools/HandbookCreator" 0xD927814C
50
46
  "tools/HandbookCreator.bat" 0x09A34857
47
+ "tools/Launcher" 0xFD4E356C
51
48
  "tools/Launcher.bat" 0x09A34857
52
- "tools/TestRunner" 0x0B0E0B8B
53
- "tools/CmdSender.bat" 0x09A34857
49
+ "tools/LimitsMonitor" 0x04FD96D8
54
50
  "tools/LimitsMonitor.bat" 0x09A34857
55
- "tools/mac/CmdExtractor.app/Contents/Resources/appIcon.icns" 0x39862FA7
51
+ "tools/mac/CmdExtractor.app/Contents/Info.plist" 0x0E89084D
56
52
  "tools/mac/CmdExtractor.app/Contents/MacOS/CmdExtractor.rb" 0x96E82AC3
57
53
  "tools/mac/CmdExtractor.app/Contents/MacOS/main.sh" 0xEE3EC072
58
54
  "tools/mac/CmdExtractor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
59
- "tools/mac/CmdExtractor.app/Contents/Info.plist" 0x0E89084D
60
- "tools/mac/TestRunner.app/Contents/Resources/appIcon.icns" 0xC8D32D55
61
- "tools/mac/TestRunner.app/Contents/MacOS/TestRunner.rb" 0x0B0E0B8B
62
- "tools/mac/TestRunner.app/Contents/MacOS/main.sh" 0x5A8D958C
63
- "tools/mac/TestRunner.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
64
- "tools/mac/TestRunner.app/Contents/Info.plist" 0x482B3BA5
65
- "tools/mac/TlmGrapher.app/Contents/Resources/appIcon.icns" 0xCA324F50
66
- "tools/mac/TlmGrapher.app/Contents/MacOS/main.sh" 0x7BE28DE6
67
- "tools/mac/TlmGrapher.app/Contents/MacOS/TlmGrapher.rb" 0x9464F502
68
- "tools/mac/TlmGrapher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
69
- "tools/mac/TlmGrapher.app/Contents/Info.plist" 0x3623B978
70
- "tools/mac/Launcher.app/Contents/Resources/appIcon.icns" 0x8857CD2B
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
71
77
  "tools/mac/Launcher.app/Contents/MacOS/Launcher.rb" 0xFD4E356C
72
78
  "tools/mac/Launcher.app/Contents/MacOS/main.sh" 0x0B32DAE8
73
79
  "tools/mac/Launcher.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
74
- "tools/mac/Launcher.app/Contents/Info.plist" 0x32A1EF14
75
- "tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns" 0x8DDBD837
76
- "tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb" 0x585EA691
80
+ "tools/mac/Launcher.app/Contents/Resources/appIcon.icns" 0x8857CD2B
81
+ "tools/mac/LimitsMonitor.app/Contents/Info.plist" 0xAF650287
82
+ "tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb" 0x04FD96D8
83
+ "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
77
87
  "tools/mac/OpenGLBuilder.app/Contents/MacOS/main.sh" 0xAD05D35B
88
+ "tools/mac/OpenGLBuilder.app/Contents/MacOS/OpenGLBuilder.rb" 0x585EA691
78
89
  "tools/mac/OpenGLBuilder.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
79
- "tools/mac/OpenGLBuilder.app/Contents/Info.plist" 0x3C2E542D
80
- "tools/mac/HandbookCreator.app/Contents/Resources/appIcon.icns" 0xCEA7C465
81
- "tools/mac/HandbookCreator.app/Contents/MacOS/main.sh" 0x358F92E1
82
- "tools/mac/HandbookCreator.app/Contents/MacOS/HandbookCreator.rb" 0xD927814C
83
- "tools/mac/HandbookCreator.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
84
- "tools/mac/HandbookCreator.app/Contents/Info.plist" 0x7591A548
85
- "tools/mac/TableManager.app/Contents/Resources/appIcon.icns" 0xEBF5074E
90
+ "tools/mac/OpenGLBuilder.app/Contents/Resources/appIcon.icns" 0x8DDBD837
91
+ "tools/mac/PacketViewer.app/Contents/Info.plist" 0x6934BF89
92
+ "tools/mac/PacketViewer.app/Contents/MacOS/main.sh" 0x47F54F98
93
+ "tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb" 0xF23A40BB
94
+ "tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
95
+ "tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns" 0xDF373DAE
96
+ "tools/mac/Replay.app/Contents/Info.plist" 0x894AC4CF
97
+ "tools/mac/Replay.app/Contents/MacOS/main.sh" 0x42370A6F
98
+ "tools/mac/Replay.app/Contents/MacOS/Replay.rb" 0xAC00D2AD
99
+ "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
86
107
  "tools/mac/TableManager.app/Contents/MacOS/main.sh" 0x68092BA9
87
108
  "tools/mac/TableManager.app/Contents/MacOS/TableManager.rb" 0x71F21C88
88
109
  "tools/mac/TableManager.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
89
- "tools/mac/TableManager.app/Contents/Info.plist" 0xF6A5877F
90
- "tools/mac/TlmViewer.app/Contents/Resources/appIcon.icns" 0x1CBA8EB3
91
- "tools/mac/TlmViewer.app/Contents/MacOS/TlmViewer.rb" 0xFE723189
92
- "tools/mac/TlmViewer.app/Contents/MacOS/main.sh" 0xE2F1EAFE
93
- "tools/mac/TlmViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
94
- "tools/mac/TlmViewer.app/Contents/Info.plist" 0x821041E0
95
- "tools/mac/LimitsMonitor.app/Contents/Resources/appIcon.icns" 0xC98BF799
96
- "tools/mac/LimitsMonitor.app/Contents/MacOS/main.sh" 0xAAF1493C
97
- "tools/mac/LimitsMonitor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
98
- "tools/mac/LimitsMonitor.app/Contents/MacOS/LimitsMonitor.rb" 0x04FD96D8
99
- "tools/mac/LimitsMonitor.app/Contents/Info.plist" 0xAF650287
100
- "tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns" 0x0AC88876
101
- "tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb" 0x1EC4639A
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
116
+ "tools/mac/TlmExtractor.app/Contents/Info.plist" 0x343784F4
102
117
  "tools/mac/TlmExtractor.app/Contents/MacOS/main.sh" 0x348F7440
118
+ "tools/mac/TlmExtractor.app/Contents/MacOS/TlmExtractor.rb" 0x1EC4639A
103
119
  "tools/mac/TlmExtractor.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
104
- "tools/mac/TlmExtractor.app/Contents/Info.plist" 0x343784F4
105
- "tools/mac/DataViewer.app/Contents/Resources/appIcon.icns" 0x3EC9B207
106
- "tools/mac/DataViewer.app/Contents/MacOS/DataViewer.rb" 0x9D20734C
107
- "tools/mac/DataViewer.app/Contents/MacOS/main.sh" 0xD40D9D6C
108
- "tools/mac/DataViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
109
- "tools/mac/DataViewer.app/Contents/Info.plist" 0xB79CA16B
110
- "tools/mac/CmdTlmServer.app/Contents/Resources/appIcon.icns" 0x972CDCC6
111
- "tools/mac/CmdTlmServer.app/Contents/MacOS/CmdTlmServer.rb" 0x4C7A4FCB
112
- "tools/mac/CmdTlmServer.app/Contents/MacOS/main.sh" 0x1F1443E6
113
- "tools/mac/CmdTlmServer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
114
- "tools/mac/CmdTlmServer.app/Contents/Info.plist" 0x97E53674
115
- "tools/mac/CmdSender.app/Contents/Resources/appIcon.icns" 0xEC403A52
116
- "tools/mac/CmdSender.app/Contents/MacOS/CmdSender.rb" 0x10346CF4
117
- "tools/mac/CmdSender.app/Contents/MacOS/main.sh" 0x707CA873
118
- "tools/mac/CmdSender.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
119
- "tools/mac/CmdSender.app/Contents/Info.plist" 0x87039019
120
- "tools/mac/ScriptRunner.app/Contents/Resources/appIcon.icns" 0x9246743E
121
- "tools/mac/ScriptRunner.app/Contents/MacOS/main.sh" 0xCE8AE11F
122
- "tools/mac/ScriptRunner.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
123
- "tools/mac/ScriptRunner.app/Contents/MacOS/ScriptRunner.rb" 0x20F38758
124
- "tools/mac/ScriptRunner.app/Contents/Info.plist" 0x1BC8C5E9
125
- "tools/mac/Replay.app/Contents/Resources/appIcon.icns" 0x0E6B32E5
126
- "tools/mac/Replay.app/Contents/MacOS/Replay.rb" 0xAC00D2AD
127
- "tools/mac/Replay.app/Contents/MacOS/main.sh" 0x42370A6F
128
- "tools/mac/Replay.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
129
- "tools/mac/Replay.app/Contents/Info.plist" 0x894AC4CF
130
- "tools/mac/PacketViewer.app/Contents/Resources/appIcon.icns" 0xDF373DAE
131
- "tools/mac/PacketViewer.app/Contents/MacOS/main.sh" 0x47F54F98
132
- "tools/mac/PacketViewer.app/Contents/MacOS/tool_launch.rb" 0x0BDB6696
133
- "tools/mac/PacketViewer.app/Contents/MacOS/PacketViewer.rb" 0xF23A40BB
134
- "tools/mac/PacketViewer.app/Contents/Info.plist" 0x6934BF89
135
- "tools/LimitsMonitor" 0x04FD96D8
136
- "tools/HandbookCreator" 0xD927814C
137
- "tools/Replay.bat" 0x09A34857
138
- "tools/Launcher" 0xFD4E356C
139
- "tools/CmdExtractor.bat" 0x09A34857
120
+ "tools/mac/TlmExtractor.app/Contents/Resources/appIcon.icns" 0x0AC88876
121
+ "tools/mac/TlmGrapher.app/Contents/Info.plist" 0x3623B978
122
+ "tools/mac/TlmGrapher.app/Contents/MacOS/main.sh" 0x7BE28DE6
123
+ "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
140
132
  "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
141
138
  "tools/ScriptRunner.bat" 0x09A34857
142
- "tools/tool_launch.rb" 0x0BDB6696
143
139
  "tools/TableManager" 0x71F21C88
144
- "tools/TlmViewer" 0xFE723189
145
- "tools/CmdExtractor" 0x96E82AC3
146
- "tools/DataViewer.bat" 0x09A34857
147
- "tools/CmdTlmServer" 0x4C7A4FCB
148
- "tools/ScriptRunner" 0x20F38758
149
- "tools/DataViewer" 0x9D20734C
140
+ "tools/TableManager.bat" 0x09A34857
141
+ "tools/TestRunner" 0x0B0E0B8B
142
+ "tools/TestRunner.bat" 0x09A34857
143
+ "tools/TlmExtractor" 0x1EC4639A
144
+ "tools/TlmExtractor.bat" 0x09A34857
145
+ "tools/TlmGrapher" 0x9464F502
150
146
  "tools/TlmGrapher.bat" 0x09A34857
147
+ "tools/TlmViewer" 0xFE723189
148
+ "tools/TlmViewer.bat" 0x09A34857
149
+ "tools/tool_launch.rb" 0x0BDB6696
150
+ "tools/ToolLaunch.bat" 0x7896E14C
151
151
  "procedures/README.txt" 0x93B2C07E
@@ -42,6 +42,12 @@ module Cosmos
42
42
  self.class.to_s.split('::')[-1]
43
43
  end
44
44
 
45
+ # @param (see Conversion#to_config)
46
+ # @return [String] Config fragment for this conversion
47
+ def to_config(read_or_write)
48
+ " #{read_or_write}_CONVERSION #{self.class.name.class_name_to_filename}\n"
49
+ end
50
+
45
51
  end # class Conversion
46
52
 
47
53
  end # module Cosmos
@@ -50,6 +50,18 @@ module Cosmos
50
50
  "#{@code_to_eval}"
51
51
  end
52
52
 
53
+ # @param (see Conversion#to_config)
54
+ # @return [String] Config fragment for this conversion
55
+ def to_config(read_or_write)
56
+ config = " GENERIC_#{read_or_write}_CONVERSION_START"
57
+ config << " #{@converted_type}" if @converted_type
58
+ config << " #{@converted_bit_size}" if @converted_bit_size
59
+ config << "\n"
60
+ config << @code_to_eval
61
+ config << " GENERIC_#{read_or_write}_CONVERSION_END\n"
62
+ config
63
+ end
64
+
53
65
  end # class GenericConversion
54
66
 
55
67
  end # module Cosmos
@@ -41,6 +41,12 @@ module Cosmos
41
41
  result
42
42
  end
43
43
 
44
+ # @param (see Conversion#to_config)
45
+ # @return [String] Config fragment for this conversion
46
+ def to_config(read_or_write)
47
+ " #{read_or_write}_CONVERSION #{self.class.name.class_name_to_filename} #{@packet_log_write_name}\n"
48
+ end
49
+
44
50
  end # class NewPacketLogConversion
45
51
 
46
52
  end # module Cosmos
@@ -52,6 +52,12 @@ module Cosmos
52
52
  result
53
53
  end
54
54
 
55
+ # @param (see Conversion#to_config)
56
+ # @return [String] Config fragment for this conversion
57
+ def to_config(read_or_write)
58
+ " POLY_#{read_or_write}_CONVERSION #{@coeffs.join(' ')}\n"
59
+ end
60
+
55
61
  end # class PolynomialConversion
56
62
 
57
63
  end # module Cosmos
@@ -41,6 +41,16 @@ module Cosmos
41
41
  "ProcessorConversion #{@processor_name} #{@result_name}"
42
42
  end
43
43
 
44
+ # @param (see Conversion#to_config)
45
+ # @return [String] Config fragment for this conversion
46
+ def to_config(read_or_write)
47
+ config = " #{read_or_write}_CONVERSION #{self.class.name.class_name_to_filename} #{@processor_name} #{@result_name}"
48
+ config << " #{@converted_type}" if @converted_type
49
+ config << " #{@converted_bit_size}" if @converted_bit_size
50
+ config << "\n"
51
+ config
52
+ end
53
+
44
54
  end # class ProcessorConversion
45
55
 
46
56
  end # module Cosmos
@@ -124,6 +124,16 @@ module Cosmos
124
124
  result
125
125
  end
126
126
 
127
+ # @param (see Conversion#to_config)
128
+ # @return [String] Config fragment for this conversion
129
+ def to_config(read_or_write)
130
+ config = ''
131
+ @segments.each do |segment|
132
+ config << " SEG_POLY_#{read_or_write}_CONVERSION #{segment.lower_bound} #{segment.coeffs.join(' ')}\n"
133
+ end
134
+ config
135
+ end
136
+
127
137
  end # class SegmentedPolynomialConversion
128
138
 
129
139
  end # module Cosmos
@@ -46,6 +46,12 @@ module Cosmos
46
46
  end
47
47
  end
48
48
 
49
+ # @param (see Conversion#to_config)
50
+ # @return [String] Config fragment for this conversion
51
+ def to_config(read_or_write)
52
+ " #{read_or_write}_CONVERSION #{self.class.name.class_name_to_filename} #{@seconds_item_name} #{@microseconds_item_name}\n"
53
+ end
54
+
49
55
  end # class UnixTimeConversion
50
56
 
51
57
  end # module Cosmos
@@ -247,11 +247,12 @@ class String
247
247
  # @param include_extension [Boolean] Whether to add '.rb' extension
248
248
  # @return [String] Filename which implements the class name
249
249
  def class_name_to_filename(include_extension = true)
250
+ string = self.split("::")[-1] # Remove any namespacing
250
251
  filename = ''
251
- length = self.length
252
+ length = string.length
252
253
  length.times do |index|
253
- filename << '_' if index != 0 and self[index..index] == self[index..index].upcase
254
- filename << self[index..index].downcase
254
+ filename << '_' if index != 0 and string[index..index] == string[index..index].upcase
255
+ filename << string[index..index].downcase
255
256
  end
256
257
  filename << '.rb' if include_extension
257
258
  filename
@@ -263,8 +264,8 @@ class String
263
264
  # @return [String] Class name associated with the filename
264
265
  def filename_to_class_name
265
266
  filename = File.basename(self)
266
- class_name = ''
267
- length = filename.length
267
+ class_name = ''
268
+ length = filename.length
268
269
  upcase_next = true
269
270
  length.times do |index|
270
271
  break if filename[index..index] == '.'
@@ -308,4 +309,16 @@ class String
308
309
  klass
309
310
  end
310
311
 
312
+ # Adds quotes if the string contains whitespace
313
+ #
314
+ # @param quote_char [String] The quote character to add if necessary
315
+ # @return [String] quoted string if necessary
316
+ def quote_if_necessary(quote_char = '"')
317
+ if self =~ /\s/
318
+ return quote_char + self + quote_char
319
+ else
320
+ return self
321
+ end
322
+ end
323
+
311
324
  end # class String