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.
- checksums.yaml +7 -0
- data/Gemfile +18 -0
- data/Guardfile +35 -0
- data/LICENSE.txt +727 -0
- data/README.md +37 -0
- data/Rakefile +131 -0
- data/bin/cstol_converter +1178 -0
- data/bin/openc3cli +531 -0
- data/bin/rubysloc +139 -0
- data/data/config/_array_params.yaml +23 -0
- data/data/config/_id_items.yaml +24 -0
- data/data/config/_id_params.yaml +58 -0
- data/data/config/_interfaces.yaml +214 -0
- data/data/config/_interfaces.yaml.err +1017 -0
- data/data/config/_items.yaml +20 -0
- data/data/config/_params.yaml +60 -0
- data/data/config/cmd_tlm_server.yaml +136 -0
- data/data/config/command.yaml +44 -0
- data/data/config/command_modifiers.yaml +160 -0
- data/data/config/command_telemetry.yaml +3 -0
- data/data/config/interface_modifiers.yaml +104 -0
- data/data/config/item_modifiers.yaml +221 -0
- data/data/config/microservice.yaml +78 -0
- data/data/config/param_item_modifiers.yaml +52 -0
- data/data/config/parameter_modifiers.yaml +200 -0
- data/data/config/plugins.yaml +80 -0
- data/data/config/protocols.yaml +290 -0
- data/data/config/screen.yaml +147 -0
- data/data/config/table_manager.yaml +89 -0
- data/data/config/table_parameter_modifiers.yaml +9 -0
- data/data/config/target.yaml +142 -0
- data/data/config/target_config.yaml +94 -0
- data/data/config/telemetry.yaml +87 -0
- data/data/config/telemetry_modifiers.yaml +159 -0
- data/data/config/tool.yaml +63 -0
- data/data/config/unknown.yaml +3 -0
- data/data/config/widgets.yaml +1505 -0
- data/ext/mkrf_conf.rb +49 -0
- data/ext/openc3/ext/array/array.c +122 -0
- data/ext/openc3/ext/array/extconf.rb +13 -0
- data/ext/openc3/ext/buffered_file/buffered_file.c +198 -0
- data/ext/openc3/ext/buffered_file/extconf.rb +13 -0
- data/ext/openc3/ext/config_parser/config_parser.c +280 -0
- data/ext/openc3/ext/config_parser/extconf.rb +13 -0
- data/ext/openc3/ext/crc/crc.c +351 -0
- data/ext/openc3/ext/crc/extconf.rb +13 -0
- data/ext/openc3/ext/openc3_io/extconf.rb +13 -0
- data/ext/openc3/ext/openc3_io/openc3_io.c +158 -0
- data/ext/openc3/ext/packet/extconf.rb +13 -0
- data/ext/openc3/ext/packet/packet.c +318 -0
- data/ext/openc3/ext/platform/extconf.rb +13 -0
- data/ext/openc3/ext/platform/platform.c +134 -0
- data/ext/openc3/ext/polynomial_conversion/extconf.rb +13 -0
- data/ext/openc3/ext/polynomial_conversion/polynomial_conversion.c +79 -0
- data/ext/openc3/ext/string/extconf.rb +13 -0
- data/ext/openc3/ext/string/string.c +63 -0
- data/ext/openc3/ext/structure/structure.c +1719 -0
- data/ext/openc3/ext/tabbed_plots_config/extconf.rb +13 -0
- data/ext/openc3/ext/tabbed_plots_config/tabbed_plots_config.c +62 -0
- data/ext/openc3/ext/telemetry/extconf.rb +13 -0
- data/ext/openc3/ext/telemetry/telemetry.c +336 -0
- data/lib/cosmos.rb +20 -0
- data/lib/cosmosc2.rb +20 -0
- data/lib/openc3/api/api.rb +39 -0
- data/lib/openc3/api/authorized_api.rb +30 -0
- data/lib/openc3/api/cmd_api.rb +451 -0
- data/lib/openc3/api/config_api.rb +58 -0
- data/lib/openc3/api/interface_api.rb +117 -0
- data/lib/openc3/api/limits_api.rb +375 -0
- data/lib/openc3/api/router_api.rb +117 -0
- data/lib/openc3/api/settings_api.rb +70 -0
- data/lib/openc3/api/target_api.rb +78 -0
- data/lib/openc3/api/tlm_api.rb +455 -0
- data/lib/openc3/bridge/bridge.rb +54 -0
- data/lib/openc3/bridge/bridge_config.rb +167 -0
- data/lib/openc3/bridge/bridge_interface_thread.rb +42 -0
- data/lib/openc3/bridge/bridge_router_thread.rb +42 -0
- data/lib/openc3/ccsds/ccsds_packet.rb +68 -0
- data/lib/openc3/ccsds/ccsds_parser.rb +148 -0
- data/lib/openc3/config/config_parser.rb +549 -0
- data/lib/openc3/config/meta_config_parser.rb +74 -0
- data/lib/openc3/conversions/conversion.rb +70 -0
- data/lib/openc3/conversions/generic_conversion.rb +83 -0
- data/lib/openc3/conversions/packet_time_formatted_conversion.rb +43 -0
- data/lib/openc3/conversions/packet_time_seconds_conversion.rb +43 -0
- data/lib/openc3/conversions/polynomial_conversion.rb +87 -0
- data/lib/openc3/conversions/processor_conversion.rb +70 -0
- data/lib/openc3/conversions/received_count_conversion.rb +38 -0
- data/lib/openc3/conversions/received_time_formatted_conversion.rb +42 -0
- data/lib/openc3/conversions/received_time_seconds_conversion.rb +42 -0
- data/lib/openc3/conversions/segmented_polynomial_conversion.rb +171 -0
- data/lib/openc3/conversions/unix_time_conversion.rb +68 -0
- data/lib/openc3/conversions/unix_time_formatted_conversion.rb +49 -0
- data/lib/openc3/conversions/unix_time_seconds_conversion.rb +49 -0
- data/lib/openc3/conversions.rb +34 -0
- data/lib/openc3/core_ext/array.rb +416 -0
- data/lib/openc3/core_ext/binding.rb +29 -0
- data/lib/openc3/core_ext/class.rb +72 -0
- data/lib/openc3/core_ext/exception.rb +61 -0
- data/lib/openc3/core_ext/file.rb +83 -0
- data/lib/openc3/core_ext/hash.rb +37 -0
- data/lib/openc3/core_ext/io.rb +134 -0
- data/lib/openc3/core_ext/kernel.rb +42 -0
- data/lib/openc3/core_ext/math.rb +128 -0
- data/lib/openc3/core_ext/matrix.rb +156 -0
- data/lib/openc3/core_ext/objectspace.rb +36 -0
- data/lib/openc3/core_ext/openc3_io.rb +57 -0
- data/lib/openc3/core_ext/range.rb +27 -0
- data/lib/openc3/core_ext/socket.rb +38 -0
- data/lib/openc3/core_ext/string.rb +389 -0
- data/lib/openc3/core_ext/stringio.rb +33 -0
- data/lib/openc3/core_ext/time.rb +508 -0
- data/lib/openc3/core_ext.rb +36 -0
- data/lib/openc3/interfaces/interface.rb +498 -0
- data/lib/openc3/interfaces/linc_interface.rb +475 -0
- data/lib/openc3/interfaces/protocols/burst_protocol.rb +192 -0
- data/lib/openc3/interfaces/protocols/crc_protocol.rb +193 -0
- data/lib/openc3/interfaces/protocols/fixed_protocol.rb +155 -0
- data/lib/openc3/interfaces/protocols/ignore_packet_protocol.rb +56 -0
- data/lib/openc3/interfaces/protocols/length_protocol.rb +165 -0
- data/lib/openc3/interfaces/protocols/override_protocol.rb +60 -0
- data/lib/openc3/interfaces/protocols/preidentified_protocol.rb +206 -0
- data/lib/openc3/interfaces/protocols/protocol.rb +82 -0
- data/lib/openc3/interfaces/protocols/template_protocol.rb +261 -0
- data/lib/openc3/interfaces/protocols/terminated_protocol.rb +93 -0
- data/lib/openc3/interfaces/serial_interface.rb +94 -0
- data/lib/openc3/interfaces/simulated_target_interface.rb +168 -0
- data/lib/openc3/interfaces/stream_interface.rb +81 -0
- data/lib/openc3/interfaces/tcpip_client_interface.rb +69 -0
- data/lib/openc3/interfaces/tcpip_server_interface.rb +629 -0
- data/lib/openc3/interfaces/udp_interface.rb +169 -0
- data/lib/openc3/interfaces.rb +44 -0
- data/lib/openc3/io/buffered_file.rb +109 -0
- data/lib/openc3/io/io_multiplexer.rb +80 -0
- data/lib/openc3/io/json_api_object.rb +208 -0
- data/lib/openc3/io/json_drb.rb +335 -0
- data/lib/openc3/io/json_drb_object.rb +114 -0
- data/lib/openc3/io/json_drb_rack.rb +84 -0
- data/lib/openc3/io/json_rpc.rb +420 -0
- data/lib/openc3/io/openc3_snmp.rb +58 -0
- data/lib/openc3/io/posix_serial_driver.rb +156 -0
- data/lib/openc3/io/raw_logger.rb +167 -0
- data/lib/openc3/io/raw_logger_pair.rb +77 -0
- data/lib/openc3/io/serial_driver.rb +105 -0
- data/lib/openc3/io/stderr.rb +43 -0
- data/lib/openc3/io/stdout.rb +43 -0
- data/lib/openc3/io/udp_sockets.rb +194 -0
- data/lib/openc3/io/win32_serial_driver.rb +196 -0
- data/lib/openc3/logs/log_writer.rb +302 -0
- data/lib/openc3/logs/packet_log_constants.rb +62 -0
- data/lib/openc3/logs/packet_log_reader.rb +345 -0
- data/lib/openc3/logs/packet_log_writer.rb +299 -0
- data/lib/openc3/logs/text_log_writer.rb +68 -0
- data/lib/openc3/logs.rb +25 -0
- data/lib/openc3/microservices/cleanup_microservice.rb +68 -0
- data/lib/openc3/microservices/decom_microservice.rb +136 -0
- data/lib/openc3/microservices/interface_microservice.rb +532 -0
- data/lib/openc3/microservices/log_microservice.rb +108 -0
- data/lib/openc3/microservices/microservice.rb +204 -0
- data/lib/openc3/microservices/plugin_microservice.rb +43 -0
- data/lib/openc3/microservices/reaction_microservice.rb +541 -0
- data/lib/openc3/microservices/reducer_microservice.rb +313 -0
- data/lib/openc3/microservices/router_microservice.rb +44 -0
- data/lib/openc3/microservices/text_log_microservice.rb +84 -0
- data/lib/openc3/microservices/timeline_microservice.rb +363 -0
- data/lib/openc3/microservices/trigger_group_microservice.rb +638 -0
- data/lib/openc3/models/activity_model.rb +319 -0
- data/lib/openc3/models/auth_model.rb +65 -0
- data/lib/openc3/models/cvt_model.rb +185 -0
- data/lib/openc3/models/environment_model.rb +58 -0
- data/lib/openc3/models/gem_model.rb +137 -0
- data/lib/openc3/models/info_model.rb +31 -0
- data/lib/openc3/models/interface_model.rb +281 -0
- data/lib/openc3/models/interface_status_model.rb +117 -0
- data/lib/openc3/models/metadata_model.rb +139 -0
- data/lib/openc3/models/metric_model.rb +59 -0
- data/lib/openc3/models/microservice_model.rb +206 -0
- data/lib/openc3/models/microservice_status_model.rb +74 -0
- data/lib/openc3/models/model.rb +204 -0
- data/lib/openc3/models/note_model.rb +122 -0
- data/lib/openc3/models/notification_model.rb +40 -0
- data/lib/openc3/models/ping_model.rb +35 -0
- data/lib/openc3/models/plugin_model.rb +292 -0
- data/lib/openc3/models/process_status_model.rb +76 -0
- data/lib/openc3/models/reaction_model.rb +322 -0
- data/lib/openc3/models/reducer_model.rb +65 -0
- data/lib/openc3/models/router_model.rb +35 -0
- data/lib/openc3/models/router_status_model.rb +27 -0
- data/lib/openc3/models/scope_model.rb +153 -0
- data/lib/openc3/models/settings_model.rb +55 -0
- data/lib/openc3/models/sorted_model.rb +167 -0
- data/lib/openc3/models/target_model.rb +759 -0
- data/lib/openc3/models/timeline_model.rb +154 -0
- data/lib/openc3/models/tool_config_model.rb +38 -0
- data/lib/openc3/models/tool_model.rb +262 -0
- data/lib/openc3/models/trigger_group_model.rb +186 -0
- data/lib/openc3/models/trigger_model.rb +330 -0
- data/lib/openc3/models/widget_model.rb +138 -0
- data/lib/openc3/operators/microservice_operator.rb +128 -0
- data/lib/openc3/operators/operator.rb +277 -0
- data/lib/openc3/packets/binary_accessor.rb +1207 -0
- data/lib/openc3/packets/commands.rb +373 -0
- data/lib/openc3/packets/json_packet.rb +134 -0
- data/lib/openc3/packets/limits.rb +271 -0
- data/lib/openc3/packets/limits_response.rb +53 -0
- data/lib/openc3/packets/packet.rb +1168 -0
- data/lib/openc3/packets/packet_config.rb +625 -0
- data/lib/openc3/packets/packet_item.rb +586 -0
- data/lib/openc3/packets/packet_item_limits.rb +162 -0
- data/lib/openc3/packets/parsers/format_string_parser.rb +65 -0
- data/lib/openc3/packets/parsers/limits_parser.rb +159 -0
- data/lib/openc3/packets/parsers/limits_response_parser.rb +61 -0
- data/lib/openc3/packets/parsers/packet_item_parser.rb +272 -0
- data/lib/openc3/packets/parsers/packet_parser.rb +134 -0
- data/lib/openc3/packets/parsers/processor_parser.rb +73 -0
- data/lib/openc3/packets/parsers/state_parser.rb +127 -0
- data/lib/openc3/packets/parsers/xtce_converter.rb +442 -0
- data/lib/openc3/packets/parsers/xtce_parser.rb +722 -0
- data/lib/openc3/packets/structure.rb +553 -0
- data/lib/openc3/packets/structure_item.rb +365 -0
- data/lib/openc3/packets/telemetry.rb +487 -0
- data/lib/openc3/processors/processor.rb +86 -0
- data/lib/openc3/processors/statistics_processor.rb +82 -0
- data/lib/openc3/processors/watermark_processor.rb +58 -0
- data/lib/openc3/processors.rb +24 -0
- data/lib/openc3/script/api_shared.rb +828 -0
- data/lib/openc3/script/calendar.rb +89 -0
- data/lib/openc3/script/commands.rb +227 -0
- data/lib/openc3/script/exceptions.rb +29 -0
- data/lib/openc3/script/extract.rb +161 -0
- data/lib/openc3/script/limits.rb +60 -0
- data/lib/openc3/script/script.rb +299 -0
- data/lib/openc3/script/script_runner.rb +238 -0
- data/lib/openc3/script/storage.rb +146 -0
- data/lib/openc3/script/suite.rb +542 -0
- data/lib/openc3/script/suite_results.rb +196 -0
- data/lib/openc3/script/suite_runner.rb +217 -0
- data/lib/openc3/script.rb +21 -0
- data/lib/openc3/streams/serial_stream.rb +167 -0
- data/lib/openc3/streams/stream.rb +63 -0
- data/lib/openc3/streams/tcpip_client_stream.rb +116 -0
- data/lib/openc3/streams/tcpip_socket_stream.rb +195 -0
- data/lib/openc3/system/system.rb +127 -0
- data/lib/openc3/system/system_config.rb +411 -0
- data/lib/openc3/system/target.rb +269 -0
- data/lib/openc3/system.rb +24 -0
- data/lib/openc3/tools/cmd_tlm_server/api.rb +20 -0
- data/lib/openc3/tools/cmd_tlm_server/cmd_tlm_server_config.rb +320 -0
- data/lib/openc3/tools/cmd_tlm_server/interface_thread.rb +294 -0
- data/lib/openc3/tools/table_manager/table.rb +77 -0
- data/lib/openc3/tools/table_manager/table_config.rb +273 -0
- data/lib/openc3/tools/table_manager/table_item.rb +90 -0
- data/lib/openc3/tools/table_manager/table_item_parser.rb +66 -0
- data/lib/openc3/tools/table_manager/table_manager_core.rb +333 -0
- data/lib/openc3/tools/table_manager/table_parser.rb +93 -0
- data/lib/openc3/tools/test_runner/test.rb +67 -0
- data/lib/openc3/top_level.rb +595 -0
- data/lib/openc3/topics/autonomic_topic.rb +52 -0
- data/lib/openc3/topics/calendar_topic.rb +44 -0
- data/lib/openc3/topics/command_decom_topic.rb +76 -0
- data/lib/openc3/topics/command_topic.rb +83 -0
- data/lib/openc3/topics/config_topic.rb +68 -0
- data/lib/openc3/topics/interface_topic.rb +73 -0
- data/lib/openc3/topics/limits_event_topic.rb +109 -0
- data/lib/openc3/topics/notifications_topic.rb +28 -0
- data/lib/openc3/topics/router_topic.rb +85 -0
- data/lib/openc3/topics/telemetry_decom_topic.rb +54 -0
- data/lib/openc3/topics/telemetry_topic.rb +36 -0
- data/lib/openc3/topics/timeline_topic.rb +45 -0
- data/lib/openc3/topics/topic.rb +53 -0
- data/lib/openc3/utilities/authentication.rb +141 -0
- data/lib/openc3/utilities/authorization.rb +51 -0
- data/lib/openc3/utilities/crc.rb +278 -0
- data/lib/openc3/utilities/csv.rb +153 -0
- data/lib/openc3/utilities/logger.rb +187 -0
- data/lib/openc3/utilities/message_log.rb +91 -0
- data/lib/openc3/utilities/metric.rb +141 -0
- data/lib/openc3/utilities/process_manager.rb +139 -0
- data/lib/openc3/utilities/quaternion.rb +257 -0
- data/lib/openc3/utilities/ruby_lex_utils.rb +568 -0
- data/lib/openc3/utilities/s3.rb +202 -0
- data/lib/openc3/utilities/s3_autoload.rb +9 -0
- data/lib/openc3/utilities/s3_file_cache.rb +274 -0
- data/lib/openc3/utilities/simulated_target.rb +117 -0
- data/lib/openc3/utilities/sleeper.rb +51 -0
- data/lib/openc3/utilities/store.rb +23 -0
- data/lib/openc3/utilities/store_autoload.rb +237 -0
- data/lib/openc3/utilities/zip.rb +21 -0
- data/lib/openc3/utilities.rb +35 -0
- data/lib/openc3/version.rb +14 -0
- data/lib/openc3/win32/excel.rb +132 -0
- data/lib/openc3/win32/win32.rb +402 -0
- data/lib/openc3/win32/win32_main.rb +333 -0
- data/lib/openc3.rb +49 -0
- data/tasks/gemfile_stats.rake +113 -0
- data/tasks/spec.rake +30 -0
- data/templates/plugin-template/README.md +15 -0
- data/templates/plugin-template/Rakefile +12 -0
- data/templates/plugin-template/plugin.gemspec +23 -0
- data/templates/plugin-template/plugin.txt +9 -0
- data/templates/plugin-template/targets/TARGET/cmd_tlm/cmd.txt +8 -0
- data/templates/plugin-template/targets/TARGET/cmd_tlm/tlm.txt +8 -0
- data/templates/plugin-template/targets/TARGET/lib/target.rb +10 -0
- data/templates/plugin-template/targets/TARGET/procedures/procedure.rb +3 -0
- data/templates/plugin-template/targets/TARGET/screens/status.txt +9 -0
- data/templates/plugin-template/targets/TARGET/target.txt +5 -0
- metadata +849 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
REQUIRE:
|
|
3
|
+
summary: Requires a Ruby file
|
|
4
|
+
description:
|
|
5
|
+
Ruby files must be required to be available to call in other code.
|
|
6
|
+
Files are first required from the target's lib folder. If no file is found the
|
|
7
|
+
Ruby system path is checked which includes the base openc3/lib folder.
|
|
8
|
+
example: REQUIRE limits_response.rb
|
|
9
|
+
parameters:
|
|
10
|
+
- name: Filename
|
|
11
|
+
required: true
|
|
12
|
+
description: Filename to require. For files in the target's lib directory
|
|
13
|
+
simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3
|
|
14
|
+
lib directory also should just list the filename. If a file is in a folder
|
|
15
|
+
under the lib directory then you must specify the folder name, e.g. "REQUIRE
|
|
16
|
+
folder/my_file". The filename can also be an absolute path but this is not
|
|
17
|
+
common. Note the ".rb" extension is optional when specifying the filename.
|
|
18
|
+
values: .+
|
|
19
|
+
IGNORE_PARAMETER:
|
|
20
|
+
summary: Ignore the given command parameter
|
|
21
|
+
description:
|
|
22
|
+
Hint to other OpenC3 tools to hide or ignore this command parameter
|
|
23
|
+
when processing the command. For example, Command Sender and Command Sequence
|
|
24
|
+
will not display the parameter (by default) when showing the command and Script
|
|
25
|
+
Runner code completion will not display the parameter.
|
|
26
|
+
example: IGNORE_PARAMETER CCSDS_VERSION
|
|
27
|
+
parameters:
|
|
28
|
+
- name: Parameter Name
|
|
29
|
+
required: true
|
|
30
|
+
description:
|
|
31
|
+
The name of a command parameter. Note that this parameter will
|
|
32
|
+
be ignored in ALL the commands it appears in.
|
|
33
|
+
values: .+
|
|
34
|
+
IGNORE_ITEM:
|
|
35
|
+
summary: Ignore the given telemetry item
|
|
36
|
+
description: Hint to other OpenC3 tools to hide or ignore this telemetry item
|
|
37
|
+
when processing the telemetry. For example, Packet Viewer will not display the
|
|
38
|
+
item (by default) when showing the packet.
|
|
39
|
+
example: IGNORE_ITEM CCSDS_VERSION
|
|
40
|
+
parameters:
|
|
41
|
+
- name: Item name
|
|
42
|
+
required: true
|
|
43
|
+
description:
|
|
44
|
+
The name of a telemetry item. Note that this item will be ignored
|
|
45
|
+
in ALL the telemetry it appears in.
|
|
46
|
+
values: .+
|
|
47
|
+
COMMANDS:
|
|
48
|
+
summary: Process the given command definition file
|
|
49
|
+
description:
|
|
50
|
+
This keyword is used to explicitly add the command definition file
|
|
51
|
+
to the list of command and telemetry files to process.
|
|
52
|
+
warning: Usage of this keyword overrides automatic command and telemetry file
|
|
53
|
+
discovery. If this keyword is used, you must also use the TELEMETRY keyword
|
|
54
|
+
to specify the telemetry files to process.
|
|
55
|
+
example: |
|
|
56
|
+
COMMANDS inst_cmds_v2.txt
|
|
57
|
+
TELEMETRY inst_tlm_v2.txt
|
|
58
|
+
parameters:
|
|
59
|
+
- name: Filename
|
|
60
|
+
required: true
|
|
61
|
+
description: Name of a command definition file in the target's cmd_tlm directory, e.g. "cmd.txt".
|
|
62
|
+
values: '.*\.txt'
|
|
63
|
+
TELEMETRY:
|
|
64
|
+
summary: Process the given telemetry definition file
|
|
65
|
+
description: This keyword is used to explicitly add the telemetry definition
|
|
66
|
+
file to the list of command and telemetry files to process.
|
|
67
|
+
warning: Usage of this keyword overrides automatic command and telemetry file
|
|
68
|
+
discovery. If this keyword is used, you must also use the COMMAND keyword to
|
|
69
|
+
specify the command files to process.
|
|
70
|
+
example: |
|
|
71
|
+
COMMANDS inst_cmds_v2.txt
|
|
72
|
+
TELEMETRY inst_tlm_v2.txt
|
|
73
|
+
parameters:
|
|
74
|
+
- name: Filename
|
|
75
|
+
required: true
|
|
76
|
+
description: Name of a telemetry definition file in the target's cmd_tlm
|
|
77
|
+
directory, e.g. "tlm.txt".
|
|
78
|
+
values: '.*\.txt'
|
|
79
|
+
CMD_UNIQUE_ID_MODE:
|
|
80
|
+
summary: Command packet identifiers don't all share the same bit offset, size, and type
|
|
81
|
+
description:
|
|
82
|
+
Ideally all commands for a target are identified using the exact same bit offset, size,
|
|
83
|
+
and type field in each command. If ANY command identifiers differ then this flag must be set
|
|
84
|
+
to force a brute force identification method.
|
|
85
|
+
warning: Using this mode significantly slows packet identification
|
|
86
|
+
since: 4.4.0
|
|
87
|
+
TLM_UNIQUE_ID_MODE:
|
|
88
|
+
summary: Telemetry packets identifiers don't all share the same bit offset, size, and type
|
|
89
|
+
description:
|
|
90
|
+
Ideally all telemetry for a target are identified using the exact same bit offset, size,
|
|
91
|
+
and type field in each packet. If ANY telemetry identifiers differ then this flag must be set
|
|
92
|
+
to force a brute force identification method.
|
|
93
|
+
warning: Using this mode significantly slows packet identification
|
|
94
|
+
since: 4.4.0
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
TELEMETRY:
|
|
3
|
+
# Prevent prettier from removing the newline after modifiers:
|
|
4
|
+
# prettier-ignore
|
|
5
|
+
modifiers:
|
|
6
|
+
<%= MetaConfigParser.load('telemetry_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
7
|
+
summary: Defines a new telemetry packet
|
|
8
|
+
example: TELEMETRY SYSTEM LIMITS_CHANGE BIG_ENDIAN "OpenC3 limits change"
|
|
9
|
+
parameters:
|
|
10
|
+
- name: Target
|
|
11
|
+
required: true
|
|
12
|
+
description: Name of the target this telemetry packet is associated with
|
|
13
|
+
values: .+
|
|
14
|
+
- name: Command
|
|
15
|
+
required: true
|
|
16
|
+
description:
|
|
17
|
+
Name of this telemetry packet. Also referred to as its mnemonic.
|
|
18
|
+
Must be unique to telemetry packets in this target. Ideally will be as short and clear as possible.
|
|
19
|
+
values: \D\S*
|
|
20
|
+
- name: Endianness
|
|
21
|
+
required: true
|
|
22
|
+
description: Indicates if the data in this packet is in Big Endian or Little Endian format
|
|
23
|
+
values: ["BIG_ENDIAN", "LITTLE_ENDIAN"]
|
|
24
|
+
- name: Description
|
|
25
|
+
required: false
|
|
26
|
+
description: Description of this telemetry packet which must be enclosed with quotes
|
|
27
|
+
values: '[''"].*[''"]'
|
|
28
|
+
SELECT_TELEMETRY:
|
|
29
|
+
# prettier-ignore
|
|
30
|
+
modifiers:
|
|
31
|
+
<%= MetaConfigParser.load('telemetry_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
32
|
+
summary: Selects an existing telemetry packet for editing
|
|
33
|
+
description:
|
|
34
|
+
Typically used in a separate configuration file from where the original
|
|
35
|
+
telemetry is defined to override or add to the existing telemetry definition
|
|
36
|
+
example: SELECT_TELEMETRY SYSTEM LIMITS_CHANGE
|
|
37
|
+
parameters:
|
|
38
|
+
- name: Target Name
|
|
39
|
+
required: true
|
|
40
|
+
description: Name of the target this telemetry packet is associated with
|
|
41
|
+
values: .+
|
|
42
|
+
- name: Command Name
|
|
43
|
+
required: true
|
|
44
|
+
description: Name of the telemetry packet to select
|
|
45
|
+
values: .+
|
|
46
|
+
LIMITS_GROUP:
|
|
47
|
+
summary: Defines a group of related limits Items
|
|
48
|
+
description:
|
|
49
|
+
Limits groups contain telemetry items that can be enabled and disabled together.
|
|
50
|
+
It can be used to group related limits as a subsystem that can be enabled or disabled
|
|
51
|
+
as that particular subsystem is powered (for example). To enable a group call the
|
|
52
|
+
enable_limits_group("NAME") method in Script Runner. To disable a group call the
|
|
53
|
+
disable_limits_group("NAME") in Script Runner. Items can belong to multiple groups
|
|
54
|
+
but the last enabled or disabled group "wins". For example, if an item belongs to
|
|
55
|
+
GROUP1 and GROUP2 and you first enable GROUP1 and then disable GROUP2 the item will
|
|
56
|
+
be disabled. If you then enable GROUP1 again it will be enabled.
|
|
57
|
+
parameters:
|
|
58
|
+
- name: Group Name
|
|
59
|
+
required: true
|
|
60
|
+
description: Name of the limits group
|
|
61
|
+
values: .+
|
|
62
|
+
LIMITS_GROUP_ITEM:
|
|
63
|
+
summary: Adds the specified telemetry item to the last defined LIMITS_GROUP
|
|
64
|
+
description:
|
|
65
|
+
Limits group information is typically kept in a separate configuration
|
|
66
|
+
file in the config/TARGET/cmd_tlm folder named limits_groups.txt. If you want to
|
|
67
|
+
configure multiple target items in a particular group you should put this information
|
|
68
|
+
in the config/SYSTEM/cmd_tlm/limits_groups.txt file. The SYSTEM target is processed
|
|
69
|
+
last and contains information that crosses target boundaries.
|
|
70
|
+
example: |
|
|
71
|
+
LIMITS_GROUP SUBSYSTEM
|
|
72
|
+
LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP1
|
|
73
|
+
LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP2
|
|
74
|
+
LIMITS_GROUP_ITEM INST HEALTH_STATUS TEMP3
|
|
75
|
+
parameters:
|
|
76
|
+
- name: Target Name
|
|
77
|
+
required: true
|
|
78
|
+
description: Name of the target
|
|
79
|
+
values: .+
|
|
80
|
+
- name: Packet Name
|
|
81
|
+
required: true
|
|
82
|
+
description: Name of the packet
|
|
83
|
+
values: .+
|
|
84
|
+
- name: Item Name
|
|
85
|
+
required: true
|
|
86
|
+
description: Name of the telemetry item to add to the group
|
|
87
|
+
values: .+
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
ITEM:
|
|
3
|
+
modifiers:
|
|
4
|
+
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
5
|
+
summary: Defines a telemetry item in the current telemetry packet
|
|
6
|
+
example: |
|
|
7
|
+
ITEM PKTID 112 16 UINT "Packet ID"
|
|
8
|
+
ITEM DATA 0 0 DERIVED "Derived data"
|
|
9
|
+
parameters:
|
|
10
|
+
- name: Name
|
|
11
|
+
required: true
|
|
12
|
+
description: Name of the telemety item. Must be unique within the packet.
|
|
13
|
+
values: '\D\S*'
|
|
14
|
+
- name: Bit Offset
|
|
15
|
+
required: true
|
|
16
|
+
description: Bit offset into the telemetry packet of the Most Significant Bit of this item.
|
|
17
|
+
May be negative to indicate on offset from the end of the packet.
|
|
18
|
+
Always use a bit offset of 0 for derived item.
|
|
19
|
+
values: '[-]?\d+'
|
|
20
|
+
<%= MetaConfigParser.load('_items.yaml').to_meta_config_yaml(4) %>
|
|
21
|
+
APPEND_ITEM:
|
|
22
|
+
modifiers:
|
|
23
|
+
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
24
|
+
summary: Defines a telemetry item in the current telemetry packet
|
|
25
|
+
example: APPEND_ITEM PKTID 16 UINT "Packet ID"
|
|
26
|
+
parameters:
|
|
27
|
+
- name: Name
|
|
28
|
+
required: true
|
|
29
|
+
description: Name of the telemety item. Must be unique within the packet.
|
|
30
|
+
values: \'
|
|
31
|
+
<%= MetaConfigParser.load('_items.yaml').to_meta_config_yaml(4) %>
|
|
32
|
+
ID_ITEM:
|
|
33
|
+
modifiers:
|
|
34
|
+
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
35
|
+
summary: Defines a telemetry item in the current telemetry packet.
|
|
36
|
+
Note, packets defined without one or more ID_ITEMs are "catch-all" packets which
|
|
37
|
+
will match all incoming data. Normally this is the job of the UNKNOWN packet.
|
|
38
|
+
example: ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1"
|
|
39
|
+
parameters:
|
|
40
|
+
- name: Name
|
|
41
|
+
required: true
|
|
42
|
+
description: Name of the telemety item. Must be unique within the packet.
|
|
43
|
+
values: '\D\S*'
|
|
44
|
+
- name: Bit Offset
|
|
45
|
+
required: true
|
|
46
|
+
description: Bit offset into the telemetry packet of the Most Significant Bit of this item.
|
|
47
|
+
May be negative to indicate on offset from the end of the packet.
|
|
48
|
+
Always use a bit offset of 0 for derived item.
|
|
49
|
+
values: '[-]?\d+'
|
|
50
|
+
<%= MetaConfigParser.load('_id_items.yaml').to_meta_config_yaml(4) %>
|
|
51
|
+
APPEND_ID_ITEM:
|
|
52
|
+
modifiers:
|
|
53
|
+
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
54
|
+
summary: Defines a telemetry item in the current telemetry packet
|
|
55
|
+
example: APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1"
|
|
56
|
+
parameters:
|
|
57
|
+
- name: Name
|
|
58
|
+
required: true
|
|
59
|
+
description: Name of the telemety item. Must be unique within the packet.
|
|
60
|
+
values: \'
|
|
61
|
+
<%= MetaConfigParser.load('_id_items.yaml').to_meta_config_yaml(4) %>
|
|
62
|
+
ARRAY_ITEM:
|
|
63
|
+
modifiers:
|
|
64
|
+
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
65
|
+
summary: Defines a telemetry item in the current telemetry packet that is an array
|
|
66
|
+
example: ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats"
|
|
67
|
+
parameters:
|
|
68
|
+
- name: Name
|
|
69
|
+
required: true
|
|
70
|
+
description: Name of the telemety item. Must be unique within the packet.
|
|
71
|
+
values: '\D\S*'
|
|
72
|
+
- name: Bit Offset
|
|
73
|
+
required: true
|
|
74
|
+
description: Bit offset into the telemetry packet of the Most Significant Bit of this item.
|
|
75
|
+
May be negative to indicate on offset from the end of the packet.
|
|
76
|
+
Always use a bit offset of 0 for derived item.
|
|
77
|
+
values: '[-]?\d+'
|
|
78
|
+
<%= MetaConfigParser.load('_array_params.yaml').to_meta_config_yaml(4) %>
|
|
79
|
+
APPEND_ARRAY_ITEM:
|
|
80
|
+
modifiers:
|
|
81
|
+
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
82
|
+
summary: Defines a telemetry item in the current telemetry packet that is an array
|
|
83
|
+
example: APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats"
|
|
84
|
+
parameters:
|
|
85
|
+
- name: Name
|
|
86
|
+
required: true
|
|
87
|
+
description: Name of the telemety item. Must be unique within the packet.
|
|
88
|
+
values: \'
|
|
89
|
+
<%= MetaConfigParser.load('_array_params.yaml').to_meta_config_yaml(4) %>
|
|
90
|
+
SELECT_ITEM:
|
|
91
|
+
modifiers:
|
|
92
|
+
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
|
|
93
|
+
summary: Selects an existing telemetry item for editing
|
|
94
|
+
example: |
|
|
95
|
+
SELECT_TELEMETRY SYSTEM LIMITS_CHANGE
|
|
96
|
+
SELECT_ITEM ITEM
|
|
97
|
+
parameters:
|
|
98
|
+
- name: Item
|
|
99
|
+
required: true
|
|
100
|
+
description: Name of the item to select for modification
|
|
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: .+
|
|
117
|
+
META:
|
|
118
|
+
summary: Stores metadata for the current telemetry packet
|
|
119
|
+
description: Meta data is user specific data that can be used by custom tools
|
|
120
|
+
for various purposes. One example is to store additional information needed
|
|
121
|
+
to generate source code header files.
|
|
122
|
+
example: META FSW_TYPE "struct tlm_packet"
|
|
123
|
+
parameters:
|
|
124
|
+
- name: Meta Name
|
|
125
|
+
required: true
|
|
126
|
+
description: Name of the metadata to store
|
|
127
|
+
values: .*
|
|
128
|
+
- name: Meta Values
|
|
129
|
+
required: false
|
|
130
|
+
description: One or more values to be stored for this Meta Name
|
|
131
|
+
values: .*
|
|
132
|
+
PROCESSOR:
|
|
133
|
+
summary: Defines a processor class that executes code every time a packet is received
|
|
134
|
+
example: PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1
|
|
135
|
+
parameters:
|
|
136
|
+
- name: Processor Name
|
|
137
|
+
required: true
|
|
138
|
+
description: The name of the processor
|
|
139
|
+
values: .+
|
|
140
|
+
- name: Processor Class Filename
|
|
141
|
+
required: true
|
|
142
|
+
description: Name of the Ruby file which implements the processor.
|
|
143
|
+
This file should be in the config/TARGET/lib directory so it can be found by OpenC3.
|
|
144
|
+
values: '.+\.rb'
|
|
145
|
+
- name: Processor Specific Options
|
|
146
|
+
required: false
|
|
147
|
+
description: Variable length number of options that will be passed to the class constructor.
|
|
148
|
+
values: .+
|
|
149
|
+
ALLOW_SHORT:
|
|
150
|
+
summary: Process telemetry packets which are less than their defined length
|
|
151
|
+
description: Allows the telemetry packet to be received with a data portion that
|
|
152
|
+
is smaller than the defined size without warnings. Any extra space in the packet
|
|
153
|
+
will be filled in with zeros by OpenC3.
|
|
154
|
+
HIDDEN:
|
|
155
|
+
summary: Hides this telemetry packet from all the OpenC3 tools
|
|
156
|
+
description: This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Creator.
|
|
157
|
+
It also hides this telemetry from appearing in the Script Runner popup helper
|
|
158
|
+
when writing scripts. The telemetry still exists in the system and can received
|
|
159
|
+
and checked by scripts.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
TOOL:
|
|
3
|
+
summary: Define a tool
|
|
4
|
+
example: TOOL DEMO Demo
|
|
5
|
+
description: Defines a tool that the plugin adds to the OpenC3 system. Tools are web based applications that make use of the Single-SPA javascript library that allows them to by dynamically added to the running system as independent frontend microservices.
|
|
6
|
+
parameters:
|
|
7
|
+
- name: Tool Folder Name
|
|
8
|
+
description: The exact name of the tool folder in the plugin. ie. tools/<Tool Folder Name>
|
|
9
|
+
required: true
|
|
10
|
+
values: .+
|
|
11
|
+
- name: Tool Name
|
|
12
|
+
description: Name of the tool that is displayed in the OpenC3 Navigation menu
|
|
13
|
+
required: true
|
|
14
|
+
values: .+
|
|
15
|
+
modifiers:
|
|
16
|
+
URL:
|
|
17
|
+
summary: Url used to access the tool
|
|
18
|
+
description: The relative url used to access the tool. Defaults to "/tools/<Tool Folder Name>".
|
|
19
|
+
parameters:
|
|
20
|
+
- name: Url
|
|
21
|
+
required: true
|
|
22
|
+
description: The url. If not given defaults to tools/<Tool Folder Name>. Generally should not be given unless linking to external tools.
|
|
23
|
+
values: .+
|
|
24
|
+
INLINE_URL:
|
|
25
|
+
summary: Internal url to load a tool
|
|
26
|
+
description: The url of the javascript file used to load the tool into single-SPA. Defaults to "js/app.js".
|
|
27
|
+
parameters:
|
|
28
|
+
- name: Url
|
|
29
|
+
required: true
|
|
30
|
+
description: The inline url. If not given defaults to js/app.js. Generally should not be given unless using a non-standard filename.
|
|
31
|
+
values: .+
|
|
32
|
+
WINDOW:
|
|
33
|
+
summary: How to display the tool when navigated to
|
|
34
|
+
description: The window mode used to display the tool. INLINE opens the tool internally without refreshing the page using the Single-SPA framework. IFRAME opens external tools in an Iframe within OpenC3. NEW opens the tool in a new TAB.
|
|
35
|
+
parameters:
|
|
36
|
+
- name: Window Mode
|
|
37
|
+
required: true
|
|
38
|
+
description: Tool display mode
|
|
39
|
+
values: ["INLINE", "IFRAME", "NEW"]
|
|
40
|
+
ICON:
|
|
41
|
+
summary: Set tool icon
|
|
42
|
+
description: Icon shown next to the tool name in the OpenC3 navigation menu.
|
|
43
|
+
parameters:
|
|
44
|
+
- name: Icon Name
|
|
45
|
+
required: true
|
|
46
|
+
description: Icon to display next to the tool name. Icons come from Font Awesome, Material Design (https://materialdesignicons.com/), and Astro.
|
|
47
|
+
values: .+
|
|
48
|
+
CATEGORY:
|
|
49
|
+
summary: Category for the tool
|
|
50
|
+
description: Associates the tool with a category. In a future release this will be able to organize tools into submenus in the Navigation menu.
|
|
51
|
+
parameters:
|
|
52
|
+
- name: Category Name
|
|
53
|
+
required: true
|
|
54
|
+
description: Category to associate the tool with
|
|
55
|
+
values: .+
|
|
56
|
+
SHOWN:
|
|
57
|
+
summary: Show the tool or not
|
|
58
|
+
description: Whether or not the tool is shown in the Navigation menu. Should generally be true, except for the openc3 base tool.
|
|
59
|
+
parameters:
|
|
60
|
+
- name: Shown
|
|
61
|
+
required: true
|
|
62
|
+
description: Whether or not the tool is shown. TRUE or FALSE
|
|
63
|
+
values: ["true", "false"]
|