openc3 5.0.6

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 (307) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +18 -0
  3. data/Guardfile +35 -0
  4. data/LICENSE.txt +727 -0
  5. data/README.md +37 -0
  6. data/Rakefile +131 -0
  7. data/bin/cstol_converter +1178 -0
  8. data/bin/openc3cli +531 -0
  9. data/bin/rubysloc +139 -0
  10. data/data/config/_array_params.yaml +23 -0
  11. data/data/config/_id_items.yaml +24 -0
  12. data/data/config/_id_params.yaml +58 -0
  13. data/data/config/_interfaces.yaml +214 -0
  14. data/data/config/_interfaces.yaml.err +1017 -0
  15. data/data/config/_items.yaml +20 -0
  16. data/data/config/_params.yaml +60 -0
  17. data/data/config/cmd_tlm_server.yaml +136 -0
  18. data/data/config/command.yaml +44 -0
  19. data/data/config/command_modifiers.yaml +160 -0
  20. data/data/config/command_telemetry.yaml +3 -0
  21. data/data/config/interface_modifiers.yaml +104 -0
  22. data/data/config/item_modifiers.yaml +221 -0
  23. data/data/config/microservice.yaml +78 -0
  24. data/data/config/param_item_modifiers.yaml +52 -0
  25. data/data/config/parameter_modifiers.yaml +200 -0
  26. data/data/config/plugins.yaml +80 -0
  27. data/data/config/protocols.yaml +290 -0
  28. data/data/config/screen.yaml +147 -0
  29. data/data/config/table_manager.yaml +89 -0
  30. data/data/config/table_parameter_modifiers.yaml +9 -0
  31. data/data/config/target.yaml +142 -0
  32. data/data/config/target_config.yaml +94 -0
  33. data/data/config/telemetry.yaml +87 -0
  34. data/data/config/telemetry_modifiers.yaml +159 -0
  35. data/data/config/tool.yaml +63 -0
  36. data/data/config/unknown.yaml +3 -0
  37. data/data/config/widgets.yaml +1505 -0
  38. data/ext/mkrf_conf.rb +49 -0
  39. data/ext/openc3/ext/array/array.c +122 -0
  40. data/ext/openc3/ext/array/extconf.rb +13 -0
  41. data/ext/openc3/ext/buffered_file/buffered_file.c +198 -0
  42. data/ext/openc3/ext/buffered_file/extconf.rb +13 -0
  43. data/ext/openc3/ext/config_parser/config_parser.c +280 -0
  44. data/ext/openc3/ext/config_parser/extconf.rb +13 -0
  45. data/ext/openc3/ext/crc/crc.c +351 -0
  46. data/ext/openc3/ext/crc/extconf.rb +13 -0
  47. data/ext/openc3/ext/openc3_io/extconf.rb +13 -0
  48. data/ext/openc3/ext/openc3_io/openc3_io.c +158 -0
  49. data/ext/openc3/ext/packet/extconf.rb +13 -0
  50. data/ext/openc3/ext/packet/packet.c +318 -0
  51. data/ext/openc3/ext/platform/extconf.rb +13 -0
  52. data/ext/openc3/ext/platform/platform.c +134 -0
  53. data/ext/openc3/ext/polynomial_conversion/extconf.rb +13 -0
  54. data/ext/openc3/ext/polynomial_conversion/polynomial_conversion.c +79 -0
  55. data/ext/openc3/ext/string/extconf.rb +13 -0
  56. data/ext/openc3/ext/string/string.c +63 -0
  57. data/ext/openc3/ext/structure/structure.c +1719 -0
  58. data/ext/openc3/ext/tabbed_plots_config/extconf.rb +13 -0
  59. data/ext/openc3/ext/tabbed_plots_config/tabbed_plots_config.c +62 -0
  60. data/ext/openc3/ext/telemetry/extconf.rb +13 -0
  61. data/ext/openc3/ext/telemetry/telemetry.c +336 -0
  62. data/lib/cosmos.rb +20 -0
  63. data/lib/cosmosc2.rb +20 -0
  64. data/lib/openc3/api/api.rb +39 -0
  65. data/lib/openc3/api/authorized_api.rb +30 -0
  66. data/lib/openc3/api/cmd_api.rb +451 -0
  67. data/lib/openc3/api/config_api.rb +58 -0
  68. data/lib/openc3/api/interface_api.rb +117 -0
  69. data/lib/openc3/api/limits_api.rb +375 -0
  70. data/lib/openc3/api/router_api.rb +117 -0
  71. data/lib/openc3/api/settings_api.rb +70 -0
  72. data/lib/openc3/api/target_api.rb +78 -0
  73. data/lib/openc3/api/tlm_api.rb +455 -0
  74. data/lib/openc3/bridge/bridge.rb +54 -0
  75. data/lib/openc3/bridge/bridge_config.rb +167 -0
  76. data/lib/openc3/bridge/bridge_interface_thread.rb +42 -0
  77. data/lib/openc3/bridge/bridge_router_thread.rb +42 -0
  78. data/lib/openc3/ccsds/ccsds_packet.rb +68 -0
  79. data/lib/openc3/ccsds/ccsds_parser.rb +148 -0
  80. data/lib/openc3/config/config_parser.rb +549 -0
  81. data/lib/openc3/config/meta_config_parser.rb +74 -0
  82. data/lib/openc3/conversions/conversion.rb +70 -0
  83. data/lib/openc3/conversions/generic_conversion.rb +83 -0
  84. data/lib/openc3/conversions/packet_time_formatted_conversion.rb +43 -0
  85. data/lib/openc3/conversions/packet_time_seconds_conversion.rb +43 -0
  86. data/lib/openc3/conversions/polynomial_conversion.rb +87 -0
  87. data/lib/openc3/conversions/processor_conversion.rb +70 -0
  88. data/lib/openc3/conversions/received_count_conversion.rb +38 -0
  89. data/lib/openc3/conversions/received_time_formatted_conversion.rb +42 -0
  90. data/lib/openc3/conversions/received_time_seconds_conversion.rb +42 -0
  91. data/lib/openc3/conversions/segmented_polynomial_conversion.rb +171 -0
  92. data/lib/openc3/conversions/unix_time_conversion.rb +68 -0
  93. data/lib/openc3/conversions/unix_time_formatted_conversion.rb +49 -0
  94. data/lib/openc3/conversions/unix_time_seconds_conversion.rb +49 -0
  95. data/lib/openc3/conversions.rb +34 -0
  96. data/lib/openc3/core_ext/array.rb +416 -0
  97. data/lib/openc3/core_ext/binding.rb +29 -0
  98. data/lib/openc3/core_ext/class.rb +72 -0
  99. data/lib/openc3/core_ext/exception.rb +61 -0
  100. data/lib/openc3/core_ext/file.rb +83 -0
  101. data/lib/openc3/core_ext/hash.rb +37 -0
  102. data/lib/openc3/core_ext/io.rb +134 -0
  103. data/lib/openc3/core_ext/kernel.rb +42 -0
  104. data/lib/openc3/core_ext/math.rb +128 -0
  105. data/lib/openc3/core_ext/matrix.rb +156 -0
  106. data/lib/openc3/core_ext/objectspace.rb +36 -0
  107. data/lib/openc3/core_ext/openc3_io.rb +57 -0
  108. data/lib/openc3/core_ext/range.rb +27 -0
  109. data/lib/openc3/core_ext/socket.rb +38 -0
  110. data/lib/openc3/core_ext/string.rb +389 -0
  111. data/lib/openc3/core_ext/stringio.rb +33 -0
  112. data/lib/openc3/core_ext/time.rb +508 -0
  113. data/lib/openc3/core_ext.rb +36 -0
  114. data/lib/openc3/interfaces/interface.rb +498 -0
  115. data/lib/openc3/interfaces/linc_interface.rb +475 -0
  116. data/lib/openc3/interfaces/protocols/burst_protocol.rb +192 -0
  117. data/lib/openc3/interfaces/protocols/crc_protocol.rb +193 -0
  118. data/lib/openc3/interfaces/protocols/fixed_protocol.rb +155 -0
  119. data/lib/openc3/interfaces/protocols/ignore_packet_protocol.rb +56 -0
  120. data/lib/openc3/interfaces/protocols/length_protocol.rb +165 -0
  121. data/lib/openc3/interfaces/protocols/override_protocol.rb +60 -0
  122. data/lib/openc3/interfaces/protocols/preidentified_protocol.rb +206 -0
  123. data/lib/openc3/interfaces/protocols/protocol.rb +82 -0
  124. data/lib/openc3/interfaces/protocols/template_protocol.rb +261 -0
  125. data/lib/openc3/interfaces/protocols/terminated_protocol.rb +93 -0
  126. data/lib/openc3/interfaces/serial_interface.rb +94 -0
  127. data/lib/openc3/interfaces/simulated_target_interface.rb +168 -0
  128. data/lib/openc3/interfaces/stream_interface.rb +81 -0
  129. data/lib/openc3/interfaces/tcpip_client_interface.rb +69 -0
  130. data/lib/openc3/interfaces/tcpip_server_interface.rb +629 -0
  131. data/lib/openc3/interfaces/udp_interface.rb +169 -0
  132. data/lib/openc3/interfaces.rb +44 -0
  133. data/lib/openc3/io/buffered_file.rb +109 -0
  134. data/lib/openc3/io/io_multiplexer.rb +80 -0
  135. data/lib/openc3/io/json_api_object.rb +208 -0
  136. data/lib/openc3/io/json_drb.rb +335 -0
  137. data/lib/openc3/io/json_drb_object.rb +114 -0
  138. data/lib/openc3/io/json_drb_rack.rb +84 -0
  139. data/lib/openc3/io/json_rpc.rb +420 -0
  140. data/lib/openc3/io/openc3_snmp.rb +58 -0
  141. data/lib/openc3/io/posix_serial_driver.rb +156 -0
  142. data/lib/openc3/io/raw_logger.rb +167 -0
  143. data/lib/openc3/io/raw_logger_pair.rb +77 -0
  144. data/lib/openc3/io/serial_driver.rb +105 -0
  145. data/lib/openc3/io/stderr.rb +43 -0
  146. data/lib/openc3/io/stdout.rb +43 -0
  147. data/lib/openc3/io/udp_sockets.rb +194 -0
  148. data/lib/openc3/io/win32_serial_driver.rb +196 -0
  149. data/lib/openc3/logs/log_writer.rb +302 -0
  150. data/lib/openc3/logs/packet_log_constants.rb +62 -0
  151. data/lib/openc3/logs/packet_log_reader.rb +345 -0
  152. data/lib/openc3/logs/packet_log_writer.rb +299 -0
  153. data/lib/openc3/logs/text_log_writer.rb +68 -0
  154. data/lib/openc3/logs.rb +25 -0
  155. data/lib/openc3/microservices/cleanup_microservice.rb +68 -0
  156. data/lib/openc3/microservices/decom_microservice.rb +136 -0
  157. data/lib/openc3/microservices/interface_microservice.rb +532 -0
  158. data/lib/openc3/microservices/log_microservice.rb +108 -0
  159. data/lib/openc3/microservices/microservice.rb +204 -0
  160. data/lib/openc3/microservices/plugin_microservice.rb +43 -0
  161. data/lib/openc3/microservices/reaction_microservice.rb +541 -0
  162. data/lib/openc3/microservices/reducer_microservice.rb +313 -0
  163. data/lib/openc3/microservices/router_microservice.rb +44 -0
  164. data/lib/openc3/microservices/text_log_microservice.rb +84 -0
  165. data/lib/openc3/microservices/timeline_microservice.rb +363 -0
  166. data/lib/openc3/microservices/trigger_group_microservice.rb +638 -0
  167. data/lib/openc3/models/activity_model.rb +319 -0
  168. data/lib/openc3/models/auth_model.rb +65 -0
  169. data/lib/openc3/models/cvt_model.rb +185 -0
  170. data/lib/openc3/models/environment_model.rb +58 -0
  171. data/lib/openc3/models/gem_model.rb +137 -0
  172. data/lib/openc3/models/info_model.rb +31 -0
  173. data/lib/openc3/models/interface_model.rb +281 -0
  174. data/lib/openc3/models/interface_status_model.rb +117 -0
  175. data/lib/openc3/models/metadata_model.rb +139 -0
  176. data/lib/openc3/models/metric_model.rb +59 -0
  177. data/lib/openc3/models/microservice_model.rb +206 -0
  178. data/lib/openc3/models/microservice_status_model.rb +74 -0
  179. data/lib/openc3/models/model.rb +204 -0
  180. data/lib/openc3/models/note_model.rb +122 -0
  181. data/lib/openc3/models/notification_model.rb +40 -0
  182. data/lib/openc3/models/ping_model.rb +35 -0
  183. data/lib/openc3/models/plugin_model.rb +292 -0
  184. data/lib/openc3/models/process_status_model.rb +76 -0
  185. data/lib/openc3/models/reaction_model.rb +322 -0
  186. data/lib/openc3/models/reducer_model.rb +65 -0
  187. data/lib/openc3/models/router_model.rb +35 -0
  188. data/lib/openc3/models/router_status_model.rb +27 -0
  189. data/lib/openc3/models/scope_model.rb +153 -0
  190. data/lib/openc3/models/settings_model.rb +55 -0
  191. data/lib/openc3/models/sorted_model.rb +167 -0
  192. data/lib/openc3/models/target_model.rb +759 -0
  193. data/lib/openc3/models/timeline_model.rb +154 -0
  194. data/lib/openc3/models/tool_config_model.rb +38 -0
  195. data/lib/openc3/models/tool_model.rb +262 -0
  196. data/lib/openc3/models/trigger_group_model.rb +186 -0
  197. data/lib/openc3/models/trigger_model.rb +330 -0
  198. data/lib/openc3/models/widget_model.rb +138 -0
  199. data/lib/openc3/operators/microservice_operator.rb +128 -0
  200. data/lib/openc3/operators/operator.rb +277 -0
  201. data/lib/openc3/packets/binary_accessor.rb +1207 -0
  202. data/lib/openc3/packets/commands.rb +373 -0
  203. data/lib/openc3/packets/json_packet.rb +134 -0
  204. data/lib/openc3/packets/limits.rb +271 -0
  205. data/lib/openc3/packets/limits_response.rb +53 -0
  206. data/lib/openc3/packets/packet.rb +1168 -0
  207. data/lib/openc3/packets/packet_config.rb +625 -0
  208. data/lib/openc3/packets/packet_item.rb +586 -0
  209. data/lib/openc3/packets/packet_item_limits.rb +162 -0
  210. data/lib/openc3/packets/parsers/format_string_parser.rb +65 -0
  211. data/lib/openc3/packets/parsers/limits_parser.rb +159 -0
  212. data/lib/openc3/packets/parsers/limits_response_parser.rb +61 -0
  213. data/lib/openc3/packets/parsers/packet_item_parser.rb +272 -0
  214. data/lib/openc3/packets/parsers/packet_parser.rb +134 -0
  215. data/lib/openc3/packets/parsers/processor_parser.rb +73 -0
  216. data/lib/openc3/packets/parsers/state_parser.rb +127 -0
  217. data/lib/openc3/packets/parsers/xtce_converter.rb +442 -0
  218. data/lib/openc3/packets/parsers/xtce_parser.rb +722 -0
  219. data/lib/openc3/packets/structure.rb +553 -0
  220. data/lib/openc3/packets/structure_item.rb +365 -0
  221. data/lib/openc3/packets/telemetry.rb +487 -0
  222. data/lib/openc3/processors/processor.rb +86 -0
  223. data/lib/openc3/processors/statistics_processor.rb +82 -0
  224. data/lib/openc3/processors/watermark_processor.rb +58 -0
  225. data/lib/openc3/processors.rb +24 -0
  226. data/lib/openc3/script/api_shared.rb +828 -0
  227. data/lib/openc3/script/calendar.rb +89 -0
  228. data/lib/openc3/script/commands.rb +227 -0
  229. data/lib/openc3/script/exceptions.rb +29 -0
  230. data/lib/openc3/script/extract.rb +161 -0
  231. data/lib/openc3/script/limits.rb +60 -0
  232. data/lib/openc3/script/script.rb +299 -0
  233. data/lib/openc3/script/script_runner.rb +238 -0
  234. data/lib/openc3/script/storage.rb +146 -0
  235. data/lib/openc3/script/suite.rb +542 -0
  236. data/lib/openc3/script/suite_results.rb +196 -0
  237. data/lib/openc3/script/suite_runner.rb +217 -0
  238. data/lib/openc3/script.rb +21 -0
  239. data/lib/openc3/streams/serial_stream.rb +167 -0
  240. data/lib/openc3/streams/stream.rb +63 -0
  241. data/lib/openc3/streams/tcpip_client_stream.rb +116 -0
  242. data/lib/openc3/streams/tcpip_socket_stream.rb +195 -0
  243. data/lib/openc3/system/system.rb +127 -0
  244. data/lib/openc3/system/system_config.rb +411 -0
  245. data/lib/openc3/system/target.rb +269 -0
  246. data/lib/openc3/system.rb +24 -0
  247. data/lib/openc3/tools/cmd_tlm_server/api.rb +20 -0
  248. data/lib/openc3/tools/cmd_tlm_server/cmd_tlm_server_config.rb +320 -0
  249. data/lib/openc3/tools/cmd_tlm_server/interface_thread.rb +294 -0
  250. data/lib/openc3/tools/table_manager/table.rb +77 -0
  251. data/lib/openc3/tools/table_manager/table_config.rb +273 -0
  252. data/lib/openc3/tools/table_manager/table_item.rb +90 -0
  253. data/lib/openc3/tools/table_manager/table_item_parser.rb +66 -0
  254. data/lib/openc3/tools/table_manager/table_manager_core.rb +333 -0
  255. data/lib/openc3/tools/table_manager/table_parser.rb +93 -0
  256. data/lib/openc3/tools/test_runner/test.rb +67 -0
  257. data/lib/openc3/top_level.rb +595 -0
  258. data/lib/openc3/topics/autonomic_topic.rb +52 -0
  259. data/lib/openc3/topics/calendar_topic.rb +44 -0
  260. data/lib/openc3/topics/command_decom_topic.rb +76 -0
  261. data/lib/openc3/topics/command_topic.rb +83 -0
  262. data/lib/openc3/topics/config_topic.rb +68 -0
  263. data/lib/openc3/topics/interface_topic.rb +73 -0
  264. data/lib/openc3/topics/limits_event_topic.rb +109 -0
  265. data/lib/openc3/topics/notifications_topic.rb +28 -0
  266. data/lib/openc3/topics/router_topic.rb +85 -0
  267. data/lib/openc3/topics/telemetry_decom_topic.rb +54 -0
  268. data/lib/openc3/topics/telemetry_topic.rb +36 -0
  269. data/lib/openc3/topics/timeline_topic.rb +45 -0
  270. data/lib/openc3/topics/topic.rb +53 -0
  271. data/lib/openc3/utilities/authentication.rb +141 -0
  272. data/lib/openc3/utilities/authorization.rb +51 -0
  273. data/lib/openc3/utilities/crc.rb +278 -0
  274. data/lib/openc3/utilities/csv.rb +153 -0
  275. data/lib/openc3/utilities/logger.rb +187 -0
  276. data/lib/openc3/utilities/message_log.rb +91 -0
  277. data/lib/openc3/utilities/metric.rb +141 -0
  278. data/lib/openc3/utilities/process_manager.rb +139 -0
  279. data/lib/openc3/utilities/quaternion.rb +257 -0
  280. data/lib/openc3/utilities/ruby_lex_utils.rb +568 -0
  281. data/lib/openc3/utilities/s3.rb +202 -0
  282. data/lib/openc3/utilities/s3_autoload.rb +9 -0
  283. data/lib/openc3/utilities/s3_file_cache.rb +274 -0
  284. data/lib/openc3/utilities/simulated_target.rb +117 -0
  285. data/lib/openc3/utilities/sleeper.rb +51 -0
  286. data/lib/openc3/utilities/store.rb +23 -0
  287. data/lib/openc3/utilities/store_autoload.rb +237 -0
  288. data/lib/openc3/utilities/zip.rb +21 -0
  289. data/lib/openc3/utilities.rb +35 -0
  290. data/lib/openc3/version.rb +14 -0
  291. data/lib/openc3/win32/excel.rb +132 -0
  292. data/lib/openc3/win32/win32.rb +402 -0
  293. data/lib/openc3/win32/win32_main.rb +333 -0
  294. data/lib/openc3.rb +49 -0
  295. data/tasks/gemfile_stats.rake +113 -0
  296. data/tasks/spec.rake +30 -0
  297. data/templates/plugin-template/README.md +15 -0
  298. data/templates/plugin-template/Rakefile +12 -0
  299. data/templates/plugin-template/plugin.gemspec +23 -0
  300. data/templates/plugin-template/plugin.txt +9 -0
  301. data/templates/plugin-template/targets/TARGET/cmd_tlm/cmd.txt +8 -0
  302. data/templates/plugin-template/targets/TARGET/cmd_tlm/tlm.txt +8 -0
  303. data/templates/plugin-template/targets/TARGET/lib/target.rb +10 -0
  304. data/templates/plugin-template/targets/TARGET/procedures/procedure.rb +3 -0
  305. data/templates/plugin-template/targets/TARGET/screens/status.txt +9 -0
  306. data/templates/plugin-template/targets/TARGET/target.txt +5 -0
  307. metadata +849 -0
@@ -0,0 +1,290 @@
1
+ ---
2
+ BURST:
3
+ description:
4
+ The Burst Stream Protocol simply reads as much data as it can from
5
+ the stream before returning the data as a OpenC3 Packet. This Protocol relies
6
+ on regular bursts of data delimited by time and thus is not very robust.
7
+ However it can utilize a sync pattern which does allow it to re-sync from the
8
+ stream if necessary.
9
+ parameters:
10
+ - name: Discard Leading Bytes
11
+ required: false
12
+ description:
13
+ The number of bytes to discard from the binary data after reading
14
+ from the stream. Note that this applies to bytes starting with the sync
15
+ pattern if the sync pattern is being used. Default is 0 (don't discard bytes).
16
+ values: \d+
17
+ - name: Sync Pattern
18
+ required: false
19
+ description: Hex string representing a byte pattern that will be searched
20
+ for in the raw stream. This pattern represents a packet delimiter and all
21
+ data found including the sync pattern will be returned. Default is 'nil'
22
+ (no sync pattern).
23
+ values: .+
24
+ - name: Fill Sync Pattern
25
+ required: false
26
+ description:
27
+ Whether or not to fill in the sync pattern on outgoing packets
28
+ Default is false.
29
+ values: ["true", "false"]
30
+ FIXED:
31
+ description: The Fixed Stream Protocol reads a preset minimum amount of data
32
+ from the stream which is necessary to properly identify all the defined packets
33
+ using the interface. It then identifies the packet and proceeds to read as much
34
+ data from the stream as necessary to create the packet which it then returns.
35
+ This stream relies on all the packets on the interface being fixed in length.
36
+ For example, all the packets using the interface are a fixed size and contain
37
+ a simple header with a 32 bit sync pattern followed by a 16 bit ID. The Fixed
38
+ Stream Protocol would elegantly handle this case with a minimum read size of
39
+ 6 bytes.
40
+ parameters:
41
+ - name: Minimum ID Size
42
+ required: true
43
+ description: The minimum amount of bytes needed to identify a packet.
44
+ All the packet definitions must declare their ID_ITEM(s) within this given
45
+ amount of bytes.
46
+ values: \d+
47
+ - name: Discard Leading Bytes
48
+ required: false
49
+ description:
50
+ The number of bytes to discard from the binary data after reading
51
+ from the stream. Note that this applies to bytes starting with the sync
52
+ pattern if the sync pattern is being used. Default is 0 (do not discard bytes).
53
+ values: \d+
54
+ - name: Sync Pattern
55
+ required: false
56
+ description: Hex string representing a byte pattern that will be searched
57
+ for in the raw stream. This pattern represents a packet delimiter and all
58
+ data found including the sync pattern will be returned. Default is 'nil'
59
+ (no sync pattern).
60
+ values: .+
61
+ - name: Telemetry Stream
62
+ required: false
63
+ description: Whether the stream is returning telemetry. Default is true.
64
+ values: ["true", "false"]
65
+ - name: Fill Sync Pattern
66
+ required: false
67
+ description:
68
+ Whether or not to fill in the sync pattern on outgoing packets.
69
+ Default is false.
70
+ values: ["false", "true"]
71
+ LENGTH:
72
+ description: The Length Stream Protocol depends on a length field at a fixed
73
+ location in the defined packets using the interface. It then reads enough data
74
+ to grab the length field, decodes it, and reads the remaining length of the
75
+ packet. For example, all the packets using the interface contain a CCSDS
76
+ header with a length field. The Length Stream Protocol can be set up to handle
77
+ the length field and even the "length - 1" offset the CCSDS header uses.
78
+ parameters:
79
+ - name: Length Bit Offset
80
+ required: false
81
+ description: The bit offset of the length field. Every packet using this
82
+ interface must have the same structure such that the length field is the
83
+ same size at the same location. Be sure to account for the length of the
84
+ Sync Pattern in this value (if present). Default is 0.
85
+ values: \d+
86
+ - name: Length Bit Size
87
+ required: false
88
+ description: The size in bits of the length field. Default is 16.
89
+ values: \d+
90
+ - name: Length Value Offset
91
+ required: false
92
+ description: The offset to apply to the length field value. For example if
93
+ the length field indicates packet length minus one, this value should be
94
+ one. Be sure to account for the length of the Sync Pattern in this value
95
+ (if present). Default is 0.
96
+ values: \d+
97
+ - name: Bytes per Count
98
+ required: false
99
+ description:
100
+ The number of bytes per each length field 'count'. This is used
101
+ if the units of the length field is something other than bytes,
102
+ for example if the length field count is in words. Default is 1.
103
+ values: \d+
104
+ - name: Length Endianness
105
+ required: false
106
+ description: The endianness of the length field.
107
+ values: ["BIG_ENDIAN", "LITTLE_ENDIAN"]
108
+ - name: Discard Leading Bytes
109
+ required: false
110
+ description: The number of bytes to discard from the binary data after
111
+ reading from the stream. Note that this applies to bytes including the
112
+ sync pattern if the sync pattern is being used. Discarding is one of the
113
+ very last steps so any size and offsets above need to account for all the
114
+ data before discarding. Default is 0 (do not discard bytes).
115
+ values: \d+
116
+ - name: Sync Pattern
117
+ required: false
118
+ description: Hex string representing a byte pattern that will be searched
119
+ for in the raw stream. This pattern represents a packet delimiter and all
120
+ data found including the sync pattern will be returned.
121
+ Default is nil (no sync pattern)
122
+ values: .+
123
+ - name: Max Length
124
+ required: false
125
+ description: The maximum allowed value in the length field.
126
+ Default is nil (no maximum length)
127
+ values: .+
128
+ - name: Fill Length and Sync Pattern
129
+ required: false
130
+ description: Setting this flag to true causes the length field and sync
131
+ pattern (if present) to be filled automatically on outgoing packets.
132
+ Default is false
133
+ values: ["false", "true"]
134
+ TERMINATED:
135
+ description:
136
+ The Terminated Stream Protocol delineates packets using termination
137
+ characters found at the end of every packet. It continuously reads data from
138
+ the stream until the termination characters are found at which point it returns
139
+ the packet data. For example, all the packets using the interface are followed
140
+ by 0xABCD. This data can either be a part of each packet that is kept or
141
+ something which is known only by the Terminated Stream Protocol and simply
142
+ thrown away.
143
+ parameters:
144
+ - name: Write Termination Characters
145
+ required: true
146
+ description:
147
+ The data to write to the stream after writing a command packet.
148
+ Given as a hex string such as 0xABCD.
149
+ values: .+
150
+ - name: Read Termination Characters
151
+ required: true
152
+ description:
153
+ The characters at the end of the stream which delineate the end
154
+ of a telemetry packet. Given as a hex string such as 0xABCD.
155
+ values: .+
156
+ - name: Strip Read Termination
157
+ required: false
158
+ description: Whether to remove the read termination characters from the
159
+ stream before returning the telemetry packet. Default is true.
160
+ values: ["true", "false"]
161
+ - name: Discard Leading Bytes
162
+ required: false
163
+ description: The number of bytes to discard from the binary data after
164
+ reading from the stream. Note that this applies to bytes including the
165
+ sync pattern if the sync pattern is being used.
166
+ Default is 0 (do not discard bytes)
167
+ values: \d+
168
+ - name: Sync Pattern
169
+ required: false
170
+ description: Hex string representing a byte pattern that will be searched
171
+ for in the raw stream. This pattern represents a packet delimiter and all
172
+ data found including the sync pattern will be returned.
173
+ Default is nil (no sync pattern)
174
+ values: .+
175
+ - name: Fill Sync Pattern
176
+ required: false
177
+ description:
178
+ Whether or not to fill in the sync pattern on outgoing packets
179
+ Default is false
180
+ values: ["false", "true"]
181
+ PREIDENTIFIED:
182
+ description:
183
+ The Preidentified Stream Protocol is used internally by the OpenC3
184
+ Command and Telemetry Server only and delineates packets using a custom OpenC3
185
+ header. This stream Protocol is configured by default on port 7779 and is
186
+ created by the Command and Telemetry Server to allow tools to connect and
187
+ receive the entire packet stream. The Telemetry Grapher uses this port to
188
+ receive all the packets following through the Command and Telemetry Server
189
+ in case any need to be graphed.
190
+ parameters:
191
+ - name: Sync Pattern
192
+ required: false
193
+ description: Hex string representing a byte pattern that will be searched
194
+ for in the raw stream. This pattern represents a packet delimiter and all
195
+ data found AFTER the sync pattern will be returned. The sync pattern itself
196
+ is discarded. Default is nil (no sync pattern)
197
+ values: .+
198
+ - name: Max Length
199
+ required: false
200
+ description: The maximum allowed value in the length field.
201
+ Default is nil (no maximum length)
202
+ values: .+
203
+ TEMPLATE:
204
+ description:
205
+ The Template Stream Protocol works much like the Terminated Stream
206
+ Protocol except it designed for text-based command and response type interfaces
207
+ such as SCPI (Standard Commands for Programmable Instruments). It delineates
208
+ packets in the same way as the terminated stream protocol except each packet
209
+ is referred to as a line (because each usually contains a line of text).
210
+ For outgoing packets a CMD_TEMPLATE field is expected to exist in the packet.
211
+ This field contains a template string with items to be filled in deliniated
212
+ within HTML tag style brackets “". The Template Stream Protocol will read the
213
+ named items from within the packet fill in the CMD_TEMPLATE. This filled in
214
+ string is then sent out rather than the originally passed in packet.
215
+ Correspondingly, if a response is expected the outgoing packet should include
216
+ a RSP_TEMPLATE and RSP_PACKET field. The RSP_TEMPLATE is used to extract data
217
+ from the response string and build a corresponding RSP_PACKET. See the TEMPLATE
218
+ target within the OpenC3 Demo configuration for an example of usage.
219
+ parameters:
220
+ - name: Write Termination Characters
221
+ required: true
222
+ description:
223
+ The data to write to the stream after writing a command packet.
224
+ Given as a hex string such as 0xABCD.
225
+ values: .+
226
+ - name: Read Termination Characters
227
+ required: true
228
+ description:
229
+ The characters at the end of the stream which delineate the end
230
+ of a telemetry packet. Given as a hex string such as 0xABCD.
231
+ values: .+
232
+ - name: Ignore Lines
233
+ required: false
234
+ description: Number of response lines to ignore (completely drop).
235
+ Default is 0.
236
+ values: \d+
237
+ - name: Initial Read Delay
238
+ required: false
239
+ description: An initial delay after connecting after which the stream will
240
+ be read till empty and data dropped. Useful for discarding connect headers
241
+ and initial prompts. Default is nil (no initial read).
242
+ values: .+
243
+ - name: Response Lines
244
+ required: false
245
+ description: The number of lines that make up expected responses.
246
+ Default is 1.
247
+ values: \d+
248
+ - name: Strip Read Termination
249
+ required: false
250
+ description: Whether to remove the read termination characters from the
251
+ stream before returning the telemetry packet. Default is true.
252
+ values: ["true", "false"]
253
+ - name: Discard Leading Bytes
254
+ required: false
255
+ description: The number of bytes to discard from the binary data after
256
+ reading from the stream. Note that this applies to bytes including the
257
+ sync pattern if the sync pattern is being used.
258
+ Default is 0 (do not discard bytes).
259
+ values: \d+
260
+ - name: Sync Pattern
261
+ required: false
262
+ description: Hex string representing a byte pattern that will be searched
263
+ for in the raw stream. This pattern represents a packet delimiter and all
264
+ data found including the sync pattern will be returned.
265
+ Default is nil (no sync pattern).
266
+ values: .+
267
+ - name: Fill Sync Pattern
268
+ required: false
269
+ description:
270
+ Whether or not to fill in the sync pattern on outgoing packets.
271
+ Default is false.
272
+ values: ["false", "true"]
273
+ - name: Response Timeout
274
+ required: false
275
+ description:
276
+ Number of seconds to wait before timing out when waiting for a response.
277
+ Default is 5 seconds.
278
+ values: .+
279
+ - name: Response Polling Period
280
+ required: false
281
+ description: Number of seconds to wait between polling for a response.
282
+ Default is 0.02 seconds.
283
+ values: .+
284
+ - name: Error Action
285
+ required: false
286
+ description:
287
+ How to handle errors in the protocol like unexpected responses
288
+ or response timeouts. 'DISCONNECT' to disconnect after errors. The default
289
+ is 'LOG' to log an error and continue.
290
+ values: ["LOG", "DISCONNECT"]
@@ -0,0 +1,147 @@
1
+ ---
2
+ SCREEN:
3
+ summary: Define a telemetry viewer screen
4
+ parameters:
5
+ - name: Width
6
+ required: true
7
+ description: Width in pixels or AUTO to let Telemetry Viewer automatically
8
+ layout the screen
9
+ values: \d+
10
+ - name: Height
11
+ required: true
12
+ description: Height in pixels or AUTO to let Telemetry Viewer automatically
13
+ layout the screen
14
+ values: \d+
15
+ - name: Polling Period
16
+ required: true
17
+ description: Number of seconds between screen updates
18
+ values: '[0-9]*\.?[0-9]+'
19
+ END:
20
+ summary: Indicates the close of a layout widget
21
+ description: All layout widgets must be closed to properly identify where they
22
+ stop. For example, a VERTICALBOX keyword must be matched with an END keyword
23
+ to indicate where the VERTICALBOX ends.
24
+ GLOBAL_SETTING:
25
+ summary: Applies a widget setting to all widgets of a certain type
26
+ parameters:
27
+ - name: Widget Class Name
28
+ required: true
29
+ description: The name of the class of widgets that this setting will be
30
+ applied to. For example, LABEL or BUTTON.
31
+ values: .+
32
+ - name: Setting Name
33
+ required: true
34
+ description: Widget specific setting name. OpenC3 defines several settings
35
+ which apply across many different widget types. However, you can also use
36
+ the 'RAW' setting which allows any stylesheet values.
37
+ values: <%= %w(TEXTALIGN PADDING MARGIN BACKCOLOR TEXTCOLOR BORDERCOLOR WIDTH HEIGHT RAW) %>
38
+ - name: Setting Value(s)
39
+ required: false
40
+ description: >
41
+ The setting value which varies by setting. Note that color
42
+ settings can be given as a common string, e.g. 'red', or by RGB values,
43
+ e.g. 255 0 0. If the setting is RAW the value should be the raw stylesheet
44
+ string, e.g. "font-size: 10px"
45
+ values: .*
46
+ GLOBAL_SUBSETTING:
47
+ summary: Applies a widget subsetting to all widgets of a certain type
48
+ description: Subsettings are only valid for widgets that are
49
+ made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL
50
+ at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing
51
+ settings to specific subwidgets. Some widgets are made up of multiple subwidgets,
52
+ e.g. LABELVALUELIMITSBAR. To set the label text color, pass '0:0' as the Subwidget
53
+ Index to first index the LABELVALUE and then the LABEL.
54
+ parameters:
55
+ - name: Widget Class Name
56
+ required: true
57
+ description: The name of the class of widgets that this setting will be
58
+ applied to. For example, LABELVALUE.
59
+ values: .+
60
+ - name: Subwidget Index
61
+ required: true
62
+ description: Index to the desired subwidget or 'ALL' to apply the setting
63
+ to all the subwidgets of this composite widget.
64
+ values: .+
65
+ - name: Setting Name
66
+ required: true
67
+ description: Widget specific setting name. OpenC3 defines several settings
68
+ which apply across many different widget types. However, you can also use
69
+ the 'RAW' setting which allows any stylesheet values.
70
+ values: <%= %w(TEXTALIGN PADDING MARGIN BACKCOLOR TEXTCOLOR BORDERCOLOR WIDTH HEIGHT RAW) %>
71
+ - name: Setting Value(s)
72
+ required: false
73
+ description: >
74
+ The setting value which varies by setting. Note that color
75
+ settings can be given as a common string, e.g. 'red', or by RGB values,
76
+ e.g. 255 0 0. If the setting is RAW the value should be the raw stylesheet
77
+ string, e.g. "font-size: 10px"
78
+ values: .*
79
+ SETTING:
80
+ summary: Applies a widget setting to the previously defined widget
81
+ parameters:
82
+ - name: Setting Name
83
+ required: true
84
+ description: Widget specific setting name. OpenC3 defines several settings
85
+ which apply across many different widget types. However, you can also use
86
+ the 'RAW' setting which allows any stylesheet values.
87
+ values: <%= %w(TEXTALIGN PADDING MARGIN BACKCOLOR TEXTCOLOR BORDERCOLOR WIDTH HEIGHT RAW) %>
88
+ - name: Setting Value(s)
89
+ required: false
90
+ description: >
91
+ The setting value which varies by setting. Note that color
92
+ settings can be given as a common string, e.g. 'red', or by RGB values,
93
+ e.g. 255 0 0. If the setting is RAW the value should be the raw stylesheet
94
+ string, e.g. "font-size: 10px"
95
+ values: .*
96
+ SUBSETTING:
97
+ summary: Applies a widget subsetting to the previously defined widget
98
+ description: Subsettings are only valid for widgets that are
99
+ made up of more than one subwidget. For example, LABELVALUE is made up of a LABEL
100
+ at subwidget index 0 and a VALUE at subwidget index 1. This allows for passing
101
+ settings to specific subwidgets. Some widgets are made up of multiple subwidgets,
102
+ e.g. LABELVALUELIMITSBAR. To set the label text color, pass '0:0' as the Subwidget
103
+ Index to first index the LABELVALUE and then the LABEL.
104
+ parameters:
105
+ - name: Subwidget Index
106
+ required: true
107
+ description: Index to the desired subwidget or 'ALL' to apply the setting
108
+ to all the subwidgets of this composite widget.
109
+ values: .+
110
+ - name: Setting Name
111
+ required: true
112
+ description: Widget specific setting name. OpenC3 defines several settings
113
+ which apply across many different widget types. However, you can also use
114
+ the 'RAW' setting which allows any stylesheet.
115
+ values: <%= %w(TEXTALIGN PADDING MARGIN BACKCOLOR TEXTCOLOR BORDERCOLOR WIDTH HEIGHT RAW) %>
116
+ - name: Setting Value(s)
117
+ required: false
118
+ description: >
119
+ The setting value which varies by setting. Note that color
120
+ settings can be given as a common string, e.g. 'red', or by RGB values,
121
+ e.g. 255 0 0. If the setting is RAW the value should be the raw stylesheet
122
+ string, e.g. "font-size: 10px"
123
+ values: .*
124
+ NAMED_WIDGET:
125
+ summary: Name a widget to allow access to it via the get_named_widget method
126
+ description: To programatically access parts of a telemetry screen you need
127
+ to name the widget. This is useful when creating screens with buttons that
128
+ read values from other widgets.
129
+ warning: get_named_widget returns the widget itself and thus must be operated
130
+ on using methods native to that widget
131
+ parameters:
132
+ - name: Widget Name
133
+ required: true
134
+ description: The unique name applied to the following widget instance.
135
+ Names must be unique per screen.
136
+ values: .+
137
+ - name: Widget Type
138
+ required: true
139
+ description: One of the widget types listed in Widget Descriptions
140
+ values: .+
141
+ - name: Widget Parameters
142
+ required: true
143
+ description: The unique parameters for the given widget type
144
+ values: .+
145
+ # Even though these are technically SCREEN modifiers we load them at the top_frame
146
+ # level so they appear as available keywords
147
+ <%= MetaConfigParser.load('widgets.yaml').to_meta_config_yaml(0) %>
@@ -0,0 +1,89 @@
1
+ ---
2
+ TABLEFILE:
3
+ summary: Specify another file to open and process for table definitions
4
+ parameters:
5
+ - name: File Name
6
+ required: true
7
+ description: Name of the file. The file will be looked for in the directory
8
+ of the current definition file.
9
+ values: '.+\.txt'
10
+ TABLE:
11
+ modifiers:
12
+ PARAMETER:
13
+ modifiers:
14
+ <%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(8) %>
15
+ <%= MetaConfigParser.load('table_parameter_modifiers.yaml').to_meta_config_yaml(8) %>
16
+ summary: Defines a parameter in the current table
17
+ parameters:
18
+ - name: Name
19
+ required: true
20
+ description: Name of the parameter. Must be unique within the table.
21
+ values: '\D\S*'
22
+ - name: Bit Offset
23
+ required: true
24
+ description: Bit offset into the table of the Most Significant Bit of this parameter.
25
+ May be negative to indicate on offset from the end of the table.
26
+ Always use a bit offset of 0 for derived parameters.
27
+ values: '[-]?\d+'
28
+ <%= MetaConfigParser.load('_params.yaml').to_meta_config_yaml(8) %>
29
+ APPEND_PARAMETER:
30
+ modifiers:
31
+ <%= MetaConfigParser.load('parameter_modifiers.yaml').to_meta_config_yaml(8) %>
32
+ <%= MetaConfigParser.load('table_parameter_modifiers.yaml').to_meta_config_yaml(8) %>
33
+ summary: Defines a parameter in the current table
34
+ parameters:
35
+ - name: Name
36
+ required: true
37
+ description: Name of the parameter. Must be unique within the table.
38
+ values: .+
39
+ <%= MetaConfigParser.load('_params.yaml').to_meta_config_yaml(8) %>
40
+ summary: Start a new table definition
41
+ parameters:
42
+ - name: Name
43
+ required: true
44
+ description: Name of the table in quotes. The name will appear on the GUI tab.
45
+ values: "['\"].*['\"]"
46
+ - name: Endianness
47
+ required: true
48
+ description: Indicates if the data in this table is in Big Endian or Little Endian format
49
+ values: ['BIG_ENDIAN', 'LITTLE_ENDIAN']
50
+ - name: Display
51
+ requires: true
52
+ description: Indicates the table contains KEY_VALUE rows (e.g. each row is unique),
53
+ or a ROW_COLUMN table with identical rows containing different values.
54
+ values:
55
+ KEY_VALUE:
56
+ summary: Table rows will be unique items (previously ONE_DIMENSIONAL, now deprecated)
57
+ parameters:
58
+ - name: Description
59
+ requires: true
60
+ description: Description of the table in quotes. The description is
61
+ used in mouseover popups and status line information.
62
+ values: "['\"].*['\"]"
63
+ ROW_COLUMN:
64
+ summary: Table rows will be indentical with multiple columns (previously TWO_DIMENSIONAL, now deprecated)
65
+ parameters:
66
+ - name: Rows
67
+ requires: true
68
+ description: The number of rows in the table
69
+ values: \d+
70
+ - name: Description
71
+ requires: true
72
+ description: Description of the table in quotes. The description is
73
+ used in mouseover popups and status line information.
74
+ values: "['\"].*['\"]"
75
+ SELECT_TABLE:
76
+ summary: Select an existing table for editing, typically done to override an existing definition
77
+ parameters:
78
+ - name: Table
79
+ required: true
80
+ description: The name of the existin table
81
+ values: .*
82
+ DEFAULT:
83
+ summary: Specify default values for a SINGLE row in a multi-column table.
84
+ If you have multiple rows you need a DEFAULT line for each row.
85
+ If all your rows are identical consider using ERB as shown in the OpenC3 demo.
86
+ parameters:
87
+ - name: Default values
88
+ required: false
89
+ description: A STATE value or data value corresponding to the data type
@@ -0,0 +1,9 @@
1
+ ---
2
+ HIDDEN:
3
+ summary: Indicates that the parameter should not be shown to the user in the Table Manager GUI
4
+ description: Hidden parameters still exist and will be saved to the resulting
5
+ binary. This is useful for padding and other essential but non-user editable fields.
6
+ UNEDITABLE:
7
+ summary: Indicates that the parameter should be shown to the user but not editable.
8
+ description: Uneditable parameters are useful for control fields which the user
9
+ may be interested in but should not be able to edit.
@@ -0,0 +1,142 @@
1
+ ---
2
+ TARGET:
3
+ summary: Defines a new target
4
+ example: TARGET INST
5
+ parameters:
6
+ - name: Folder Name
7
+ required: true
8
+ description: The target folder
9
+ values: .*
10
+ - name: Name
11
+ required: true
12
+ description:
13
+ The target name. While this is almost always the same as Folder Name
14
+ it can be different to create multiple targets based on the same target folder.
15
+ values: .*
16
+ modifiers:
17
+ CMD_LOG_CYCLE_TIME:
18
+ summary: Command binary logs can be cycled on a time interval.
19
+ parameters:
20
+ - name: Time
21
+ required: true
22
+ description: Maximum time between files in seconds (default = 600)
23
+ values: \d+
24
+ CMD_LOG_CYCLE_SIZE:
25
+ summary: Command binary logs can be cycled after a certain log file size is reached.
26
+ parameters:
27
+ - name: Size
28
+ required: true
29
+ description: Maximum file size in bytes (default = 50_000_000)
30
+ values: \d+
31
+ CMD_LOG_RETAIN_TIME:
32
+ summary: How long to keep raw command logs in seconds.
33
+ parameters:
34
+ - name: Time
35
+ required: true
36
+ description: Number of seconds to keep raw command logs (default = nil = Forever)
37
+ values: \d+
38
+ CMD_DECOM_LOG_CYCLE_TIME:
39
+ summary: Command decommutation logs can be cycled on a time interval.
40
+ parameters:
41
+ - name: Time
42
+ required: true
43
+ description: Maximum time between files in seconds (default = 600)
44
+ values: \d+
45
+ CMD_DECOM_LOG_CYCLE_SIZE:
46
+ summary: Command decommutation logs can be cycled after a certain log file size is reached.
47
+ parameters:
48
+ - name: Size
49
+ required: true
50
+ description: Maximum file size in bytes (default = 50_000_000)
51
+ values: \d+
52
+ CMD_DECOM_LOG_RETAIN_TIME:
53
+ summary: How long to keep decom command logs in seconds.
54
+ parameters:
55
+ - name: Time
56
+ required: true
57
+ description: Number of seconds to keep decom command logs (default = nil = Forever)
58
+ values: \d+
59
+ TLM_LOG_CYCLE_TIME:
60
+ summary: Telemetry binary logs can be cycled on a time interval.
61
+ parameters:
62
+ - name: Time
63
+ required: true
64
+ description: Maximum time between files in seconds (default = 600)
65
+ values: \d+
66
+ TLM_LOG_CYCLE_SIZE:
67
+ summary: Telemetry binary logs can be cycled after a certain log file size is reached.
68
+ parameters:
69
+ - name: Size
70
+ required: true
71
+ description: Maximum file size in bytes (default = 50_000_000)
72
+ values: \d+
73
+ TLM_LOG_RETAIN_TIME:
74
+ summary: How long to keep raw telemetry logs in seconds.
75
+ parameters:
76
+ - name: Time
77
+ required: true
78
+ description: Number of seconds to keep raw telemetry logs (default = nil = Forever)
79
+ values: \d+
80
+ TLM_DECOM_LOG_CYCLE_TIME:
81
+ summary: Telemetry decommutation logs can be cycled on a time interval.
82
+ parameters:
83
+ - name: Time
84
+ required: true
85
+ description: Maximum time between files in seconds (default = 600)
86
+ values: \d+
87
+ TLM_DECOM_LOG_CYCLE_SIZE:
88
+ summary: Telemetry decommutation logs can be cycled after a certain log file size is reached.
89
+ parameters:
90
+ - name: Size
91
+ required: true
92
+ description: Maximum file size in bytes (default = 50_000_000)
93
+ values: \d+
94
+ TLM_DECOM_LOG_RETAIN_TIME:
95
+ summary: How long to keep decom telemetry logs in seconds.
96
+ parameters:
97
+ - name: Time
98
+ required: true
99
+ description: Number of seconds to keep decom telemetry logs (default = nil = Forever)
100
+ values: \d+
101
+ REDUCED_MINUTE_LOG_RETAIN_TIME:
102
+ summary: How long to keep reduced minute telemetry logs in seconds.
103
+ parameters:
104
+ - name: Time
105
+ required: true
106
+ description: Number of seconds to keep reduced minute telemetry logs (default = nil = Forever)
107
+ values: \d+
108
+ REDUCED_HOUR_LOG_RETAIN_TIME:
109
+ summary: How long to keep reduced hour telemetry logs in seconds.
110
+ parameters:
111
+ - name: Time
112
+ required: true
113
+ description: Number of seconds to keep reduced hour telemetry logs (default = nil = Forever)
114
+ values: \d+
115
+ REDUCED_DAY_LOG_RETAIN_TIME:
116
+ summary: How long to keep reduced day telemetry logs in seconds.
117
+ parameters:
118
+ - name: Time
119
+ required: true
120
+ description: Number of seconds to keep reduced day telemetry logs (default = nil = Forever)
121
+ values: \d+
122
+ LOG_RETAIN_TIME:
123
+ summary: How long to keep all regular telemetry logs in seconds.
124
+ parameters:
125
+ - name: Time
126
+ required: true
127
+ description: Number of seconds to keep all regular telemetry logs (default = nil = Forever)
128
+ values: \d+
129
+ REDUCED_LOG_RETAIN_TIME:
130
+ summary: How long to keep all reduced telemetry logs in seconds.
131
+ parameters:
132
+ - name: Time
133
+ required: true
134
+ description: Number of seconds to keep all reduced telemetry logs (default = nil = Forever)
135
+ values: \d+
136
+ CLEANUP_POLL_TIME:
137
+ summary: Period at which to run the cleanup process.
138
+ parameters:
139
+ - name: Time
140
+ required: true
141
+ description: Number of seconds between runs of the cleanup process (default = 900 = 15 minutes)
142
+ values: \d+