openc3 5.0.10 → 5.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Guardfile +3 -0
- data/LICENSE.txt +7 -5
- data/README.md +11 -9
- data/Rakefile +3 -0
- data/bin/cstol_converter +3 -0
- data/bin/openc3cli +29 -18
- data/bin/rubysloc +3 -0
- data/data/config/screen.yaml +10 -2
- data/data/config/target.yaml +1 -1
- data/data/config/widgets.yaml +6 -6
- data/ext/mkrf_conf.rb +3 -0
- data/ext/openc3/ext/array/array.c +3 -0
- data/ext/openc3/ext/buffered_file/buffered_file.c +3 -0
- data/ext/openc3/ext/config_parser/config_parser.c +3 -0
- data/ext/openc3/ext/crc/crc.c +3 -0
- data/ext/openc3/ext/openc3_io/openc3_io.c +3 -0
- data/ext/openc3/ext/packet/packet.c +3 -0
- data/ext/openc3/ext/platform/platform.c +3 -0
- data/ext/openc3/ext/polynomial_conversion/polynomial_conversion.c +3 -0
- data/ext/openc3/ext/string/string.c +3 -0
- data/ext/openc3/ext/structure/structure.c +3 -0
- data/ext/openc3/ext/tabbed_plots_config/tabbed_plots_config.c +3 -0
- data/ext/openc3/ext/telemetry/telemetry.c +3 -0
- data/lib/cosmos.rb +3 -0
- data/lib/cosmosc2.rb +3 -0
- data/lib/openc3/accessors/accessor.rb +3 -0
- data/lib/openc3/accessors/binary_accessor.rb +3 -0
- data/lib/openc3/accessors/cbor_accessor.rb +3 -0
- data/lib/openc3/accessors/html_accessor.rb +3 -0
- data/lib/openc3/accessors/json_accessor.rb +4 -1
- data/lib/openc3/accessors/xml_accessor.rb +3 -0
- data/lib/openc3/accessors.rb +3 -0
- data/lib/openc3/api/api.rb +3 -0
- data/lib/openc3/api/authorized_api.rb +3 -0
- data/lib/openc3/api/cmd_api.rb +6 -3
- data/lib/openc3/api/config_api.rb +3 -0
- data/lib/openc3/api/interface_api.rb +16 -5
- data/lib/openc3/api/limits_api.rb +54 -61
- data/lib/openc3/api/router_api.rb +6 -3
- data/lib/openc3/api/settings_api.rb +3 -0
- data/lib/openc3/api/target_api.rb +3 -0
- data/lib/openc3/api/tlm_api.rb +27 -32
- data/lib/openc3/bridge/bridge.rb +3 -0
- data/lib/openc3/bridge/bridge_config.rb +3 -0
- data/lib/openc3/bridge/bridge_interface_thread.rb +3 -0
- data/lib/openc3/bridge/bridge_router_thread.rb +3 -0
- data/lib/openc3/ccsds/ccsds_packet.rb +3 -0
- data/lib/openc3/ccsds/ccsds_parser.rb +3 -0
- data/lib/openc3/config/config_parser.rb +3 -0
- data/lib/openc3/config/meta_config_parser.rb +3 -0
- data/lib/openc3/conversions/conversion.rb +3 -0
- data/lib/openc3/conversions/generic_conversion.rb +3 -0
- data/lib/openc3/conversions/packet_time_formatted_conversion.rb +3 -0
- data/lib/openc3/conversions/packet_time_seconds_conversion.rb +3 -0
- data/lib/openc3/conversions/polynomial_conversion.rb +3 -0
- data/lib/openc3/conversions/processor_conversion.rb +3 -0
- data/lib/openc3/conversions/received_count_conversion.rb +3 -0
- data/lib/openc3/conversions/received_time_formatted_conversion.rb +3 -0
- data/lib/openc3/conversions/received_time_seconds_conversion.rb +3 -0
- data/lib/openc3/conversions/segmented_polynomial_conversion.rb +3 -0
- data/lib/openc3/conversions/unix_time_conversion.rb +3 -0
- data/lib/openc3/conversions/unix_time_formatted_conversion.rb +3 -0
- data/lib/openc3/conversions/unix_time_seconds_conversion.rb +3 -0
- data/lib/openc3/conversions.rb +3 -0
- data/lib/openc3/core_ext/array.rb +3 -0
- data/lib/openc3/core_ext/binding.rb +3 -0
- data/lib/openc3/core_ext/class.rb +3 -0
- data/lib/openc3/core_ext/exception.rb +3 -0
- data/lib/openc3/core_ext/file.rb +3 -0
- data/lib/openc3/core_ext/hash.rb +3 -0
- data/lib/openc3/core_ext/io.rb +3 -0
- data/lib/openc3/core_ext/kernel.rb +3 -0
- data/lib/openc3/core_ext/math.rb +3 -0
- data/lib/openc3/core_ext/matrix.rb +3 -0
- data/lib/openc3/core_ext/objectspace.rb +3 -0
- data/lib/openc3/core_ext/openc3_io.rb +3 -0
- data/lib/openc3/core_ext/range.rb +3 -0
- data/lib/openc3/core_ext/socket.rb +3 -0
- data/lib/openc3/core_ext/string.rb +3 -0
- data/lib/openc3/core_ext/stringio.rb +3 -0
- data/lib/openc3/core_ext/tempfile.rb +3 -0
- data/lib/openc3/core_ext/time.rb +3 -0
- data/lib/openc3/core_ext.rb +4 -0
- data/lib/openc3/interfaces/interface.rb +4 -1
- data/lib/openc3/interfaces/linc_interface.rb +3 -0
- data/lib/openc3/interfaces/protocols/burst_protocol.rb +3 -0
- data/lib/openc3/interfaces/protocols/crc_protocol.rb +3 -0
- data/lib/openc3/interfaces/protocols/fixed_protocol.rb +3 -0
- data/lib/openc3/interfaces/protocols/ignore_packet_protocol.rb +3 -0
- data/lib/openc3/interfaces/protocols/length_protocol.rb +3 -0
- data/lib/openc3/interfaces/protocols/override_protocol.rb +3 -0
- data/lib/openc3/interfaces/protocols/preidentified_protocol.rb +3 -0
- data/lib/openc3/interfaces/protocols/protocol.rb +3 -0
- data/lib/openc3/interfaces/protocols/template_protocol.rb +3 -0
- data/lib/openc3/interfaces/protocols/terminated_protocol.rb +3 -0
- data/lib/openc3/interfaces/serial_interface.rb +3 -0
- data/lib/openc3/interfaces/simulated_target_interface.rb +3 -0
- data/lib/openc3/interfaces/stream_interface.rb +3 -0
- data/lib/openc3/interfaces/tcpip_client_interface.rb +3 -0
- data/lib/openc3/interfaces/tcpip_server_interface.rb +3 -0
- data/lib/openc3/interfaces/udp_interface.rb +3 -0
- data/lib/openc3/interfaces.rb +3 -0
- data/lib/openc3/io/buffered_file.rb +3 -0
- data/lib/openc3/io/io_multiplexer.rb +8 -0
- data/lib/openc3/io/json_api_object.rb +5 -2
- data/lib/openc3/io/json_drb.rb +3 -0
- data/lib/openc3/io/json_drb_object.rb +5 -2
- data/lib/openc3/io/json_drb_rack.rb +3 -0
- data/lib/openc3/io/json_rpc.rb +3 -0
- data/lib/openc3/io/openc3_snmp.rb +3 -0
- data/lib/openc3/io/posix_serial_driver.rb +3 -0
- data/lib/openc3/io/raw_logger.rb +3 -0
- data/lib/openc3/io/raw_logger_pair.rb +3 -0
- data/lib/openc3/io/serial_driver.rb +3 -0
- data/lib/openc3/io/stderr.rb +3 -0
- data/lib/openc3/io/stdout.rb +3 -0
- data/lib/openc3/io/udp_sockets.rb +3 -0
- data/lib/openc3/io/win32_serial_driver.rb +3 -0
- data/lib/openc3/logs/buffered_packet_log_reader.rb +65 -0
- data/lib/openc3/logs/buffered_packet_log_writer.rb +118 -0
- data/lib/openc3/logs/log_writer.rb +94 -41
- data/lib/openc3/logs/packet_log_constants.rb +9 -0
- data/lib/openc3/logs/packet_log_reader.rb +34 -3
- data/lib/openc3/logs/packet_log_writer.rb +85 -20
- data/lib/openc3/logs/text_log_writer.rb +9 -5
- data/lib/openc3/logs.rb +8 -2
- data/lib/openc3/microservices/cleanup_microservice.rb +18 -18
- data/lib/openc3/microservices/decom_microservice.rb +30 -24
- data/lib/openc3/microservices/interface_microservice.rb +136 -91
- data/lib/openc3/microservices/log_microservice.rb +35 -13
- data/lib/openc3/microservices/microservice.rb +16 -14
- data/lib/openc3/microservices/plugin_microservice.rb +3 -1
- data/lib/openc3/microservices/reaction_microservice.rb +4 -1
- data/lib/openc3/microservices/reducer_microservice.rb +332 -149
- data/lib/openc3/microservices/router_microservice.rb +3 -0
- data/lib/openc3/microservices/text_log_microservice.rb +5 -2
- data/lib/openc3/microservices/timeline_microservice.rb +4 -1
- data/lib/openc3/microservices/trigger_group_microservice.rb +3 -0
- data/lib/openc3/models/activity_model.rb +3 -0
- data/lib/openc3/models/auth_model.rb +3 -1
- data/lib/openc3/models/cvt_model.rb +14 -5
- data/lib/openc3/models/environment_model.rb +3 -0
- data/lib/openc3/models/gem_model.rb +30 -51
- data/lib/openc3/models/info_model.rb +3 -0
- data/lib/openc3/models/interface_model.rb +3 -0
- data/lib/openc3/models/interface_status_model.rb +4 -1
- data/lib/openc3/models/metadata_model.rb +3 -0
- data/lib/openc3/models/metric_model.rb +3 -0
- data/lib/openc3/models/microservice_model.rb +9 -6
- data/lib/openc3/models/microservice_status_model.rb +4 -1
- data/lib/openc3/models/model.rb +3 -0
- data/lib/openc3/models/note_model.rb +8 -5
- data/lib/openc3/models/notification_model.rb +3 -0
- data/lib/openc3/models/ping_model.rb +3 -0
- data/lib/openc3/models/plugin_model.rb +20 -14
- data/lib/openc3/models/process_status_model.rb +4 -1
- data/lib/openc3/models/reaction_model.rb +3 -0
- data/lib/openc3/models/reducer_model.rb +31 -24
- data/lib/openc3/models/router_model.rb +3 -0
- data/lib/openc3/models/router_status_model.rb +3 -0
- data/lib/openc3/models/scope_model.rb +3 -4
- data/lib/openc3/models/settings_model.rb +3 -0
- data/lib/openc3/models/sorted_model.rb +3 -0
- data/lib/openc3/models/target_model.rb +61 -94
- data/lib/openc3/models/timeline_model.rb +4 -1
- data/lib/openc3/models/tool_config_model.rb +3 -0
- data/lib/openc3/models/tool_model.rb +11 -9
- data/lib/openc3/models/trigger_group_model.rb +3 -0
- data/lib/openc3/models/trigger_model.rb +3 -0
- data/lib/openc3/models/widget_model.rb +18 -11
- data/lib/openc3/operators/microservice_operator.rb +3 -0
- data/lib/openc3/operators/operator.rb +105 -34
- data/lib/openc3/packets/commands.rb +3 -0
- data/lib/openc3/packets/json_packet.rb +87 -14
- data/lib/openc3/packets/limits.rb +4 -1
- data/lib/openc3/packets/limits_response.rb +3 -0
- data/lib/openc3/packets/packet.rb +5 -1
- data/lib/openc3/packets/packet_config.rb +3 -0
- data/lib/openc3/packets/packet_item.rb +9 -3
- data/lib/openc3/packets/packet_item_limits.rb +3 -0
- data/lib/openc3/packets/parsers/format_string_parser.rb +3 -0
- data/lib/openc3/packets/parsers/limits_parser.rb +3 -0
- data/lib/openc3/packets/parsers/limits_response_parser.rb +3 -0
- data/lib/openc3/packets/parsers/packet_item_parser.rb +3 -0
- data/lib/openc3/packets/parsers/packet_parser.rb +3 -0
- data/lib/openc3/packets/parsers/processor_parser.rb +3 -0
- data/lib/openc3/packets/parsers/state_parser.rb +3 -0
- data/lib/openc3/packets/parsers/xtce_converter.rb +3 -0
- data/lib/openc3/packets/parsers/xtce_parser.rb +3 -0
- data/lib/openc3/packets/structure.rb +3 -0
- data/lib/openc3/packets/structure_item.rb +3 -0
- data/lib/openc3/packets/telemetry.rb +3 -0
- data/lib/openc3/processors/processor.rb +3 -0
- data/lib/openc3/processors/statistics_processor.rb +3 -0
- data/lib/openc3/processors/watermark_processor.rb +3 -0
- data/lib/openc3/processors.rb +3 -0
- data/lib/openc3/script/api_shared.rb +35 -6
- data/lib/openc3/script/calendar.rb +3 -0
- data/lib/openc3/script/commands.rb +3 -0
- data/lib/openc3/script/exceptions.rb +3 -0
- data/lib/openc3/script/extract.rb +3 -0
- data/lib/openc3/script/limits.rb +3 -24
- data/lib/openc3/script/script.rb +11 -7
- data/lib/openc3/script/script_runner.rb +3 -0
- data/lib/openc3/script/storage.rb +34 -16
- data/lib/openc3/script/suite.rb +3 -0
- data/lib/openc3/script/suite_results.rb +3 -0
- data/lib/openc3/script/suite_runner.rb +3 -0
- data/lib/openc3/script/telemetry.rb +43 -0
- data/lib/openc3/script.rb +3 -0
- data/lib/openc3/streams/serial_stream.rb +3 -0
- data/lib/openc3/streams/stream.rb +3 -0
- data/lib/openc3/streams/tcpip_client_stream.rb +3 -0
- data/lib/openc3/streams/tcpip_socket_stream.rb +3 -0
- data/lib/openc3/system/system.rb +23 -10
- data/lib/openc3/system/system_config.rb +3 -0
- data/lib/openc3/system/target.rb +3 -0
- data/lib/openc3/system.rb +3 -0
- data/lib/openc3/tools/cmd_tlm_server/api.rb +3 -0
- data/lib/openc3/tools/cmd_tlm_server/cmd_tlm_server_config.rb +3 -0
- data/lib/openc3/tools/cmd_tlm_server/interface_thread.rb +3 -0
- data/lib/openc3/tools/table_manager/table.rb +3 -0
- data/lib/openc3/tools/table_manager/table_config.rb +3 -0
- data/lib/openc3/tools/table_manager/table_item.rb +3 -0
- data/lib/openc3/tools/table_manager/table_item_parser.rb +3 -0
- data/lib/openc3/tools/table_manager/table_manager_core.rb +3 -0
- data/lib/openc3/tools/table_manager/table_parser.rb +3 -0
- data/lib/openc3/tools/test_runner/test.rb +3 -0
- data/lib/openc3/top_level.rb +3 -0
- data/lib/openc3/topics/autonomic_topic.rb +3 -0
- data/lib/openc3/topics/calendar_topic.rb +3 -0
- data/lib/openc3/topics/command_decom_topic.rb +4 -1
- data/lib/openc3/topics/command_topic.rb +6 -1
- data/lib/openc3/topics/config_topic.rb +3 -0
- data/lib/openc3/topics/interface_topic.rb +9 -2
- data/lib/openc3/topics/limits_event_topic.rb +144 -10
- data/lib/openc3/topics/notifications_topic.rb +3 -0
- data/lib/openc3/topics/router_topic.rb +10 -3
- data/lib/openc3/topics/telemetry_decom_topic.rb +26 -20
- data/lib/openc3/topics/telemetry_reduced_topics.rb +92 -0
- data/lib/openc3/topics/telemetry_topic.rb +5 -2
- data/lib/openc3/topics/timeline_topic.rb +3 -0
- data/lib/openc3/topics/topic.rb +3 -0
- data/lib/openc3/utilities/authentication.rb +9 -4
- data/lib/openc3/utilities/authorization.rb +3 -0
- data/lib/openc3/utilities/aws_bucket.rb +199 -0
- data/lib/openc3/utilities/bucket.rb +82 -0
- data/lib/openc3/utilities/bucket_file_cache.rb +264 -0
- data/lib/openc3/utilities/bucket_utilities.rb +109 -0
- data/lib/openc3/utilities/crc.rb +3 -0
- data/lib/openc3/utilities/csv.rb +3 -0
- data/lib/openc3/utilities/local_bucket.rb +28 -0
- data/lib/openc3/utilities/local_mode.rb +54 -62
- data/lib/openc3/utilities/logger.rb +7 -1
- data/lib/openc3/utilities/message_log.rb +7 -4
- data/lib/openc3/utilities/metric.rb +4 -1
- data/lib/openc3/utilities/open_telemetry.rb +96 -0
- data/lib/openc3/utilities/process_manager.rb +3 -0
- data/lib/openc3/utilities/quaternion.rb +3 -0
- data/lib/openc3/utilities/ruby_lex_utils.rb +3 -0
- data/lib/openc3/utilities/s3_autoload.rb +8 -6
- data/lib/openc3/utilities/simulated_target.rb +3 -0
- data/lib/openc3/utilities/sleeper.rb +3 -0
- data/lib/openc3/utilities/store.rb +3 -0
- data/lib/openc3/utilities/store_autoload.rb +30 -23
- data/lib/openc3/utilities/target_file.rb +89 -63
- data/lib/openc3/utilities/zip.rb +3 -0
- data/lib/openc3/utilities.rb +3 -0
- data/lib/openc3/version.rb +6 -6
- data/lib/openc3/win32/excel.rb +3 -0
- data/lib/openc3/win32/win32.rb +3 -0
- data/lib/openc3/win32/win32_main.rb +3 -0
- data/lib/openc3.rb +3 -0
- data/tasks/gemfile_stats.rake +3 -0
- data/tasks/spec.rake +3 -0
- data/templates/plugin-template/plugin.gemspec +1 -1
- metadata +112 -6
- data/lib/openc3/utilities/s3.rb +0 -218
- data/lib/openc3/utilities/s3_file_cache.rb +0 -274
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: afcf1342f6607ba15d11c94601916717928eda05dfcb845afabd3e81e77bbdd0
|
4
|
+
data.tar.gz: 95b2f282fd4253019e42ae0ae785906ade6f4910e6f0860279beef3c967cecbd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8bd2a2fd4f3db741d0de89627ff45910a99c6464e8c9b8308e0c6926af9ac1569680a3456dc50b8163e806938c7707336475754f2219aa6e9b553dcab86870cd
|
7
|
+
data.tar.gz: 539582ced510f20b5770d99d02a885b9ad19bc923e65fc46c6ed602cb6ddec1b948859ae07389da603a5a9af7fcef001099438428d2cb3265f0be4aec939078e
|
data/Guardfile
CHANGED
@@ -16,6 +16,9 @@
|
|
16
16
|
# Modified by OpenC3, Inc.
|
17
17
|
# All changes Copyright 2022, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
|
+
#
|
20
|
+
# This file may also be used under the terms of a commercial license
|
21
|
+
# if purchased from OpenC3, Inc.
|
19
22
|
|
20
23
|
# A sample Guardfile
|
21
24
|
# More info at https://github.com/guard/guard#readme
|
data/LICENSE.txt
CHANGED
@@ -1,19 +1,21 @@
|
|
1
|
-
The OpenC3 software program is a derived work based on the
|
1
|
+
The OpenC3 COSMOS software program is a derived work based on the
|
2
2
|
Ball Aerospace COSMOS software licensed under the
|
3
3
|
GNU Affero General Public License, version 3 with the Addendums listed below.
|
4
4
|
|
5
|
+
Commercial licensing is also available for purchase from OpenC3, Inc.
|
6
|
+
|
5
7
|
Please note that the verbiage of the AGPL below are copyrighted
|
6
8
|
by the Free Software Foundation, but the instance of code to which the
|
7
|
-
licenses refer (the OpenC3 software) is copyrighted by
|
9
|
+
licenses refer (the OpenC3 COSMOS software) is copyrighted by
|
8
10
|
OpenC3 Inc. and/or Ball Aerospace and Technologies Corp as marked in each file.
|
9
11
|
|
10
12
|
Also please note that the only valid versions of the AGPL
|
11
|
-
that pertain to OpenC3 are the particular versions of
|
13
|
+
that pertain to OpenC3 COSMOS are the particular versions of
|
12
14
|
the license reproduced below (i.e., versions 3, rather than any other
|
13
15
|
versions of the AGPL), unless explicitly otherwise stated.
|
14
16
|
|
15
17
|
OpenC3 AGPL, version 3 LICENSE ADDENDUMS
|
16
|
-
OpenC3 Version 5, 16 July 2022
|
18
|
+
OpenC3 COSMOS Version 5, 16 July 2022
|
17
19
|
|
18
20
|
The following addendums are made under section 7 of the GNU Affero General
|
19
21
|
Public License, version 3.
|
@@ -24,7 +26,7 @@ Public License, version 3.
|
|
24
26
|
2. Modified applications and source files must be clearly marked as
|
25
27
|
"modified" with the modification author and company indicated
|
26
28
|
immediately following the copyright and legal notices.
|
27
|
-
3. OpenC3
|
29
|
+
3. OpenC3, and OpenC3 COSMOS are trademarks of OpenC3, Inc. and may be used for publicity purposes
|
28
30
|
only in a manner that constitutes "fair use" under applicable trademark
|
29
31
|
law, except with the express, written permission of OpenC3 Inc.
|
30
32
|
|
data/README.md
CHANGED
@@ -11,27 +11,29 @@
|
|
11
11
|
`set RUBYLIB=C:\git\openc3\openc3\lib`
|
12
12
|
|
13
13
|
## Windows Environment variables
|
14
|
+
|
14
15
|
```
|
15
16
|
set OPENC3_REDIS_USERNAME=openc3
|
16
17
|
set OPENC3_REDIS_PASSWORD=openc3password
|
17
|
-
set
|
18
|
-
set
|
18
|
+
set OPENC3_BUCKET_USERNAME=openc3minio
|
19
|
+
set OPENC3_BUCKET_PASSWORD=openc3miniopassword
|
19
20
|
set OPENC3_SERVICE_PASSWORD=openc3service
|
20
21
|
set OPENC3_SR_REDIS_USERNAME=scriptrunner
|
21
22
|
set OPENC3_SR_REDIS_PASSWORD=scriptrunnerpassword
|
22
|
-
set
|
23
|
-
set
|
23
|
+
set OPENC3_SR_BUCKET_USERNAME=scriptrunnerminio
|
24
|
+
set OPENC3_SR_BUCKET_PASSWORD=scriptrunnerminiopassword
|
24
25
|
```
|
25
26
|
|
26
27
|
## Linux Environment variables
|
28
|
+
|
27
29
|
```
|
28
30
|
OPENC3_REDIS_USERNAME=openc3
|
29
31
|
OPENC3_REDIS_PASSWORD=openc3password
|
30
|
-
|
31
|
-
|
32
|
+
OPENC3_BUCKET_USERNAME=openc3minio
|
33
|
+
OPENC3_BUCKET_PASSWORD=openc3miniopassword
|
32
34
|
OPENC3_SERVICE_PASSWORD=openc3service
|
33
35
|
OPENC3_SR_REDIS_USERNAME=scriptrunner
|
34
36
|
OPENC3_SR_REDIS_PASSWORD=scriptrunnerpassword
|
35
|
-
|
36
|
-
|
37
|
-
```
|
37
|
+
OPENC3_SR_BUCKET_USERNAME=scriptrunnerminio
|
38
|
+
OPENC3_SR_BUCKET_PASSWORD=scriptrunnerminiopassword
|
39
|
+
```
|
data/Rakefile
CHANGED
data/bin/cstol_converter
CHANGED
@@ -17,6 +17,9 @@
|
|
17
17
|
# Modified by OpenC3, Inc.
|
18
18
|
# All changes Copyright 2022, OpenC3, Inc.
|
19
19
|
# All Rights Reserved
|
20
|
+
#
|
21
|
+
# This file may also be used under the terms of a commercial license
|
22
|
+
# if purchased from OpenC3, Inc.
|
20
23
|
|
21
24
|
# This file converts OASIS CSTOL files to OpenC3 scripts
|
22
25
|
|
data/bin/openc3cli
CHANGED
@@ -17,12 +17,15 @@
|
|
17
17
|
# Modified by OpenC3, Inc.
|
18
18
|
# All changes Copyright 2022, OpenC3, Inc.
|
19
19
|
# All Rights Reserved
|
20
|
+
#
|
21
|
+
# This file may also be used under the terms of a commercial license
|
22
|
+
# if purchased from OpenC3, Inc.
|
20
23
|
|
21
24
|
# This file will handle OpenC3 tasks such as instantiating a new project
|
22
25
|
|
23
26
|
require 'openc3'
|
24
27
|
require 'openc3/utilities/local_mode'
|
25
|
-
require 'openc3/utilities/
|
28
|
+
require 'openc3/utilities/bucket'
|
26
29
|
require 'openc3/models/scope_model'
|
27
30
|
require 'openc3/models/plugin_model'
|
28
31
|
require 'openc3/models/gem_model'
|
@@ -40,6 +43,8 @@ require 'erb'
|
|
40
43
|
require 'pp'
|
41
44
|
|
42
45
|
$redis_url = "redis://#{ENV['OPENC3_REDIS_HOSTNAME']}:#{ENV['OPENC3_REDIS_PORT']}"
|
46
|
+
# Initialize the connection to the bucket library
|
47
|
+
OpenC3::Bucket.getClient()
|
43
48
|
|
44
49
|
# Build the OpenStruct and OptionParser here as constants so we can use in methods
|
45
50
|
MIGRATE_OPTIONS = OpenStruct.new
|
@@ -63,7 +68,7 @@ def print_usage
|
|
63
68
|
puts " #{MIGRATE_PARSER}"
|
64
69
|
puts " cli bridge CONFIG_FILENAME # Run OpenC3 host bridge"
|
65
70
|
puts " cli bridgesetup CONFIG_FILENAME # Create a default config file"
|
66
|
-
puts " cli geminstall GEMFILENAME # Install loaded gem to /gems"
|
71
|
+
puts " cli geminstall GEMFILENAME SCOPE # Install loaded gem to /gems"
|
67
72
|
puts " cli rubysloc # Counts Ruby SLOC recursively. Run with --help for more info."
|
68
73
|
puts " cli xtce_converter # Convert to and from the XTCE format. Run with --help for more info."
|
69
74
|
puts " cli cstol_converter # Converts CSTOL files (.prc) to OpenC3. Run with --help for more info."
|
@@ -81,7 +86,7 @@ def generate(args)
|
|
81
86
|
end
|
82
87
|
|
83
88
|
plugin = args[1].downcase.gsub(/_+|-+/, '-')
|
84
|
-
plugin_name = "openc3-#{plugin}"
|
89
|
+
plugin_name = "openc3-cosmos-#{plugin}"
|
85
90
|
if File.exist?(plugin_name)
|
86
91
|
abort("Plugin #{plugin_name} already exists!")
|
87
92
|
end
|
@@ -243,18 +248,20 @@ def xtce_converter(args)
|
|
243
248
|
variables = nil
|
244
249
|
variables = JSON.parse(File.read(options[:variables]), :allow_nan => true, :create_additions => true) if options[:variables]
|
245
250
|
puts "Installing #{File.basename(options[:plugin])}"
|
246
|
-
plugin_hash = OpenC3::PluginModel.install_phase1(options[:plugin], variables, scope: 'DEFAULT', validate_only: true)
|
251
|
+
plugin_hash = OpenC3::PluginModel.install_phase1(options[:plugin], existing_variables: variables, scope: 'DEFAULT', validate_only: true)
|
247
252
|
plugin_hash['variables']['xtce_output'] = options[:output]
|
248
|
-
OpenC3::PluginModel.install_phase2(plugin_hash
|
253
|
+
OpenC3::PluginModel.install_phase2(plugin_hash, scope: 'DEFAULT', validate_only: true,
|
249
254
|
gem_file_path: options[:plugin])
|
250
255
|
result = 0 # bash and Windows consider 0 success
|
251
256
|
rescue => e
|
252
257
|
puts "Error: #{e.message}"
|
258
|
+
puts e.backtrace
|
253
259
|
result = ERROR_CODE
|
254
260
|
ensure
|
255
|
-
|
256
|
-
|
257
|
-
|
261
|
+
# Uninstall not necessary because this is run against a temporary container
|
262
|
+
# name = Psych.safe_load(`gem spec #{options[:plugin]} name`).to_s
|
263
|
+
# version = Psych.safe_load(`gem spec #{options[:plugin]} version`, permitted_classes: [Gem::Version]).to_s
|
264
|
+
# Gem::Uninstaller.new(name, {:version => version, :force => true}).uninstall
|
258
265
|
exit(result)
|
259
266
|
end
|
260
267
|
else
|
@@ -306,13 +313,10 @@ rescue => e
|
|
306
313
|
puts "Error: #{e.message}"
|
307
314
|
result = ERROR_CODE
|
308
315
|
ensure
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
rescue => e
|
314
|
-
puts "Could not uninstall #{plugin_file_path} due to #{e.message}"
|
315
|
-
end
|
316
|
+
# Uninstall not necessary because this is run against a temporary container
|
317
|
+
# name = Psych.safe_load(`gem spec #{plugin_file_path} name`).to_s
|
318
|
+
# version = Psych.safe_load(`gem spec #{plugin_file_path} version`, permitted_classes: [Gem::Version]).to_s
|
319
|
+
# Gem::Uninstaller.new(name, {:version => version, :force => true}).uninstall
|
316
320
|
exit(result)
|
317
321
|
end
|
318
322
|
|
@@ -447,8 +451,8 @@ def unload_plugin(plugin_name, scope:)
|
|
447
451
|
end
|
448
452
|
end
|
449
453
|
|
450
|
-
def gem_install(gem_filename)
|
451
|
-
OpenC3::GemModel.install(gem_filename)
|
454
|
+
def gem_install(gem_filename, scope:)
|
455
|
+
OpenC3::GemModel.install(gem_filename, scope: scope)
|
452
456
|
end
|
453
457
|
|
454
458
|
def get_redis_keys
|
@@ -496,7 +500,7 @@ if __FILE__ == $0
|
|
496
500
|
unload_plugin(ARGV[1], scope: ARGV[2])
|
497
501
|
|
498
502
|
when 'geminstall'
|
499
|
-
gem_install(ARGV[1])
|
503
|
+
gem_install(ARGV[1], scope: ARGV[2])
|
500
504
|
|
501
505
|
when 'generate'
|
502
506
|
generate(ARGV[1..-1])
|
@@ -583,6 +587,13 @@ if __FILE__ == $0
|
|
583
587
|
when 'localinit'
|
584
588
|
OpenC3::LocalMode.local_init()
|
585
589
|
|
590
|
+
when 'initbuckets'
|
591
|
+
client = OpenC3::Bucket.getClient()
|
592
|
+
client.create(ENV['OPENC3_CONFIG_BUCKET'])
|
593
|
+
client.create(ENV['OPENC3_LOGS_BUCKET'])
|
594
|
+
client.create(ENV['OPENC3_TOOLS_BUCKET'])
|
595
|
+
client.ensure_public(ENV['OPENC3_TOOLS_BUCKET'])
|
596
|
+
|
586
597
|
else # Unknown task
|
587
598
|
print_usage()
|
588
599
|
abort("Unknown task: #{ARGV[0]}")
|
data/bin/rubysloc
CHANGED
@@ -17,6 +17,9 @@
|
|
17
17
|
# Modified by OpenC3, Inc.
|
18
18
|
# All changes Copyright 2022, OpenC3, Inc.
|
19
19
|
# All Rights Reserved
|
20
|
+
#
|
21
|
+
# This file may also be used under the terms of a commercial license
|
22
|
+
# if purchased from OpenC3, Inc.
|
20
23
|
|
21
24
|
# This file provides a simple ruby sloc counter.
|
22
25
|
# Blank lines and comment lines are ignored. All other
|
data/data/config/screen.yaml
CHANGED
@@ -21,6 +21,14 @@ END:
|
|
21
21
|
description: All layout widgets must be closed to properly identify where they
|
22
22
|
stop. For example, a VERTICALBOX keyword must be matched with an END keyword
|
23
23
|
to indicate where the VERTICALBOX ends.
|
24
|
+
STALE_TIME:
|
25
|
+
summary: Values are marked stale if the packet time is more than Stale Time seconds in the past
|
26
|
+
parameters:
|
27
|
+
- name: value
|
28
|
+
required: true
|
29
|
+
description: Items from packets with RECEIVED_TIMESECONDS greater than this value in the past will be marked stale.
|
30
|
+
The default is 30s. Recommend a minimum of 2s to avoid false positives due to race conditions.
|
31
|
+
values: \d+
|
24
32
|
GLOBAL_SETTING:
|
25
33
|
summary: Applies a widget setting to all widgets of a certain type
|
26
34
|
parameters:
|
@@ -122,11 +130,11 @@ SUBSETTING:
|
|
122
130
|
string, e.g. "font-size: 10px"
|
123
131
|
values: .*
|
124
132
|
NAMED_WIDGET:
|
125
|
-
summary: Name a widget to allow access to it via the
|
133
|
+
summary: Name a widget to allow access to it via the getNamedWidget method
|
126
134
|
description: To programatically access parts of a telemetry screen you need
|
127
135
|
to name the widget. This is useful when creating screens with buttons that
|
128
136
|
read values from other widgets.
|
129
|
-
warning:
|
137
|
+
warning: getNamedWidget returns the widget itself and thus must be operated
|
130
138
|
on using methods native to that widget
|
131
139
|
parameters:
|
132
140
|
- name: Widget Name
|
data/data/config/target.yaml
CHANGED
data/data/config/widgets.yaml
CHANGED
@@ -746,7 +746,7 @@ VALUELIMITSBAR:
|
|
746
746
|
values: <%= %w(RAW CONVERTED FORMATTED WITH_UNITS) %>
|
747
747
|
- name: Number of characters
|
748
748
|
required: false
|
749
|
-
description: The number of characters wide to make the value box (default =
|
749
|
+
description: The number of characters wide to make the value box (default = 12)
|
750
750
|
values: .*
|
751
751
|
VALUELIMITSCOLUMN:
|
752
752
|
summary: Displays an item VALUE followed by LIMITSCOLUMN
|
@@ -938,7 +938,7 @@ PROGRESSBAR:
|
|
938
938
|
values: .*
|
939
939
|
- name: Width
|
940
940
|
required: false
|
941
|
-
description: Width of the progress bar (default =
|
941
|
+
description: Width of the progress bar (default = 100 pixels)
|
942
942
|
values: .*
|
943
943
|
- name: Value type
|
944
944
|
required: false
|
@@ -975,7 +975,7 @@ RANGEBAR:
|
|
975
975
|
values: <%= %w(RAW CONVERTED FORMATTED WITH_UNITS) %>
|
976
976
|
- name: Width
|
977
977
|
required: false
|
978
|
-
description: Width of the range bar (default =
|
978
|
+
description: Width of the range bar (default = 100)
|
979
979
|
values: .*
|
980
980
|
- name: Height
|
981
981
|
required: false
|
@@ -1036,11 +1036,11 @@ TEXTBOX:
|
|
1036
1036
|
values: .+
|
1037
1037
|
- name: Width
|
1038
1038
|
required: false
|
1039
|
-
description: Width of the
|
1039
|
+
description: Width of the textbox in px (default = 200)
|
1040
1040
|
values: .*
|
1041
1041
|
- name: Height
|
1042
1042
|
required: false
|
1043
|
-
description: Height of the
|
1043
|
+
description: Height of the textbox in px (default = 200)
|
1044
1044
|
values: .*
|
1045
1045
|
# TIMEGRAPH:
|
1046
1046
|
# summary: Displays a line graph of a telemetry items value verses time
|
@@ -1183,7 +1183,7 @@ BUTTON:
|
|
1183
1183
|
Upon clicking, the button executes the Ruby code assigned. Buttons
|
1184
1184
|
can be used to send commands and perform other tasks. If you want your button
|
1185
1185
|
to use values from other widgets, define them as named widgets and read their
|
1186
|
-
values using the
|
1186
|
+
values using the getNamedWidget("WIDGET_NAME").text method.
|
1187
1187
|
warning:
|
1188
1188
|
If your button logic gets complex it's recommended to require a separate
|
1189
1189
|
script and pass the screen to the script using self,
|
data/ext/mkrf_conf.rb
CHANGED
@@ -16,6 +16,9 @@
|
|
16
16
|
# Modified by OpenC3, Inc.
|
17
17
|
# All changes Copyright 2022, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
|
+
#
|
20
|
+
# This file may also be used under the terms of a commercial license
|
21
|
+
# if purchased from OpenC3, Inc.
|
19
22
|
|
20
23
|
# This file gems specific to platform
|
21
24
|
|
data/ext/openc3/ext/crc/crc.c
CHANGED
data/lib/cosmos.rb
CHANGED
data/lib/cosmosc2.rb
CHANGED
@@ -12,6 +12,9 @@
|
|
12
12
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
13
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
14
|
# GNU Affero General Public License for more details.
|
15
|
+
#
|
16
|
+
# This file may also be used under the terms of a commercial license
|
17
|
+
# if purchased from OpenC3, Inc.
|
15
18
|
|
16
19
|
module OpenC3
|
17
20
|
class Accessor
|
@@ -16,6 +16,9 @@
|
|
16
16
|
# Modified by OpenC3, Inc.
|
17
17
|
# All changes Copyright 2022, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
|
+
#
|
20
|
+
# This file may also be used under the terms of a commercial license
|
21
|
+
# if purchased from OpenC3, Inc.
|
19
22
|
|
20
23
|
# This file contains the implementation of the BinaryAccessor class.
|
21
24
|
# This class allows for easy reading and writing of binary data in Ruby
|
@@ -12,6 +12,9 @@
|
|
12
12
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
13
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
14
|
# GNU Affero General Public License for more details.
|
15
|
+
#
|
16
|
+
# This file may also be used under the terms of a commercial license
|
17
|
+
# if purchased from OpenC3, Inc.
|
15
18
|
|
16
19
|
require 'cbor'
|
17
20
|
require 'openc3/accessors/json_accessor'
|
@@ -12,6 +12,9 @@
|
|
12
12
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
13
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
14
|
# GNU Affero General Public License for more details.
|
15
|
+
#
|
16
|
+
# This file may also be used under the terms of a commercial license
|
17
|
+
# if purchased from OpenC3, Inc.
|
15
18
|
|
16
19
|
require 'openc3/accessors/xml_accessor'
|
17
20
|
|
@@ -12,6 +12,9 @@
|
|
12
12
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
13
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
14
|
# GNU Affero General Public License for more details.
|
15
|
+
#
|
16
|
+
# This file may also be used under the terms of a commercial license
|
17
|
+
# if purchased from OpenC3, Inc.
|
15
18
|
|
16
19
|
require 'json'
|
17
20
|
require 'jsonpath'
|
@@ -48,7 +51,7 @@ module OpenC3
|
|
48
51
|
def self.read_items(items, buffer)
|
49
52
|
# Prevent JsonPath from decoding every call
|
50
53
|
if String === buffer
|
51
|
-
decoded = JSON.parse(buffer)
|
54
|
+
decoded = JSON.parse(buffer, :allow_nan => true)
|
52
55
|
else
|
53
56
|
decoded = buffer
|
54
57
|
end
|
@@ -12,6 +12,9 @@
|
|
12
12
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
13
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
14
|
# GNU Affero General Public License for more details.
|
15
|
+
#
|
16
|
+
# This file may also be used under the terms of a commercial license
|
17
|
+
# if purchased from OpenC3, Inc.
|
15
18
|
|
16
19
|
require 'nokogiri'
|
17
20
|
require 'openc3/accessors/accessor'
|
data/lib/openc3/accessors.rb
CHANGED
@@ -12,6 +12,9 @@
|
|
12
12
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
13
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
14
|
# GNU Affero General Public License for more details.
|
15
|
+
#
|
16
|
+
# This file may also be used under the terms of a commercial license
|
17
|
+
# if purchased from OpenC3, Inc.
|
15
18
|
|
16
19
|
module OpenC3
|
17
20
|
autoload(:Accessor, 'openc3/accessors/accessor.rb')
|
data/lib/openc3/api/api.rb
CHANGED
@@ -16,6 +16,9 @@
|
|
16
16
|
# Modified by OpenC3, Inc.
|
17
17
|
# All changes Copyright 2022, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
|
+
#
|
20
|
+
# This file may also be used under the terms of a commercial license
|
21
|
+
# if purchased from OpenC3, Inc.
|
19
22
|
|
20
23
|
require 'openc3/script/extract'
|
21
24
|
require 'openc3/script/api_shared'
|
data/lib/openc3/api/cmd_api.rb
CHANGED
@@ -16,6 +16,9 @@
|
|
16
16
|
# Modified by OpenC3, Inc.
|
17
17
|
# All changes Copyright 2022, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
|
+
#
|
20
|
+
# This file may also be used under the terms of a commercial license
|
21
|
+
# if purchased from OpenC3, Inc.
|
19
22
|
|
20
23
|
require 'openc3/models/target_model'
|
21
24
|
require 'openc3/topics/command_topic'
|
@@ -395,9 +398,9 @@ module OpenC3
|
|
395
398
|
'target_name' => target_name,
|
396
399
|
'cmd_name' => cmd_name,
|
397
400
|
'cmd_params' => cmd_params,
|
398
|
-
'range_check' => range_check,
|
399
|
-
'hazardous_check' => hazardous_check,
|
400
|
-
'raw' => raw
|
401
|
+
'range_check' => range_check.to_s,
|
402
|
+
'hazardous_check' => hazardous_check.to_s,
|
403
|
+
'raw' => raw.to_s
|
401
404
|
}
|
402
405
|
Logger.info(build_cmd_output_string(target_name, cmd_name, cmd_params, packet, raw), scope: scope) if !packet["messages_disabled"]
|
403
406
|
CommandTopic.send_command(command, scope: scope)
|
@@ -16,6 +16,9 @@
|
|
16
16
|
# Modified by OpenC3, Inc.
|
17
17
|
# All changes Copyright 2022, OpenC3, Inc.
|
18
18
|
# All Rights Reserved
|
19
|
+
#
|
20
|
+
# This file may also be used under the terms of a commercial license
|
21
|
+
# if purchased from OpenC3, Inc.
|
19
22
|
|
20
23
|
require 'openc3/models/tool_config_model'
|
21
24
|
|