openc3 5.0.11 → 5.1.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of openc3 might be problematic. Click here for more details.
- 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 +6 -2
- 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 +3 -0
- data/lib/openc3/interfaces/interface.rb +3 -0
- 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 +8 -3
- 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 +120 -0
- data/lib/openc3/logs/log_writer.rb +95 -40
- 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 -18
- 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 +22 -7
- 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 -0
- 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 +3 -0
- 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 +33 -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 +3 -0
- 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 +47 -61
- 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 +3 -3
- 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 +70 -83
- 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 -220
- 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: fa2f9aabf07f0b9c9237f2f44644c8da055ca3069d46399db837b3b9bb22fdb3
|
4
|
+
data.tar.gz: 16afda4302a384d554872ff416ba76f3c822cf36f986687256f71e6c2e729370
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 394108166336ca206f0d56caa9d805e3c694a8c80b47915e3552fab228e8a9418bb61bd616ac897127e01b920d7da28d7e3c2bb0673e3e28e45283f44d0c9eda
|
7
|
+
data.tar.gz: ce284cea11dc3bf1c788cb89bfced3ff783b892902ec0f0dcc1922ba6edffda0ef9fe0bc5ef358fec95949e15425f8241e66a36f7a5f9472a39167e0cc4f9b53
|
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
|
|