cosmos 4.4.0 → 4.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +2 -0
  3. data/.gitignore +1 -0
  4. data/.travis.yml +6 -6
  5. data/Dockerfile +70 -0
  6. data/Manifest.txt +37 -2
  7. data/README.md +9 -0
  8. data/Rakefile +55 -5
  9. data/appveyor.yml +18 -8
  10. data/autohotkey/config/tools/cmd_sequence/cmd_sequence.txt +2 -0
  11. data/autohotkey/lib/cmd_sequence_exporter.rb +52 -0
  12. data/autohotkey/procedures/collect.rb +2 -2
  13. data/autohotkey/procedures/collect_util.rb +1 -1
  14. data/autohotkey/procedures/script_test.rb +1 -1
  15. data/autohotkey/tools/CmdSenderAHK2 +18 -0
  16. data/autohotkey/tools/cmd_extractor.ahk +11 -9
  17. data/autohotkey/tools/cmd_sender.ahk +35 -7
  18. data/autohotkey/tools/cmd_sender2.ahk +4 -0
  19. data/autohotkey/tools/cmd_sequence.ahk +22 -9
  20. data/autohotkey/tools/config_editor.ahk +4 -4
  21. data/autohotkey/tools/data_viewer.ahk +1 -1
  22. data/autohotkey/tools/limits_monitor.ahk +1 -1
  23. data/autohotkey/tools/packet_viewer.ahk +1 -1
  24. data/autohotkey/tools/script_runner.ahk +1 -1
  25. data/autohotkey/tools/test_runner2.ahk +1 -1
  26. data/autohotkey/tools/tlm_grapher.ahk +1 -1
  27. data/autohotkey/tools/tlm_grapher3.ahk +1 -1
  28. data/autohotkey/tools/tlm_viewer.ahk +1 -1
  29. data/autohotkey/tools/tlm_viewer2.ahk +1 -1
  30. data/autohotkey/tools/tlm_viewer5.ahk +1 -1
  31. data/bin/cstol_converter +1 -1
  32. data/bin/rubysloc +73 -28
  33. data/bin/xtce_converter +1 -1
  34. data/cosmos.gemspec +2 -2
  35. data/data/config/command_modifiers.yaml +16 -1
  36. data/data/config/interface_modifiers.yaml +3 -2
  37. data/data/config/param_item_modifiers.yaml +5 -0
  38. data/data/config/system.yaml +110 -23
  39. data/data/config/telemetry_modifiers.yaml +16 -1
  40. data/data/crc.txt +416 -411
  41. data/demo/Rakefile +4 -4
  42. data/demo/config/dart/Gemfile +1 -6
  43. data/demo/config/data/crc.txt +233 -232
  44. data/demo/config/system/system.txt +17 -6
  45. data/demo/config/system/system2.txt +17 -6
  46. data/demo/config/system/system_alt_ports.txt +17 -6
  47. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +4 -4
  48. data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +4 -0
  49. data/demo/config/targets/INST/cmd_tlm/inst_tlm_override.txt +12 -0
  50. data/demo/config/targets/INST/lib/sim_inst.rb +2 -2
  51. data/demo/config/targets/INST/target.txt +1 -0
  52. data/demo/config/tools/handbook_creator/default_toc.xsl +59 -59
  53. data/demo/procedures/cosmos_api_test.rb +8 -8
  54. data/ext/cosmos/ext/buffered_file/buffered_file.c +2 -2
  55. data/ext/cosmos/ext/config_parser/config_parser.c +1 -2
  56. data/ext/cosmos/ext/line_graph/line_graph.c +53 -94
  57. data/ext/cosmos/ext/platform/platform.c +56 -21
  58. data/ext/cosmos/ext/polynomial_conversion/polynomial_conversion.c +4 -8
  59. data/ext/cosmos/ext/structure/structure.c +12 -0
  60. data/extensions/vscode/.gitignore +4 -0
  61. data/extensions/vscode/.vscode/launch.json +32 -0
  62. data/extensions/vscode/.vscode/settings.json +13 -0
  63. data/extensions/vscode/.vscode/tasks.json +79 -0
  64. data/extensions/vscode/License.txt +879 -0
  65. data/extensions/vscode/README.md +9 -0
  66. data/extensions/vscode/client/License.txt +879 -0
  67. data/extensions/vscode/client/README.md +39 -0
  68. data/extensions/vscode/client/cosmos.configuration.json +23 -0
  69. data/extensions/vscode/client/images/icon.png +0 -0
  70. data/extensions/vscode/client/package-lock.json +414 -0
  71. data/extensions/vscode/client/package.json +105 -0
  72. data/extensions/vscode/client/src/extension.ts +132 -0
  73. data/extensions/vscode/client/src/screen_preview.rb +25 -0
  74. data/extensions/vscode/client/syntaxes/cosmos.tmLanguage.json +219 -0
  75. data/extensions/vscode/client/tsconfig.json +17 -0
  76. data/extensions/vscode/package-lock.json +26 -0
  77. data/extensions/vscode/package.json +35 -0
  78. data/extensions/vscode/server/License.txt +879 -0
  79. data/extensions/vscode/server/package-lock.json +236 -0
  80. data/extensions/vscode/server/package.json +29 -0
  81. data/extensions/vscode/server/src/server.ts +59 -0
  82. data/extensions/vscode/server/tsconfig.json +16 -0
  83. data/install/Rakefile +4 -4
  84. data/install/config/dart/Gemfile +2 -7
  85. data/install/config/data/crc.txt +137 -137
  86. data/install/config/system/system.txt +17 -6
  87. data/install/config/tools/handbook_creator/default_toc.xsl +59 -59
  88. data/lib/cosmos/config/config_parser.rb +2 -10
  89. data/lib/cosmos/core_ext/class.rb +10 -0
  90. data/lib/cosmos/core_ext/time.rb +5 -3
  91. data/lib/cosmos/dart/config/boot.rb +1 -1
  92. data/lib/cosmos/dart/config/database.yml +2 -0
  93. data/lib/cosmos/dart/examples/dart_decom_client.rb +1 -1
  94. data/lib/cosmos/dart/lib/dart_common.rb +12 -5
  95. data/lib/cosmos/dart/lib/dart_constants.rb +15 -0
  96. data/lib/cosmos/dart/lib/dart_decom_query.rb +5 -6
  97. data/lib/cosmos/dart/lib/dart_decommutator.rb +64 -54
  98. data/lib/cosmos/dart/lib/dart_master_query.rb +71 -0
  99. data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +165 -134
  100. data/lib/cosmos/dart/processes/dart.rb +4 -2
  101. data/lib/cosmos/dart/processes/dart_decom_server.rb +3 -3
  102. data/lib/cosmos/dart/processes/dart_ingester.rb +38 -1
  103. data/lib/cosmos/dart/processes/dart_master.rb +44 -0
  104. data/lib/cosmos/dart/processes/dart_util.rb +115 -0
  105. data/lib/cosmos/dart/spec/dart/dart_database_cleaner_spec.rb +2 -2
  106. data/lib/cosmos/gui/qt.rb +10 -10
  107. data/lib/cosmos/gui/qt_tool.rb +17 -12
  108. data/lib/cosmos/gui/text/completion_text_edit.rb +2 -0
  109. data/lib/cosmos/gui/widgets/dart_meta_frame.rb +22 -3
  110. data/lib/cosmos/interfaces/dart_status_interface.rb +1 -1
  111. data/lib/cosmos/interfaces/linc_interface.rb +3 -3
  112. data/lib/cosmos/interfaces/protocols/burst_protocol.rb +1 -1
  113. data/lib/cosmos/interfaces/protocols/crc_protocol.rb +1 -1
  114. data/lib/cosmos/interfaces/protocols/length_protocol.rb +5 -0
  115. data/lib/cosmos/interfaces/protocols/template_protocol.rb +3 -3
  116. data/lib/cosmos/interfaces/serial_interface.rb +7 -1
  117. data/lib/cosmos/interfaces/stream_interface.rb +1 -1
  118. data/lib/cosmos/interfaces/tcpip_server_interface.rb +16 -16
  119. data/lib/cosmos/io/io_multiplexer.rb +6 -2
  120. data/lib/cosmos/io/json_drb.rb +5 -5
  121. data/lib/cosmos/io/json_drb_object.rb +7 -2
  122. data/lib/cosmos/io/json_drb_rack.rb +25 -5
  123. data/lib/cosmos/io/json_rpc.rb +1 -1
  124. data/lib/cosmos/io/posix_serial_driver.rb +60 -22
  125. data/lib/cosmos/io/serial_driver.rb +11 -8
  126. data/lib/cosmos/io/win32_serial_driver.rb +31 -3
  127. data/lib/cosmos/packet_logs/packet_log_reader.rb +2 -2
  128. data/lib/cosmos/packets/packet.rb +9 -9
  129. data/lib/cosmos/packets/packet_config.rb +27 -9
  130. data/lib/cosmos/packets/parsers/xtce_converter.rb +10 -10
  131. data/lib/cosmos/packets/parsers/xtce_parser.rb +3 -0
  132. data/lib/cosmos/packets/structure.rb +35 -5
  133. data/lib/cosmos/packets/structure_item.rb +5 -1
  134. data/lib/cosmos/packets/telemetry.rb +7 -1
  135. data/lib/cosmos/script/api_shared.rb +18 -1
  136. data/lib/cosmos/script/extract.rb +1 -1
  137. data/lib/cosmos/script/script.rb +4 -11
  138. data/lib/cosmos/streams/serial_stream.rb +11 -6
  139. data/lib/cosmos/system/system.rb +155 -57
  140. data/lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb +15 -0
  141. data/lib/cosmos/tools/cmd_sender/cmd_params.rb +382 -0
  142. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +29 -318
  143. data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +14 -17
  144. data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +38 -331
  145. data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +16 -11
  146. data/lib/cosmos/tools/cmd_tlm_server/api.rb +10 -8
  147. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server.rb +2 -2
  148. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +1 -0
  149. data/lib/cosmos/tools/cmd_tlm_server/gui/logging_tab.rb +1 -1
  150. data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +29 -26
  151. data/lib/cosmos/tools/cmd_tlm_server/limits_groups_background_task.rb +1 -1
  152. data/lib/cosmos/tools/cmd_tlm_server/router_thread.rb +5 -0
  153. data/lib/cosmos/tools/config_editor/config_editor.rb +34 -3
  154. data/lib/cosmos/tools/config_editor/config_editor_frame.rb +8 -9
  155. data/lib/cosmos/tools/config_editor/system_config_dialog.rb +158 -0
  156. data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +1 -1
  157. data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +1 -1
  158. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +7 -4
  159. data/lib/cosmos/tools/test_runner/test.rb +6 -3
  160. data/lib/cosmos/tools/test_runner/test_runner.rb +6 -6
  161. data/lib/cosmos/tools/tlm_extractor/tlm_extractor.rb +3 -3
  162. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_config.rb +1 -4
  163. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +20 -16
  164. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +21 -17
  165. data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +18 -11
  166. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +17 -6
  167. data/lib/cosmos/tools/tlm_viewer/widgets/canvasdot_widget.rb +2 -0
  168. data/lib/cosmos/top_level.rb +1 -1
  169. data/lib/cosmos/utilities/ruby_lex_utils.rb +34 -30
  170. data/lib/cosmos/utilities/simulated_target.rb +1 -1
  171. data/lib/cosmos/version.rb +5 -5
  172. data/lib/cosmos/win32/excel.rb +23 -17
  173. data/run_gui_tests.bat +1 -0
  174. data/spec/core_ext/class_spec.rb +54 -0
  175. data/spec/core_ext/socket_spec.rb +1 -1
  176. data/spec/core_ext/time_spec.rb +4 -0
  177. data/spec/install/yaml_docs_spec.rb +26 -6
  178. data/spec/interfaces/linc_interface_spec.rb +1 -1
  179. data/spec/interfaces/protocols/length_protocol_spec.rb +39 -0
  180. data/spec/interfaces/serial_interface_spec.rb +1 -5
  181. data/spec/io/json_drb_rack_spec.rb +166 -0
  182. data/spec/io/json_drb_spec.rb +14 -0
  183. data/spec/io/json_rpc_spec.rb +4 -5
  184. data/spec/io/posix_serial_driver_spec.rb +81 -0
  185. data/spec/io/win32_serial_driver_spec.rb +33 -3
  186. data/spec/packet_logs/packet_log_reader_spec.rb +36 -37
  187. data/spec/packets/structure_spec.rb +52 -2
  188. data/spec/packets/telemetry_spec.rb +29 -1
  189. data/spec/script/extract_spec.rb +4 -1
  190. data/spec/system/system_spec.rb +111 -3
  191. data/spec/tools/cmd_tlm_server/api_spec.rb +12 -12
  192. data/spec/tools/cmd_tlm_server/background_tasks_spec.rb +2 -2
  193. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +4 -3
  194. data/spec/tools/cmd_tlm_server/router_thread_spec.rb +2 -3
  195. data/spec/utilities/logger_spec.rb +3 -3
  196. data/spec/utilities/message_log_spec.rb +6 -3
  197. data/tasks/gemfile_stats.rake +22 -13
  198. data/test/performance/Rakefile +4 -4
  199. data/test/performance/config/data/crc.txt +67 -48
  200. metadata +52 -11
  201. data/demo/outputs/dart/logs/README.txt +0 -1
  202. data/lib/cosmos/dart/Gemfile +0 -69
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  AUTO_DECLARE_TARGETS:
3
3
  summary: Automatically load all the target folders under config/targets into the system
4
- description: When automatically discovering target folders the COSMOS naming convention
4
+ description:
5
+ When automatically discovering target folders the COSMOS naming convention
5
6
  must be followed. Target folders must be uppercase and be named according to how
6
7
  COSMOS will access them. For example, if you create a config/targets/INST directory,
7
8
  COSMOS will create a target named 'INST' which is how it will be referenced.
@@ -9,7 +10,8 @@ AUTO_DECLARE_TARGETS:
9
10
  DECLARE_TARGET keyword.
10
11
  DECLARE_TARGET:
11
12
  summary: Declare a COSMOS target and name it
12
- description: Declare target is used in place of AUTO_DECLARE_TARGETS to give more
13
+ description:
14
+ Declare target is used in place of AUTO_DECLARE_TARGETS to give more
13
15
  fine grained control over how the target folder is loaded and named within COSMOS.
14
16
  This is required if AUTO_DECLARE_TARGET is not present.
15
17
  example: DECLARE_TARGET INST INST2 inst.txt
@@ -26,7 +28,8 @@ DECLARE_TARGET:
26
28
  the target name will be the directory name given above.
27
29
  - name: Target Filename
28
30
  required: false
29
- description: The name of the file in the target directory which contains the
31
+ description:
32
+ The name of the file in the target directory which contains the
30
33
  configuration information for the target. By default this is 'target.txt'
31
34
  but if you want to rename this you need to set this parameter.
32
35
  DECLARE_GEM_TARGET:
@@ -38,7 +41,8 @@ DECLARE_GEM_TARGET:
38
41
  parameters:
39
42
  - name: Gem Name
40
43
  required: true
41
- description: The COSMOS gem name which must be cosmos-<gem-name> where <gem-name>
44
+ description:
45
+ The COSMOS gem name which must be cosmos-<gem-name> where <gem-name>
42
46
  is the descriptive gem name. In the above example, the target will be named
43
47
  'GEM-NAME' (note the cosmos- prefix is stripped off).
44
48
  values: .+
@@ -49,12 +53,47 @@ DECLARE_GEM_TARGET:
49
53
  the target name will be the gem name as described above.
50
54
  - name: Target Filename
51
55
  required: false
52
- description: The name of the file in the target directory which contains the
56
+ description:
57
+ The name of the file in the target directory which contains the
58
+ configuration information for the target. By default this is 'target.txt'
59
+ but if you want to rename this you need to set this parameter.
60
+ DECLARE_GEM_MULTI_TARGET:
61
+ summary: Declare a COSMOS target which resides in a Ruby gem with multiple targets
62
+ description: COSMOS targets can be distributed in gem form in which case they
63
+ must be named 'cosmos-<gem-name>' where <gem-name> is the descriptive name of
64
+ the gem. Multiple Targets can be packaged into a single gem. This directive
65
+ will tell COSMOS where to look for a target inside the first directory level
66
+ of the gem. The sub-directory name must be all uppercase and must contain a
67
+ sub-directory named 'cmd_tlm'. See the COSMOS documentation at cosmosrb.com
68
+ for for information on creating a COSMOS gem target.
69
+ parameters:
70
+ - name: Gem Name
71
+ required: true
72
+ description:
73
+ The COSMOS gem name which must be cosmos-<gem-name> where <gem-name>
74
+ is the descriptive gem name. In the above example, the target will be named
75
+ 'GEM-NAME' (note the cosmos- prefix is stripped off).
76
+ values: .+
77
+ - name: Target Name
78
+ required: true
79
+ description: The directory name which contains the target information.
80
+ This must match a directory under the first level of the gem base directory.
81
+ values: .+
82
+ - name: Substitute Target Name
83
+ required: false
84
+ description: The target name in the COSMOS system. This is how the target
85
+ will be referred to in scripts. If this is not given (or given as nil)
86
+ the target name will be the gem name as described above.
87
+ - name: Target Filename
88
+ required: false
89
+ description:
90
+ The name of the file in the target directory which contains the
53
91
  configuration information for the target. By default this is 'target.txt'
54
92
  but if you want to rename this you need to set this parameter.
55
93
  PORT:
56
94
  summary: Set a Server Port
57
- description: Port is used to set the default ports used by the Command and Telemetry Server.
95
+ description:
96
+ Port is used to set the default ports used by the Command and Telemetry Server.
58
97
  It is not necessary to set this option unless you wish to override the defaults
59
98
  (given in the example usage). Overriding ports is necessary if you want to run
60
99
  two Command and Telemetry Servers on the same computer simultaneously.
@@ -65,7 +104,8 @@ PORT:
65
104
  parameters:
66
105
  - name: Port Name
67
106
  required: true
68
- description: CTS_API - This port is what tools connect to to communicate with the COSMOS Scripting API.
107
+ description:
108
+ CTS_API - This port is what tools connect to to communicate with the COSMOS Scripting API.
69
109
  TLMVIEWER_API - This port is used to remotely open and close telemetry screens in Telemetry Viewer.
70
110
  CTS_PREIDENTIFIED - This port provides access to a preidentified stream of all telemetry packets
71
111
  in the system. This is currently used by Telemetry Grapher and can be used to chain Command
@@ -83,7 +123,8 @@ LISTEN_HOST:
83
123
  parameters:
84
124
  - name: Host Port Name
85
125
  required: true
86
- description: CTS_API - This port is what tools connect to to communicate with the COSMOS Scripting API.
126
+ description:
127
+ CTS_API - This port is what tools connect to to communicate with the COSMOS Scripting API.
87
128
  TLMVIEWER_API - This port is used to remotely open and close telemetry screens in Telemetry Viewer.
88
129
  CTS_PREIDENTIFIED - This port provides access to a preidentified stream of all telemetry packets
89
130
  in the system. This is currently used by Telemetry Grapher and can be used to chain Command
@@ -93,7 +134,8 @@ LISTEN_HOST:
93
134
  values: <%= %w(CTS_API TLMVIEWER_API CTS_PREIDENTIFIED CTS_CMD_ROUTER) %>
94
135
  - name: Host Value
95
136
  required: true
96
- description: The IP address or host name to bind the Host Port Name to. By default,
137
+ description:
138
+ The IP address or host name to bind the Host Port Name to. By default,
97
139
  the CTS_API and TLMVIEWER_API are bound to localhost meaning that only tools
98
140
  on the same machine can connect. By default, CTS_PREIDENTIFIED and CTS_CMD_ROUTER
99
141
  are bound to '0.0.0.0' to allow for tools on any machines to connect. This
@@ -105,7 +147,8 @@ CONNECT_HOST:
105
147
  parameters:
106
148
  - name: Host Port Name
107
149
  required: true
108
- description: CTS_API - This port is what tools connect to to communicate with the COSMOS Scripting API.
150
+ description:
151
+ CTS_API - This port is what tools connect to to communicate with the COSMOS Scripting API.
109
152
  TLMVIEWER_API - This port is used to remotely open and close telemetry screens in Telemetry Viewer.
110
153
  CTS_PREIDENTIFIED - This port provides access to a preidentified stream of all telemetry packets
111
154
  in the system. This is currently used by Telemetry Grapher and can be used to chain Command
@@ -115,15 +158,18 @@ CONNECT_HOST:
115
158
  values: <%= %w(CTS_API TLMVIEWER_API CTS_PREIDENTIFIED CTS_CMD_ROUTER) %>
116
159
  - name: Host Value
117
160
  required: true
118
- description: The IP address or host name to connect tools to. By default all
161
+ description:
162
+ The IP address or host name to connect tools to. By default all
119
163
  ports are bound to localhost so all tools connect to the local machine.
120
164
  values: .+
121
165
  PATH:
122
166
  summary: Set a Server Path
123
- description: Path is used to set the default paths used by the Command and Telemetry Server
167
+ description:
168
+ Path is used to set the default paths used by the Command and Telemetry Server
124
169
  to access or create files. It is not necessary to set this option unless you wish to
125
170
  override the defaults (given in the example usage).
126
- warning: The PROCEDURES path must be set for Script Runner and Test Runner to locate your
171
+ warning:
172
+ The PROCEDURES path must be set for Script Runner and Test Runner to locate your
127
173
  procedure files. You can add multiple 'PATH PROCEDURES' lines to your configuration file
128
174
  to set multiple locations.
129
175
  example: |
@@ -174,7 +220,8 @@ DEFAULT_PACKET_LOG_READER:
174
220
  since: 4.0.0
175
221
  STALENESS_SECONDS:
176
222
  summary: Number of seconds before marking the packet stale
177
- description: A stale packet is identified in telemetry screens by all the telemetry
223
+ description:
224
+ A stale packet is identified in telemetry screens by all the telemetry
178
225
  items in the stale packet being colored purple..
179
226
  example: STALENESS_SECONDS 30 # Default
180
227
  parameters:
@@ -196,7 +243,8 @@ DISABLE_DNS:
196
243
  As of COSMOS 3.5.0 the default is to not use DNS
197
244
  ENABLE_SOUND:
198
245
  summary: Enable audible sounds when popups occur
199
- description: Enable sound makes any prompts that occur in ScriptRunner/TestRunner
246
+ description:
247
+ Enable sound makes any prompts that occur in ScriptRunner/TestRunner
200
248
  make an audible sound when they popup to alert the operator of needed input.
201
249
  since: 3.5.0
202
250
  ALLOW_ACCESS:
@@ -205,12 +253,14 @@ ALLOW_ACCESS:
205
253
  parameters:
206
254
  - name: Name or IP Address
207
255
  required: true
208
- description: Machine name to allow access or you can specify 'ALL' to allow
256
+ description:
257
+ Machine name to allow access or you can specify 'ALL' to allow
209
258
  all machines access
210
259
  values: .+
211
260
  META_INIT:
212
261
  summary: Specify a file to initialize the SYSTEM META packet
213
- description: Filename should be a text file with key value pairs where the keyword
262
+ description:
263
+ Filename should be a text file with key value pairs where the keyword
214
264
  matches an item in the SYSTEM META packet. Note you do not have to specify ALL
215
265
  the items in the SYSTEM META packet.
216
266
  since: 4.0.0
@@ -221,7 +271,8 @@ META_INIT:
221
271
  values: .+
222
272
  TIME_ZONE_UTC:
223
273
  summary: Report all times as UTC
224
- description: COSMOS will report all times as UTC time. If this keyword is not used,
274
+ description:
275
+ COSMOS will report all times as UTC time. If this keyword is not used,
225
276
  COSMOS will report all times as local times, where the local time zone is determined
226
277
  automatically by Ruby based upon the operating system time settings. This setting
227
278
  affects packet receive times, timestamped log filenames, message logs,
@@ -229,7 +280,8 @@ TIME_ZONE_UTC:
229
280
  since: 3.10.0
230
281
  ADD_HASH_FILE:
231
282
  summary: Add a file to the hashing sum calculation
232
- description: Adds a file to the set of files used in marshal file hashing sum calculation.
283
+ description:
284
+ Adds a file to the set of files used in marshal file hashing sum calculation.
233
285
  Upon startup, COSMOS calculates a hashing sum over the command/telemetry definition files
234
286
  for all targets. After the definitions have been processed, COSMOS saves the resulting
235
287
  objects as marshal files in a folder with the hashing sum as part of the name.
@@ -257,11 +309,11 @@ CLASSIFICATION:
257
309
  - name: Display Text
258
310
  required: true
259
311
  description: The text to display in the classification banner
260
- values: '.*'
312
+ values: ".*"
261
313
  - name: Color Name | Red Hex
262
314
  required: true
263
315
  description: The color name or the red value of a RGB triplet
264
- values: '.*'
316
+ values: ".*"
265
317
  - name: Green Hex
266
318
  required: false
267
319
  description: The green value of a RGB triplet
@@ -272,7 +324,8 @@ CLASSIFICATION:
272
324
  values: '\d+'
273
325
  HASHING_ALGORITHM:
274
326
  summary: Specify which Ruby Digest hashing algorithm to use
275
- description: Set the hashing algorithm used for config hashing, tlm_viewer hashing, and
327
+ description:
328
+ Set the hashing algorithm used for config hashing, tlm_viewer hashing, and
276
329
  script hashing. COSMOS will truncate the resulting hash string down to 32 characters
277
330
  since: 4.4.0
278
331
  example: HASHING_ALGORITHM SHA256
@@ -281,4 +334,38 @@ HASHING_ALGORITHM:
281
334
  required: true
282
335
  description: Digest algorithm, one of MD5, RMD160, SHA1, SHA256, SHA384, SHA512
283
336
  values: .+
284
-
337
+ ALLOW_ROUTER_COMMANDING:
338
+ summary: Allow routers to receive and forward commands to interfaces
339
+ since: 4.5.0
340
+ example: ALLOW_ROUTER_COMMANDING
341
+ X_CSRF_TOKEN:
342
+ summary: Secret token passed with API calls
343
+ since: 4.5.0
344
+ example: X_CSRF_TOKEN Secret
345
+ parameters:
346
+ - name: token
347
+ required: true
348
+ description: Token passed with api calls
349
+ values: .+
350
+ ALLOW_ORIGIN:
351
+ summary: Allow a specific HTTP Origin header in Api calls
352
+ description: This keyword should only be used if COSMOS needs to be commanded from a web server.
353
+ since: 4.5.0
354
+ example: ALLOW_ORIGIN 1.2.4.4:8080
355
+ parameters:
356
+ - name: origin
357
+ required: true
358
+ description: Hostname colon port of origin
359
+ values: .+
360
+ ALLOW_HOST:
361
+ summary: Allow a specific HTTP Host header in Api calls
362
+ description:
363
+ By default includes ['127.0.0.1:7777', '127.0.0.1:7778', '127.0.0.1:7877', '127.0.0.1:8779', '127.0.0.1:8780'].
364
+ API Ports changed by a PORT line will also be added automatically. If you need external connections you must add your ip and
365
+ these ports to allow external access to work for apis
366
+ example: ALLOW_HOST 1.2.4.4:7777
367
+ parameters:
368
+ - name: host
369
+ required: true
370
+ description: Hostname colon port of host
371
+ values: .+
@@ -79,7 +79,7 @@ ARRAY_ITEM:
79
79
  APPEND_ARRAY_ITEM:
80
80
  modifiers:
81
81
  <%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
82
- summary: Defines a telemetry item in the current telemetry packedt that is an array
82
+ summary: Defines a telemetry item in the current telemetry packet that is an array
83
83
  example: APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats"
84
84
  parameters:
85
85
  - name: Name
@@ -99,6 +99,21 @@ SELECT_ITEM:
99
99
  required: true
100
100
  description: Name of the item to select for modification
101
101
  values: .+
102
+ DELETE_ITEM:
103
+ summary: Delete an existing telemetry item from the packet definition
104
+ description: Deleting an item from the packet definition does not remove the
105
+ defined space for that item. Thus unless you redefine a new item, there
106
+ will be a "hole" in the packet where the data is not accessible. You can
107
+ use SELECT_TELEMETRY and then ITEM to define a new item.
108
+ example: |
109
+ SELECT_TELEMETRY SYSTEM LIMITS_CHANGE
110
+ DELETE_ITEM ITEM
111
+ since: 4.4.1
112
+ parameters:
113
+ - name: Item
114
+ required: true
115
+ description: Name of the item to delete
116
+ values: .+
102
117
  META:
103
118
  summary: Stores metadata for the current telemetry packet
104
119
  description: Meta data is user specific data that can be used by custom tools