openc3 7.2.1 → 7.4.0
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 +4 -4
- data/Gemfile +1 -1
- data/Guardfile +0 -0
- data/LICENSE.md +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/bin/openc3cli +235 -6
- data/bin/pipinstall +5 -4
- data/bin/pipuninstall +5 -1
- data/bin/uvinstall +156 -0
- data/data/config/_array_params.yaml +0 -0
- data/data/config/_canvas_values.yaml +0 -0
- data/data/config/_graph_params.yaml +0 -0
- data/data/config/_id_items.yaml +0 -0
- data/data/config/_id_params.yaml +0 -0
- data/data/config/_interfaces.yaml +0 -0
- data/data/config/_items.yaml +0 -0
- data/data/config/_params.yaml +0 -0
- data/data/config/command.yaml +0 -0
- data/data/config/command_modifiers.yaml +2 -0
- data/data/config/command_telemetry.yaml +0 -0
- data/data/config/conversions.yaml +0 -0
- data/data/config/graph_settings.yaml +0 -0
- data/data/config/interface_modifiers.yaml +103 -1
- data/data/config/item_modifiers.yaml +2 -1
- data/data/config/microservice.yaml +9 -2
- data/data/config/param_item_modifiers.yaml +0 -0
- data/data/config/parameter_modifiers.yaml +0 -0
- data/data/config/plugins.yaml +0 -0
- data/data/config/processors.yaml +0 -0
- data/data/config/protocols.yaml +0 -0
- data/data/config/screen.yaml +2 -1
- data/data/config/settings.yaml +0 -0
- data/data/config/table_manager.yaml +0 -0
- data/data/config/table_parameter_modifiers.yaml +0 -0
- data/data/config/target.yaml +21 -0
- data/data/config/target_config.yaml +0 -0
- data/data/config/telemetry.yaml +0 -0
- data/data/config/telemetry_modifiers.yaml +2 -0
- data/data/config/tool.yaml +3 -1
- data/data/config/unknown.yaml +0 -0
- data/data/config/widgets.yaml +22 -3
- data/data/xtce_schemas/SpaceSystem_20180204.xsd +5918 -0
- data/data/xtce_schemas/xml.xsd +116 -0
- data/ext/openc3/ext/array/array.c +0 -0
- data/ext/openc3/ext/array/extconf.rb +0 -0
- data/ext/openc3/ext/buffered_file/buffered_file.c +0 -0
- data/ext/openc3/ext/buffered_file/extconf.rb +0 -0
- data/ext/openc3/ext/burst_protocol/burst_protocol.c +6 -0
- data/ext/openc3/ext/burst_protocol/extconf.rb +0 -0
- data/ext/openc3/ext/config_parser/config_parser.c +0 -0
- data/ext/openc3/ext/config_parser/extconf.rb +0 -0
- data/ext/openc3/ext/crc/crc.c +0 -0
- data/ext/openc3/ext/crc/extconf.rb +0 -0
- data/ext/openc3/ext/openc3_io/extconf.rb +0 -0
- data/ext/openc3/ext/openc3_io/openc3_io.c +0 -0
- data/ext/openc3/ext/packet/extconf.rb +0 -0
- data/ext/openc3/ext/packet/packet.c +0 -0
- data/ext/openc3/ext/platform/extconf.rb +0 -0
- data/ext/openc3/ext/platform/platform.c +4 -1
- data/ext/openc3/ext/polynomial_conversion/extconf.rb +0 -0
- data/ext/openc3/ext/polynomial_conversion/polynomial_conversion.c +0 -0
- data/ext/openc3/ext/string/extconf.rb +0 -0
- data/ext/openc3/ext/string/string.c +0 -0
- data/ext/openc3/ext/structure/structure.c +49 -17
- data/ext/openc3/ext/tabbed_plots_config/extconf.rb +0 -0
- data/ext/openc3/ext/tabbed_plots_config/tabbed_plots_config.c +0 -0
- data/ext/openc3/ext/telemetry/extconf.rb +0 -0
- data/ext/openc3/ext/telemetry/telemetry.c +1 -1
- data/lib/cosmos.rb +0 -0
- data/lib/cosmosc2.rb +0 -0
- data/lib/openc3/accessors/accessor.rb +0 -0
- data/lib/openc3/accessors/binary_accessor.rb +63 -9
- data/lib/openc3/accessors/cbor_accessor.rb +0 -0
- data/lib/openc3/accessors/form_accessor.rb +0 -0
- data/lib/openc3/accessors/html_accessor.rb +0 -0
- data/lib/openc3/accessors/http_accessor.rb +0 -0
- data/lib/openc3/accessors/json_accessor.rb +0 -0
- data/lib/openc3/accessors/template_accessor.rb +2 -2
- data/lib/openc3/accessors/xml_accessor.rb +0 -0
- data/lib/openc3/accessors.rb +0 -0
- data/lib/openc3/api/README.md +0 -0
- data/lib/openc3/api/api.rb +0 -0
- data/lib/openc3/api/authorized_api.rb +0 -0
- data/lib/openc3/api/calendar_api.rb +0 -0
- data/lib/openc3/api/cmd_api.rb +1 -1
- data/lib/openc3/api/config_api.rb +0 -0
- data/lib/openc3/api/interface_api.rb +2 -2
- data/lib/openc3/api/limits_api.rb +27 -13
- data/lib/openc3/api/metrics_api.rb +1 -1
- data/lib/openc3/api/offline_access_api.rb +1 -1
- data/lib/openc3/api/router_api.rb +3 -3
- data/lib/openc3/api/settings_api.rb +22 -18
- data/lib/openc3/api/stash_api.rb +1 -1
- data/lib/openc3/api/target_api.rb +0 -0
- data/lib/openc3/api/tlm_api.rb +5 -4
- data/lib/openc3/bridge/bridge.rb +0 -0
- data/lib/openc3/bridge/bridge_config.rb +0 -0
- data/lib/openc3/bridge/bridge_interface_thread.rb +0 -0
- data/lib/openc3/bridge/bridge_router_thread.rb +0 -0
- data/lib/openc3/ccsds/ccsds_packet.rb +0 -0
- data/lib/openc3/ccsds/ccsds_parser.rb +0 -0
- data/lib/openc3/config/config_parser.rb +78 -17
- data/lib/openc3/config/meta_config_parser.rb +0 -0
- data/lib/openc3/conversions/bit_reverse_conversion.rb +0 -0
- data/lib/openc3/conversions/conversion.rb +0 -0
- data/lib/openc3/conversions/generic_conversion.rb +0 -0
- data/lib/openc3/conversions/ip_read_conversion.rb +0 -0
- data/lib/openc3/conversions/ip_write_conversion.rb +0 -0
- data/lib/openc3/conversions/object_read_conversion.rb +0 -0
- data/lib/openc3/conversions/object_write_conversion.rb +0 -0
- data/lib/openc3/conversions/packet_time_formatted_conversion.rb +0 -0
- data/lib/openc3/conversions/packet_time_seconds_conversion.rb +0 -0
- data/lib/openc3/conversions/polynomial_conversion.rb +0 -0
- data/lib/openc3/conversions/processor_conversion.rb +0 -0
- data/lib/openc3/conversions/received_count_conversion.rb +0 -0
- data/lib/openc3/conversions/received_time_formatted_conversion.rb +0 -0
- data/lib/openc3/conversions/received_time_seconds_conversion.rb +0 -0
- data/lib/openc3/conversions/segmented_polynomial_conversion.rb +0 -0
- data/lib/openc3/conversions/unix_time_conversion.rb +0 -0
- data/lib/openc3/conversions/unix_time_formatted_conversion.rb +0 -0
- data/lib/openc3/conversions/unix_time_seconds_conversion.rb +0 -0
- data/lib/openc3/conversions.rb +0 -0
- data/lib/openc3/core_ext/array.rb +0 -0
- data/lib/openc3/core_ext/binding.rb +0 -0
- data/lib/openc3/core_ext/class.rb +0 -0
- data/lib/openc3/core_ext/exception.rb +0 -0
- data/lib/openc3/core_ext/faraday.rb +0 -0
- data/lib/openc3/core_ext/file.rb +0 -0
- data/lib/openc3/core_ext/io.rb +0 -0
- data/lib/openc3/core_ext/kernel.rb +0 -0
- data/lib/openc3/core_ext/math.rb +0 -0
- data/lib/openc3/core_ext/matrix.rb +0 -0
- data/lib/openc3/core_ext/objectspace.rb +0 -0
- data/lib/openc3/core_ext/openc3_io.rb +0 -0
- data/lib/openc3/core_ext/range.rb +0 -0
- data/lib/openc3/core_ext/socket.rb +0 -0
- data/lib/openc3/core_ext/string.rb +0 -0
- data/lib/openc3/core_ext/stringio.rb +0 -0
- data/lib/openc3/core_ext/tempfile.rb +0 -0
- data/lib/openc3/core_ext/time.rb +0 -0
- data/lib/openc3/core_ext.rb +0 -0
- data/lib/openc3/ext/.keep +0 -0
- data/lib/openc3/interfaces/file_interface.rb +0 -0
- data/lib/openc3/interfaces/http_client_interface.rb +1 -1
- data/lib/openc3/interfaces/http_server_interface.rb +0 -0
- data/lib/openc3/interfaces/interface.rb +5 -4
- data/lib/openc3/interfaces/mqtt_interface.rb +0 -0
- data/lib/openc3/interfaces/mqtt_stream_interface.rb +2 -0
- data/lib/openc3/interfaces/protocols/burst_protocol.rb +27 -0
- data/lib/openc3/interfaces/protocols/cmd_response_protocol.rb +0 -0
- data/lib/openc3/interfaces/protocols/cobs_protocol.rb +0 -0
- data/lib/openc3/interfaces/protocols/crc_protocol.rb +0 -0
- data/lib/openc3/interfaces/protocols/fixed_protocol.rb +0 -0
- data/lib/openc3/interfaces/protocols/ignore_packet_protocol.rb +0 -0
- data/lib/openc3/interfaces/protocols/length_protocol.rb +7 -0
- data/lib/openc3/interfaces/protocols/preidentified_protocol.rb +7 -0
- data/lib/openc3/interfaces/protocols/protocol.rb +4 -4
- data/lib/openc3/interfaces/protocols/slip_protocol.rb +0 -0
- data/lib/openc3/interfaces/protocols/template_protocol.rb +2 -2
- data/lib/openc3/interfaces/protocols/terminated_protocol.rb +0 -0
- data/lib/openc3/interfaces/serial_interface.rb +2 -0
- data/lib/openc3/interfaces/simulated_target_interface.rb +0 -0
- data/lib/openc3/interfaces/stream_interface.rb +0 -0
- data/lib/openc3/interfaces/tcpip_client_interface.rb +2 -0
- data/lib/openc3/interfaces/tcpip_server_interface.rb +0 -0
- data/lib/openc3/interfaces/udp_interface.rb +16 -5
- data/lib/openc3/interfaces.rb +0 -0
- data/lib/openc3/io/buffered_file.rb +0 -0
- data/lib/openc3/io/io_multiplexer.rb +0 -0
- data/lib/openc3/io/json_api.rb +3 -2
- data/lib/openc3/io/json_api_object.rb +0 -0
- data/lib/openc3/io/json_drb.rb +44 -12
- data/lib/openc3/io/json_drb_object.rb +0 -0
- data/lib/openc3/io/json_drb_rack.rb +0 -0
- data/lib/openc3/io/json_rpc.rb +0 -2
- data/lib/openc3/io/posix_serial_driver.rb +0 -0
- data/lib/openc3/io/serial_driver.rb +0 -0
- data/lib/openc3/io/stderr.rb +0 -0
- data/lib/openc3/io/stdout.rb +0 -0
- data/lib/openc3/io/udp_sockets.rb +38 -8
- data/lib/openc3/io/win32_serial_driver.rb +1 -0
- data/lib/openc3/logs/buffered_packet_log_reader.rb +0 -0
- data/lib/openc3/logs/buffered_packet_log_writer.rb +0 -0
- data/lib/openc3/logs/log_writer.rb +43 -7
- data/lib/openc3/logs/packet_log_constants.rb +0 -0
- data/lib/openc3/logs/packet_log_reader.rb +23 -2
- data/lib/openc3/logs/packet_log_writer.rb +6 -2
- data/lib/openc3/logs/stream_log.rb +1 -1
- data/lib/openc3/logs/stream_log_pair.rb +0 -0
- data/lib/openc3/logs/text_log_writer.rb +0 -0
- data/lib/openc3/logs.rb +0 -0
- data/lib/openc3/microservices/cleanup_microservice.rb +0 -0
- data/lib/openc3/microservices/decom_common.rb +0 -0
- data/lib/openc3/microservices/decom_microservice.rb +0 -0
- data/lib/openc3/microservices/interface_decom_common.rb +2 -1
- data/lib/openc3/microservices/interface_microservice.rb +73 -26
- data/lib/openc3/microservices/log_microservice.rb +0 -0
- data/lib/openc3/microservices/microservice.rb +3 -3
- data/lib/openc3/microservices/multi_microservice.rb +1 -1
- data/lib/openc3/microservices/periodic_microservice.rb +2 -2
- data/lib/openc3/microservices/plugin_microservice.rb +0 -0
- data/lib/openc3/microservices/queue_microservice.rb +0 -0
- data/lib/openc3/microservices/router_microservice.rb +0 -0
- data/lib/openc3/microservices/scope_cleanup_microservice.rb +0 -0
- data/lib/openc3/microservices/text_log_microservice.rb +0 -0
- data/lib/openc3/migrations/20220420190000_log_stuff.rb +0 -0
- data/lib/openc3/migrations/20221202214600_add_target_names.rb +0 -0
- data/lib/openc3/migrations/20221210174900_convert_to_multi.rb +0 -0
- data/lib/openc3/migrations/20230915000002_no_scope_log_messages.rb +0 -0
- data/lib/openc3/migrations/20231022000000_tlm_viewer_config.rb +0 -0
- data/lib/openc3/migrations/20241208080000_no_critical_cmd.rb +0 -0
- data/lib/openc3/migrations/20241208080001_no_trigger_group.rb +0 -0
- data/lib/openc3/migrations/20250108060000_news_feed.rb +0 -0
- data/lib/openc3/migrations/20250402000000_periodic_only_default.rb +0 -0
- data/lib/openc3/migrations/20260203000000_remove_store_id.rb +0 -0
- data/lib/openc3/migrations/20260204000000_remove_decom_reducer.rb +0 -0
- data/lib/openc3/migrations/20260701000000_updated_at_to_int.rb +0 -0
- data/lib/openc3/migrations/20260704000000_default_bridge.rb +38 -0
- data/lib/openc3/migrations/20260731000000_system_health_json.rb +52 -0
- data/lib/openc3/models/activity_model.rb +0 -0
- data/lib/openc3/models/auth_model.rb +35 -7
- data/lib/openc3/models/bridge_model.rb +133 -0
- data/lib/openc3/models/config_keyword_model.rb +63 -0
- data/lib/openc3/models/cvt_model.rb +5 -5
- data/lib/openc3/models/db_sharded_model.rb +0 -0
- data/lib/openc3/models/environment_model.rb +0 -0
- data/lib/openc3/models/gem_model.rb +13 -10
- data/lib/openc3/models/host_interface_microservice_model.rb +114 -0
- data/lib/openc3/models/info_model.rb +0 -0
- data/lib/openc3/models/interface_model.rb +179 -20
- data/lib/openc3/models/interface_status_model.rb +0 -0
- data/lib/openc3/models/metadata_model.rb +0 -0
- data/lib/openc3/models/metric_model.rb +0 -0
- data/lib/openc3/models/microservice_model.rb +26 -18
- data/lib/openc3/models/microservice_status_model.rb +0 -0
- data/lib/openc3/models/migration_model.rb +0 -0
- data/lib/openc3/models/model.rb +0 -0
- data/lib/openc3/models/news_model.rb +0 -0
- data/lib/openc3/models/note_model.rb +0 -0
- data/lib/openc3/models/offline_access_model.rb +0 -0
- data/lib/openc3/models/ping_model.rb +0 -0
- data/lib/openc3/models/plugin_model.rb +211 -50
- data/lib/openc3/models/plugin_store_model.rb +0 -0
- data/lib/openc3/models/process_status_model.rb +0 -0
- data/lib/openc3/models/python_package_model.rb +211 -15
- data/lib/openc3/models/queue_model.rb +0 -0
- data/lib/openc3/models/reaction_model.rb +0 -0
- data/lib/openc3/models/reingest_job_model.rb +0 -0
- data/lib/openc3/models/router_model.rb +0 -0
- data/lib/openc3/models/router_status_model.rb +0 -0
- data/lib/openc3/models/scope_model.rb +85 -56
- data/lib/openc3/models/script_engine_model.rb +0 -0
- data/lib/openc3/models/script_status_model.rb +0 -0
- data/lib/openc3/models/secret_model.rb +0 -0
- data/lib/openc3/models/setting_model.rb +546 -3
- data/lib/openc3/models/sorted_model.rb +0 -0
- data/lib/openc3/models/stash_model.rb +0 -0
- data/lib/openc3/models/target_model.rb +210 -31
- data/lib/openc3/models/timeline_model.rb +0 -0
- data/lib/openc3/models/tool_config_model.rb +0 -0
- data/lib/openc3/models/tool_model.rb +34 -20
- data/lib/openc3/models/trigger_group_model.rb +0 -0
- data/lib/openc3/models/trigger_model.rb +20 -0
- data/lib/openc3/models/widget_model.rb +0 -0
- data/lib/openc3/operators/microservice_operator.rb +79 -8
- data/lib/openc3/operators/operator.rb +4 -4
- data/lib/openc3/packets/binary_accessor.rb +0 -0
- data/lib/openc3/packets/command_validator.rb +0 -0
- data/lib/openc3/packets/commands.rb +4 -4
- data/lib/openc3/packets/json_packet.rb +0 -0
- data/lib/openc3/packets/limits.rb +15 -7
- data/lib/openc3/packets/limits_response.rb +0 -0
- data/lib/openc3/packets/packet.rb +5 -1
- data/lib/openc3/packets/packet_config.rb +0 -0
- data/lib/openc3/packets/packet_item.rb +0 -0
- data/lib/openc3/packets/packet_item_limits.rb +0 -0
- data/lib/openc3/packets/parsers/format_string_parser.rb +0 -0
- data/lib/openc3/packets/parsers/limits_parser.rb +0 -0
- data/lib/openc3/packets/parsers/limits_response_parser.rb +0 -0
- data/lib/openc3/packets/parsers/packet_item_parser.rb +0 -0
- data/lib/openc3/packets/parsers/packet_parser.rb +0 -0
- data/lib/openc3/packets/parsers/processor_parser.rb +0 -0
- data/lib/openc3/packets/parsers/state_parser.rb +1 -1
- data/lib/openc3/packets/parsers/xtce_converter.rb +183 -103
- data/lib/openc3/packets/parsers/xtce_parser.rb +71 -23
- data/lib/openc3/packets/structure.rb +9 -3
- data/lib/openc3/packets/structure_item.rb +0 -0
- data/lib/openc3/packets/telemetry.rb +3 -3
- data/lib/openc3/processors/processor.rb +2 -0
- data/lib/openc3/processors/statistics_processor.rb +0 -0
- data/lib/openc3/processors/watermark_processor.rb +0 -0
- data/lib/openc3/processors.rb +0 -0
- data/lib/openc3/script/api_shared.rb +0 -0
- data/lib/openc3/script/autonomic.rb +12 -12
- data/lib/openc3/script/calendar.rb +0 -0
- data/lib/openc3/script/commands.rb +1 -1
- data/lib/openc3/script/critical_cmd.rb +0 -0
- data/lib/openc3/script/exceptions.rb +0 -0
- data/lib/openc3/script/extract.rb +20 -25
- data/lib/openc3/script/limits.rb +0 -0
- data/lib/openc3/script/metadata.rb +0 -0
- data/lib/openc3/script/packages.rb +0 -0
- data/lib/openc3/script/plugins.rb +0 -0
- data/lib/openc3/script/queue.rb +0 -0
- data/lib/openc3/script/screen.rb +0 -0
- data/lib/openc3/script/script.rb +2 -2
- data/lib/openc3/script/script_runner.rb +0 -0
- data/lib/openc3/script/storage.rb +4 -4
- data/lib/openc3/script/suite.rb +0 -0
- data/lib/openc3/script/suite_results.rb +0 -0
- data/lib/openc3/script/suite_runner.rb +26 -0
- data/lib/openc3/script/tables.rb +0 -0
- data/lib/openc3/script/telemetry.rb +9 -3
- data/lib/openc3/script/web_socket_api.rb +247 -134
- data/lib/openc3/script.rb +0 -0
- data/lib/openc3/script_engines/script_engine.rb +0 -0
- data/lib/openc3/streams/mqtt_stream.rb +0 -0
- data/lib/openc3/streams/serial_stream.rb +0 -0
- data/lib/openc3/streams/stream.rb +0 -0
- data/lib/openc3/streams/tcpip_client_stream.rb +0 -0
- data/lib/openc3/streams/tcpip_socket_stream.rb +0 -0
- data/lib/openc3/streams/web_socket_client_stream.rb +0 -0
- data/lib/openc3/subpacketizers/subpacketizer.rb +0 -0
- data/lib/openc3/system/system.rb +0 -0
- data/lib/openc3/system/target.rb +0 -0
- data/lib/openc3/system.rb +0 -0
- data/lib/openc3/tools/cmd_tlm_server/api.rb +0 -0
- data/lib/openc3/tools/cmd_tlm_server/interface_thread.rb +7 -0
- data/lib/openc3/tools/table_manager/table.rb +0 -0
- data/lib/openc3/tools/table_manager/table_config.rb +0 -0
- data/lib/openc3/tools/table_manager/table_item.rb +0 -0
- data/lib/openc3/tools/table_manager/table_item_parser.rb +0 -0
- data/lib/openc3/tools/table_manager/table_manager_core.rb +0 -0
- data/lib/openc3/tools/table_manager/table_parser.rb +0 -0
- data/lib/openc3/tools/test_runner/test.rb +0 -0
- data/lib/openc3/top_level.rb +1 -1
- data/lib/openc3/topics/autonomic_topic.rb +0 -0
- data/lib/openc3/topics/calendar_topic.rb +0 -0
- data/lib/openc3/topics/command_decom_topic.rb +16 -1
- data/lib/openc3/topics/command_topic.rb +0 -0
- data/lib/openc3/topics/config_topic.rb +0 -0
- data/lib/openc3/topics/decom_interface_topic.rb +2 -1
- data/lib/openc3/topics/interface_topic.rb +8 -2
- data/lib/openc3/topics/limits_event_topic.rb +1 -1
- data/lib/openc3/topics/notebook_topic.rb +0 -0
- data/lib/openc3/topics/queue_topic.rb +0 -0
- data/lib/openc3/topics/router_topic.rb +6 -1
- data/lib/openc3/topics/system_events_topic.rb +0 -0
- data/lib/openc3/topics/telemetry_decom_topic.rb +0 -0
- data/lib/openc3/topics/telemetry_topic.rb +0 -0
- data/lib/openc3/topics/timeline_topic.rb +0 -0
- data/lib/openc3/topics/topic.rb +0 -0
- data/lib/openc3/utilities/authentication.rb +4 -4
- data/lib/openc3/utilities/authorization.rb +0 -0
- data/lib/openc3/utilities/aws_bucket.rb +12 -4
- data/lib/openc3/utilities/bucket.rb +1 -1
- data/lib/openc3/utilities/bucket_file_cache.rb +55 -22
- data/lib/openc3/utilities/bucket_require.rb +0 -0
- data/lib/openc3/utilities/bucket_utilities.rb +3 -4
- data/lib/openc3/utilities/cli_generator.rb +0 -0
- data/lib/openc3/utilities/cmd_log.rb +0 -0
- data/lib/openc3/utilities/config_overlay.rb +75 -0
- data/lib/openc3/utilities/cosmos_rails_formatter.rb +0 -0
- data/lib/openc3/utilities/crc.rb +59 -32
- data/lib/openc3/utilities/csv.rb +5 -5
- data/lib/openc3/utilities/ctrf.rb +0 -0
- data/lib/openc3/utilities/env_helper.rb +0 -0
- data/lib/openc3/utilities/local_bucket.rb +0 -0
- data/lib/openc3/utilities/local_mode.rb +36 -7
- data/lib/openc3/utilities/logger.rb +30 -8
- data/lib/openc3/utilities/message_log.rb +0 -0
- data/lib/openc3/utilities/metric.rb +0 -0
- data/lib/openc3/utilities/migration.rb +0 -0
- data/lib/openc3/utilities/open_telemetry.rb +0 -0
- data/lib/openc3/utilities/process_manager.rb +0 -0
- data/lib/openc3/utilities/pypi_url.rb +0 -0
- data/lib/openc3/utilities/python_proxy.rb +0 -0
- data/lib/openc3/utilities/python_venv.rb +135 -0
- data/lib/openc3/utilities/quaternion.rb +0 -0
- data/lib/openc3/utilities/questdb_client.rb +0 -0
- data/lib/openc3/utilities/redis_secrets.rb +0 -0
- data/lib/openc3/utilities/reingest_job.rb +0 -0
- data/lib/openc3/utilities/ruby_lex_utils.rb +5 -1
- data/lib/openc3/utilities/rubygems_url.rb +39 -0
- data/lib/openc3/utilities/running_script.rb +119 -95
- data/lib/openc3/utilities/s3_autoload.rb +5 -5
- data/lib/openc3/utilities/script.rb +52 -12
- data/lib/openc3/utilities/secrets.rb +48 -3
- data/lib/openc3/utilities/simulated_target.rb +0 -0
- data/lib/openc3/utilities/sleeper.rb +0 -0
- data/lib/openc3/utilities/store.rb +0 -0
- data/lib/openc3/utilities/store_autoload.rb +2 -2
- data/lib/openc3/utilities/store_queued.rb +0 -0
- data/lib/openc3/utilities/target_file.rb +18 -1
- data/lib/openc3/utilities/thread_manager.rb +0 -0
- data/lib/openc3/utilities/throttle.rb +0 -0
- data/lib/openc3/utilities/zip.rb +0 -0
- data/lib/openc3/utilities.rb +0 -0
- data/lib/openc3/version.rb +6 -6
- data/lib/openc3/win32/excel.rb +0 -0
- data/lib/openc3/win32/win32.rb +0 -0
- data/lib/openc3/win32/win32_main.rb +0 -0
- data/lib/openc3.rb +2 -2
- data/tasks/gemfile_stats.rake +0 -0
- data/tasks/spec.rake +0 -0
- data/templates/command_validator/command_validator.py +0 -0
- data/templates/command_validator/command_validator.rb +0 -0
- data/templates/conversion/conversion.py +0 -0
- data/templates/conversion/conversion.rb +0 -0
- data/templates/limits_response/response.py +0 -0
- data/templates/limits_response/response.rb +0 -0
- data/templates/microservice/microservices/TEMPLATE/microservice.py +0 -0
- data/templates/microservice/microservices/TEMPLATE/microservice.rb +0 -0
- data/templates/plugin/.gitignore +0 -0
- data/templates/plugin/LICENSE.md +0 -0
- data/templates/plugin/README.md +0 -0
- data/templates/plugin/Rakefile +0 -0
- data/templates/plugin/plugin.gemspec +1 -1
- data/templates/plugin/plugin.txt +0 -0
- data/templates/processor/processor.py +1 -1
- data/templates/processor/processor.rb +0 -0
- data/templates/target/targets/TARGET/cmd_tlm/cmd.txt +0 -0
- data/templates/target/targets/TARGET/cmd_tlm/tlm.txt +0 -0
- data/templates/target/targets/TARGET/lib/target.py +0 -0
- data/templates/target/targets/TARGET/lib/target.rb +0 -0
- data/templates/target/targets/TARGET/procedures/procedure.py +0 -0
- data/templates/target/targets/TARGET/procedures/procedure.rb +0 -0
- data/templates/target/targets/TARGET/public/README.txt +0 -0
- data/templates/target/targets/TARGET/screens/status.txt +0 -0
- data/templates/target/targets/TARGET/target.txt +0 -0
- data/templates/tool_angular/.editorconfig +0 -0
- data/templates/tool_angular/.gitignore +0 -0
- data/templates/tool_angular/.vscode/extensions.json +0 -0
- data/templates/tool_angular/.vscode/launch.json +0 -0
- data/templates/tool_angular/.vscode/tasks.json +0 -0
- data/templates/tool_angular/angular.json +0 -0
- data/templates/tool_angular/extra-webpack.config.js +0 -0
- data/templates/tool_angular/package.json +2 -2
- data/templates/tool_angular/src/app/app-routing.module.ts +0 -0
- data/templates/tool_angular/src/app/app.component.html +0 -0
- data/templates/tool_angular/src/app/app.component.scss +0 -0
- data/templates/tool_angular/src/app/app.component.spec.ts +0 -0
- data/templates/tool_angular/src/app/app.component.ts +0 -0
- data/templates/tool_angular/src/app/app.module.ts +0 -0
- data/templates/tool_angular/src/app/custom-overlay-container.ts +0 -0
- data/templates/tool_angular/src/app/empty-route/empty-route.component.ts +0 -0
- data/templates/tool_angular/src/app/openc3-api.d.ts +0 -0
- data/templates/tool_angular/src/assets/.gitkeep +0 -0
- data/templates/tool_angular/src/environments/environment.prod.ts +0 -0
- data/templates/tool_angular/src/environments/environment.ts +0 -0
- data/templates/tool_angular/src/favicon.ico +0 -0
- data/templates/tool_angular/src/index.html +0 -0
- data/templates/tool_angular/src/main.single-spa.ts +0 -0
- data/templates/tool_angular/src/single-spa/asset-url.ts +0 -0
- data/templates/tool_angular/src/single-spa/single-spa-props.ts +0 -0
- data/templates/tool_angular/src/styles.scss +0 -0
- data/templates/tool_angular/tsconfig.app.json +0 -0
- data/templates/tool_angular/tsconfig.json +0 -0
- data/templates/tool_angular/tsconfig.spec.json +0 -0
- data/templates/tool_react/.eslintrc +0 -0
- data/templates/tool_react/.gitignore +0 -0
- data/templates/tool_react/.prettierignore +0 -0
- data/templates/tool_react/babel.config.json +0 -0
- data/templates/tool_react/jest.config.js +0 -0
- data/templates/tool_react/package.json +1 -1
- data/templates/tool_react/src/openc3-tool_name.js +0 -0
- data/templates/tool_react/src/root.component.js +0 -0
- data/templates/tool_react/src/root.component.test.js +0 -0
- data/templates/tool_react/webpack.config.js +0 -0
- data/templates/tool_svelte/.gitignore +0 -0
- data/templates/tool_svelte/.prettierignore +0 -0
- data/templates/tool_svelte/.prettierrc.js +0 -0
- data/templates/tool_svelte/babel.config.js +0 -0
- data/templates/tool_svelte/build/smui.css +0 -0
- data/templates/tool_svelte/jest.config.js +0 -0
- data/templates/tool_svelte/package.json +1 -1
- data/templates/tool_svelte/rollup.config.js +0 -0
- data/templates/tool_svelte/src/App.svelte +0 -0
- data/templates/tool_svelte/src/App.test.js +0 -0
- data/templates/tool_svelte/src/theme/_smui-theme.scss +0 -0
- data/templates/tool_svelte/src/tool_name.js +0 -0
- data/templates/tool_vue/.env.standalone +0 -0
- data/templates/tool_vue/.gitignore +0 -0
- data/templates/tool_vue/.prettierrc.cjs +0 -0
- data/templates/tool_vue/eslint.config.mjs +0 -0
- data/templates/tool_vue/jsconfig.json +0 -0
- data/templates/tool_vue/package.json +3 -3
- data/templates/tool_vue/src/App.vue +0 -0
- data/templates/tool_vue/src/main.js +0 -0
- data/templates/tool_vue/src/router.js +0 -0
- data/templates/tool_vue/src/tools/tool_name/tool_name.vue +0 -0
- data/templates/tool_vue/vite.config.js +1 -1
- data/templates/widget/.prettierrc.cjs +0 -0
- data/templates/widget/LICENSE.md +0 -0
- data/templates/widget/Rakefile +0 -0
- data/templates/widget/package.json +2 -2
- data/templates/widget/src/Widget.vue +0 -0
- data/templates/widget/vite.config.js +0 -0
- metadata +40 -11
- data/templates/tool_vue/.nycrc +0 -3
- data/templates/widget/.nycrc +0 -3
|
@@ -168,7 +168,7 @@ SECRET:
|
|
|
168
168
|
summary: Define a secret needed by this interface
|
|
169
169
|
description:
|
|
170
170
|
Defines a secret for this interface and optionally assigns its value to an option.
|
|
171
|
-
For more information see [Admin Secrets](/docs/tools/admin#secrets).
|
|
171
|
+
For more information see the [Secrets guide](/docs/guides/secrets) and [Admin Secrets](/docs/tools/admin#secrets).
|
|
172
172
|
since: 5.3.0
|
|
173
173
|
parameters:
|
|
174
174
|
- name: Type
|
|
@@ -186,6 +186,8 @@ SECRET:
|
|
|
186
186
|
- name: Environment Variable or File Path
|
|
187
187
|
required: true
|
|
188
188
|
description: Environment variable name or file path to store secret.
|
|
189
|
+
FILE paths must be under /tmp (or the directory set by the
|
|
190
|
+
OPENC3_SECRET_FILE_DIR environment variable); paths outside of it are rejected.
|
|
189
191
|
Note that if you use the Option Name to set an option to the secret value,
|
|
190
192
|
this value doesn't really matter as long as it is unique.
|
|
191
193
|
values: .*
|
|
@@ -284,3 +286,103 @@ SHARD:
|
|
|
284
286
|
values: \d+
|
|
285
287
|
example: |
|
|
286
288
|
SHARD 0
|
|
289
|
+
BRIDGE:
|
|
290
|
+
summary: Name of the bridge to run this interface on
|
|
291
|
+
description: Run this interface on a bridge host rather than within COSMOS. Note only python is supported.
|
|
292
|
+
since: 7.4.0
|
|
293
|
+
parameters:
|
|
294
|
+
- name: Bridge Name
|
|
295
|
+
required: true
|
|
296
|
+
description: Bridge Name - Typically DEFAULT
|
|
297
|
+
values: .+
|
|
298
|
+
example: |
|
|
299
|
+
BRIDGE DEFAULT
|
|
300
|
+
BRIDGE_PROTOCOL:
|
|
301
|
+
summary: Bridge Protocols modify the bridge interface by processing the data
|
|
302
|
+
description:
|
|
303
|
+
Protocols can be either READ, WRITE, or READ_WRITE. READ protocols act on the data
|
|
304
|
+
received by the interface while write acts on the data before it is sent out. READ_WRITE applies
|
|
305
|
+
the protocol to both reading and writing.<br/><br/>
|
|
306
|
+
For information on creating your own custom protocol please see [Protocols](../configuration/protocols.md)
|
|
307
|
+
since: 7.4.0
|
|
308
|
+
parameters:
|
|
309
|
+
- name: Type
|
|
310
|
+
required: true
|
|
311
|
+
description: Whether to apply the protocol on incoming data, outgoing data, or both
|
|
312
|
+
values: ["READ", "WRITE", "READ_WRITE"]
|
|
313
|
+
- name: Protocol Filename or Classname
|
|
314
|
+
required: true
|
|
315
|
+
description: Ruby or Python filename or class name which implements the protocol
|
|
316
|
+
values: .*
|
|
317
|
+
- name: Protocol specific parameters
|
|
318
|
+
required: false
|
|
319
|
+
description: Additional parameters used by the protocol
|
|
320
|
+
python_example: |
|
|
321
|
+
INTERFACE DATA_INT openc3/interfaces/tcpip_client_interface.py host.docker.internal 8080 8081 10.0 nil BURST
|
|
322
|
+
MAP_TARGET DATA
|
|
323
|
+
BRIDGE_PROTOCOL READ openc3/interfaces/protocols/ignore_packet_protocol.py INST IMAGE # Drop all INST IMAGE packets
|
|
324
|
+
BRIDGE_OPTION:
|
|
325
|
+
summary: Set a parameter on a bridged interface
|
|
326
|
+
description:
|
|
327
|
+
When a bridge option is set the bridge interface class calls the set_option method.
|
|
328
|
+
Custom interfaces can override set_option to handle any additional options they want.
|
|
329
|
+
since: 7.4.0
|
|
330
|
+
parameters:
|
|
331
|
+
- name: Name
|
|
332
|
+
required: true
|
|
333
|
+
description:
|
|
334
|
+
The option to set. OpenC3 defines several options on the core provided
|
|
335
|
+
interfaces. The SerialInterface defines FLOW_CONTROL which can be NONE (default) or RTSCTS
|
|
336
|
+
and DATA_BITS which changes the data bits of the serial interface.
|
|
337
|
+
The TcpipServerInterface and HttpServerInterface define LISTEN_ADDRESS which is the IP address to accept
|
|
338
|
+
connections on (default 0.0.0.0).
|
|
339
|
+
values: .*
|
|
340
|
+
- name: Parameters
|
|
341
|
+
required: false
|
|
342
|
+
description: Parameters to pass to the option
|
|
343
|
+
values: .*
|
|
344
|
+
example: |
|
|
345
|
+
INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil
|
|
346
|
+
BRIDGE DEFAULT
|
|
347
|
+
BRIDGE_OPTION FLOW_CONTROL RTSCTS
|
|
348
|
+
BRIDGE_OPTION DATA_BITS 8
|
|
349
|
+
BRIDGE_SECRET:
|
|
350
|
+
summary: Define a bridge secret needed by this bridge interface
|
|
351
|
+
description:
|
|
352
|
+
Defines a bridge secret for this bridge interface and optionally assigns its value to an option.
|
|
353
|
+
For more information see [Admin Secrets](/docs/tools/admin#secrets).
|
|
354
|
+
since: 7.4.0
|
|
355
|
+
parameters:
|
|
356
|
+
- name: Type
|
|
357
|
+
required: true
|
|
358
|
+
description:
|
|
359
|
+
ENV or FILE. ENV will mount the secret into an environment variable.
|
|
360
|
+
FILE mounts the secret into a file.
|
|
361
|
+
values: .*
|
|
362
|
+
- name: Secret Name
|
|
363
|
+
required: true
|
|
364
|
+
description:
|
|
365
|
+
The name of the secret to retrieve from the Admin / Secrets tab.
|
|
366
|
+
For more information see [Admin Secrets](/docs/tools/admin#secrets).
|
|
367
|
+
values: .*
|
|
368
|
+
- name: Environment Variable or File Path
|
|
369
|
+
required: true
|
|
370
|
+
description: Environment variable name or file path to store secret.
|
|
371
|
+
FILE paths must be under /tmp (or the directory set by the
|
|
372
|
+
OPENC3_SECRET_FILE_DIR environment variable); paths outside of it are rejected.
|
|
373
|
+
Note that if you use the Option Name to set an option to the secret value,
|
|
374
|
+
this value doesn't really matter as long as it is unique.
|
|
375
|
+
values: .*
|
|
376
|
+
- name: Option Name
|
|
377
|
+
required: false
|
|
378
|
+
description: Interface option to pass the secret value. This is the primary way to pass secrets to interfaces.
|
|
379
|
+
values: .*
|
|
380
|
+
- name: Secret Store Name
|
|
381
|
+
required: false
|
|
382
|
+
description: Name of the secret store for stores with multipart keys
|
|
383
|
+
values: .*
|
|
384
|
+
example: |
|
|
385
|
+
INTERFACE SERIAL_INT serial_interface.rb COM1 COM1 115200 NONE 1 10.0 nil
|
|
386
|
+
BRIDGE DEFAULT
|
|
387
|
+
BRIDGE_SECRET ENV USERNAME ENV_USERNAME USERNAME
|
|
388
|
+
BRIDGE_SECRET FILE KEY "/tmp/DATA/cert" KEY
|
|
@@ -136,7 +136,8 @@ LIMITS:
|
|
|
136
136
|
- name: Persistence
|
|
137
137
|
required: true
|
|
138
138
|
description: Number of consecutive times the telemetry item must be within
|
|
139
|
-
a different limits range before changing limits state.
|
|
139
|
+
a different limits range before changing limits state. Note if you have
|
|
140
|
+
multiple LIMITS items they should all have the same persistence value.
|
|
140
141
|
values: \d+
|
|
141
142
|
- name: Initial State
|
|
142
143
|
required: true
|
|
@@ -117,7 +117,12 @@ MICROSERVICE:
|
|
|
117
117
|
values: .+
|
|
118
118
|
SECRET:
|
|
119
119
|
summary: Define a secret needed by this microservice
|
|
120
|
-
description:
|
|
120
|
+
description:
|
|
121
|
+
Defines a secret for this microservice. For more information see the [Secrets guide](/docs/guides/secrets)
|
|
122
|
+
and [Admin Secrets](/docs/tools/admin#secrets).
|
|
123
|
+
Note that unlike the INTERFACE SECRET, the microservice SECRET does not take an Option Name parameter,
|
|
124
|
+
because the secret value is injected directly into the microservice process as an environment variable
|
|
125
|
+
(Type ENV) or written to a file (Type FILE).
|
|
121
126
|
since: 5.3.0
|
|
122
127
|
parameters:
|
|
123
128
|
- name: Type
|
|
@@ -134,7 +139,9 @@ MICROSERVICE:
|
|
|
134
139
|
values: .*
|
|
135
140
|
- name: Environment Variable or File Path
|
|
136
141
|
required: true
|
|
137
|
-
description: Environment variable name or file path to store secret
|
|
142
|
+
description: Environment variable name or file path to store secret.
|
|
143
|
+
FILE paths must be under /tmp (or the directory set by the
|
|
144
|
+
OPENC3_SECRET_FILE_DIR environment variable); paths outside of it are rejected.
|
|
138
145
|
values: .*
|
|
139
146
|
- name: Secret Store Name
|
|
140
147
|
required: false
|
|
File without changes
|
|
File without changes
|
data/data/config/plugins.yaml
CHANGED
|
File without changes
|
data/data/config/processors.yaml
CHANGED
|
File without changes
|
data/data/config/protocols.yaml
CHANGED
|
File without changes
|
data/data/config/screen.yaml
CHANGED
|
@@ -159,7 +159,8 @@ NAMED_WIDGET:
|
|
|
159
159
|
- name: Widget Name
|
|
160
160
|
required: true
|
|
161
161
|
description: The unique name applied to the following widget instance.
|
|
162
|
-
Names must be unique per screen.
|
|
162
|
+
Names must be unique per screen. Names are case insensitive, e.g.
|
|
163
|
+
getNamedWidget('duration') returns the widget named DURATION.
|
|
163
164
|
values: .+
|
|
164
165
|
- name: Widget Type
|
|
165
166
|
required: true
|
data/data/config/settings.yaml
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/data/config/target.yaml
CHANGED
|
@@ -81,6 +81,13 @@ TARGET:
|
|
|
81
81
|
description:
|
|
82
82
|
Sets the retention time directly on QuestDB tables for automatic data expiration.
|
|
83
83
|
QuestDB will automatically remove data older than this retention time.
|
|
84
|
+
Tables are partitioned by day and QuestDB only drops whole partitions, so the
|
|
85
|
+
effective granularity is one day. Hour values are rounded up to whole days
|
|
86
|
+
("1h" becomes 1 day, "25h" becomes 2 days) so data is never dropped early,
|
|
87
|
+
and data is not removed until the entire day partition is older than the retention
|
|
88
|
+
time (expect up to a day of extra data). Expiration is evaluated when new data is
|
|
89
|
+
written to the table, so an idle table is not expired.
|
|
90
|
+
Changing this value and reinstalling the plugin updates existing tables.
|
|
84
91
|
since: 7.0.0
|
|
85
92
|
parameters:
|
|
86
93
|
- name: Time
|
|
@@ -95,6 +102,13 @@ TARGET:
|
|
|
95
102
|
description:
|
|
96
103
|
Sets the retention time directly on QuestDB tables for automatic data expiration.
|
|
97
104
|
QuestDB will automatically remove data older than this retention time.
|
|
105
|
+
Tables are partitioned by day and QuestDB only drops whole partitions, so the
|
|
106
|
+
effective granularity is one day. Hour values are rounded up to whole days
|
|
107
|
+
("1h" becomes 1 day, "25h" becomes 2 days) so data is never dropped early,
|
|
108
|
+
and data is not removed until the entire day partition is older than the retention
|
|
109
|
+
time (expect up to a day of extra data). Expiration is evaluated when new data is
|
|
110
|
+
written to the table, so an idle table is not expired.
|
|
111
|
+
Changing this value and reinstalling the plugin updates existing tables.
|
|
98
112
|
since: 7.0.0
|
|
99
113
|
parameters:
|
|
100
114
|
- name: Time
|
|
@@ -104,6 +118,13 @@ TARGET:
|
|
|
104
118
|
Supported units are h (hours), d (days), w (weeks), M (months), y (years).
|
|
105
119
|
Default = nil = Forever
|
|
106
120
|
values: \d+[hdwMy]
|
|
121
|
+
DECOM_FLUSH_PERIOD:
|
|
122
|
+
summary: Period in seconds between flushing rows to the TSDB. Higher values use less CPU.
|
|
123
|
+
parameters:
|
|
124
|
+
- name: Period
|
|
125
|
+
required: true
|
|
126
|
+
description: Number of seconds between flushing rows to the TSDB (default = 5.0)
|
|
127
|
+
values: .+
|
|
107
128
|
LOG_RETAIN_TIME:
|
|
108
129
|
summary: How long to keep all regular telemetry logs in seconds.
|
|
109
130
|
parameters:
|
|
File without changes
|
data/data/config/telemetry.yaml
CHANGED
|
File without changes
|
|
@@ -274,6 +274,8 @@ TEMPLATE_FILE:
|
|
|
274
274
|
- name: Template File Path
|
|
275
275
|
required: true
|
|
276
276
|
description: The relative path to the template file. Filename should generally start with an underscore.
|
|
277
|
+
Absolute paths and paths containing '..' are not allowed. The file must be inside the directory
|
|
278
|
+
containing the definition file.
|
|
277
279
|
values: .+
|
|
278
280
|
since: 5.0.10
|
|
279
281
|
IGNORE_OVERLAP:
|
data/data/config/tool.yaml
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
TOOL:
|
|
3
3
|
summary: Define a tool
|
|
4
4
|
example: TOOL DEMO Demo
|
|
5
|
-
description:
|
|
5
|
+
description: |
|
|
6
|
+
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 be dynamically added to the running system as independent frontend microservices.
|
|
7
|
+
Tools are global to the entire COSMOS installation. Regardless of the scope a plugin is installed into, its tools are always installed into the DEFAULT scope and are available in every scope.
|
|
6
8
|
parameters:
|
|
7
9
|
- name: Tool Folder Name
|
|
8
10
|
description: The exact name of the tool folder in the plugin. ie. tools/ToolFolderName
|
data/data/config/unknown.yaml
CHANGED
|
File without changes
|
data/data/config/widgets.yaml
CHANGED
|
@@ -206,6 +206,9 @@ Decoration Widgets:
|
|
|
206
206
|
END
|
|
207
207
|
FILEDISPLAY:
|
|
208
208
|
summary: Displays the contents of a target file with syntax highlighting
|
|
209
|
+
description: Files are read from the COSMOS bucket, either the target's installed files or the modified
|
|
210
|
+
copy under targets_modified. In local mode a file created only on the local filesystem
|
|
211
|
+
(plugins/SCOPE/targets_modified) is not in the bucket and cannot be read.
|
|
209
212
|
since: 6.10.3
|
|
210
213
|
parameters:
|
|
211
214
|
- name: File path
|
|
@@ -224,6 +227,9 @@ Decoration Widgets:
|
|
|
224
227
|
FILEDISPLAY "INST/data/sample.json" 400 200
|
|
225
228
|
FILECHECKSUM:
|
|
226
229
|
summary: Displays SHA-256 checksum of one or more files, with comparison if multiple
|
|
230
|
+
description: Files are read from the COSMOS bucket, either the target's installed files or the modified
|
|
231
|
+
copy under targets_modified. In local mode a file created only on the local filesystem
|
|
232
|
+
(plugins/SCOPE/targets_modified) is not in the bucket and cannot be read.
|
|
227
233
|
since: 6.10.3
|
|
228
234
|
parameters:
|
|
229
235
|
- name: File path
|
|
@@ -1442,6 +1448,19 @@ Interactive Widgets:
|
|
|
1442
1448
|
Scripts can be launched from a BUTTON using the `runScript()` method. `runScript()` takes three parameters,
|
|
1443
1449
|
the name of the script, whether to open the script in the foreground of Script Runner (default = true), and a hash of
|
|
1444
1450
|
environment variables. For example: `runScript('INST/procedures/script.rb', false, {'VAR': 'VALUE'})`
|
|
1451
|
+
|
|
1452
|
+
For security, button code does NOT run in the main application. It runs in an isolated,
|
|
1453
|
+
sandboxed browser context that has no access to your login session, browser storage, or
|
|
1454
|
+
the page, and no network access of its own. The `api`, `screen`, `runScript` and `alert`
|
|
1455
|
+
objects still work exactly as before (the real work is performed by the application on the
|
|
1456
|
+
button code's behalf). A few consequences of this isolation:
|
|
1457
|
+
|
|
1458
|
+
- `alert()` no longer pauses code execution while the alert is displayed.
|
|
1459
|
+
- `screen.getNamedWidget("WIDGET_NAME").text()` (and `selected()` / `checked()` / `value`)
|
|
1460
|
+
return the widget's value as it was when the button was clicked; a `.value =` assignment
|
|
1461
|
+
made earlier in the same button click is not guaranteed to be visible to a later read in
|
|
1462
|
+
that same click.
|
|
1463
|
+
- The `self` variable (the internal widget component) is no longer available to button code.
|
|
1445
1464
|
parameters:
|
|
1446
1465
|
- name: Button Text
|
|
1447
1466
|
required: true
|
|
@@ -1613,7 +1632,7 @@ Canvas Widgets:
|
|
|
1613
1632
|
description: Blue value of the RGB value
|
|
1614
1633
|
values: .+
|
|
1615
1634
|
example: |
|
|
1616
|
-
CANVAS
|
|
1635
|
+
CANVAS 150 50
|
|
1617
1636
|
SETTING BACKCOLOR 17 21 28
|
|
1618
1637
|
CANVASLABEL 5 30 "Dark canvas" 18 white
|
|
1619
1638
|
END
|
|
@@ -1682,8 +1701,8 @@ Canvas Widgets:
|
|
|
1682
1701
|
values: <%= %w(RAW CONVERTED FORMATTED) %>
|
|
1683
1702
|
example: |
|
|
1684
1703
|
CANVAS 200 100
|
|
1685
|
-
CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34
|
|
1686
|
-
CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70
|
|
1704
|
+
CANVASLABELVALUE INST HEALTH_STATUS TEMP1 5 34 20 red
|
|
1705
|
+
CANVASLABELVALUE INST HEALTH_STATUS TEMP2 5 70 16 blue FORMATTED
|
|
1687
1706
|
END
|
|
1688
1707
|
CANVASIMAGE:
|
|
1689
1708
|
summary: Displays an image on the canvas
|