From 640224f655541366357787831f4deeff2d4e89db Mon Sep 17 00:00:00 2001 From: Jason Thomas Date: Fri, 23 Aug 2024 16:59:29 -0600 Subject: [PATCH 01/11] Fix spelling errors --- INSTALL.md | 2 +- README.md | 4 +- .../docs/configuration/_command.md | 2 +- docs.openc3.com/docs/configuration/_table.md | 2 +- .../docs/configuration/_telemetry.md | 4 +- .../docs/configuration/interfaces.md | 2 +- .../docs/configuration/protocols.md | 4 +- .../docs/development/developing.md | 2 +- .../docs/getting-started/generators.md | 4 +- .../docs/getting-started/gettingstarted.md | 8 +- .../docs/getting-started/installation.md | 2 +- .../docs/getting-started/key_concepts.md | 6 +- .../docs/getting-started/requirements.md | 6 +- docs.openc3.com/docs/guides/custom-widgets.md | 2 +- docs.openc3.com/docs/guides/script-writing.md | 10 +- docs.openc3.com/docs/guides/scripting-api.md | 36 +- docs.openc3.com/docs/tools/autonomic.md | 2 +- docs.openc3.com/docs/tools/calendar.md | 8 +- docs.openc3.com/docs/tools/cmd-tlm-server.md | 2 +- docs.openc3.com/docs/tools/limits-monitor.md | 2 +- docs.openc3.com/docs/tools/script-runner.md | 4 +- docs.openc3.com/docs/tools/tlm-viewer.md | 2 +- .../app/controllers/application_controller.rb | 2 +- .../internal_metrics_controller.rb | 6 +- .../app/models/messages_thread.rb | 6 +- .../openc3-tool-base/src/index-allow-http.ejs | 142 +++---- .../plugins/openc3-tool-base/src/index.ejs | 142 +++---- .../targets/ACCESS/cmd_tlm/access_cmds.txt | 8 +- .../targets/ACCESS/cmd_tlm/access_tlm.txt | 8 +- .../packages/openc3-cosmos-ace-diff/README.md | 40 +- .../src/styles/ace-diff-base.scss | 2 +- .../targets/INST/screens/commanding.txt | 2 +- .../targets/INST/screens/ground.txt | 2 +- .../tables/config/TLMMonitoringTable_def.txt | 4 +- .../targets/INST2/screens/commanding.txt | 2 +- .../targets/INST2/screens/ground.txt | 2 +- .../tables/config/TLMMonitoringTable_def.txt | 4 +- .../tools/ScriptRunner/Dialogs/AskDialog.vue | 4 +- .../src/tools/ScriptRunner/SuiteRunner.vue | 2 +- .../src/tools/TableManager/TableManager.vue | 10 +- .../src/components/DetailsDialog.vue | 10 +- .../autocomplete/screenCompleter.js | 6 +- .../src/components/icons/CosmosRuxIcon.vue | 2 +- .../src/components/widgets/ImageLoader.js | 2 +- .../src/components/widgets/LedWidget.vue | 2 +- .../src/components/widgets/VWidget.js | 4 +- .../src/services/openc3-api.js | 34 +- .../src/tools/base/util/AstroStatus.js | 8 +- .../app/controllers/application_controller.rb | 2 +- openc3/bin/cstol_converter | 28 +- openc3/bin/openc3cli | 2 +- openc3/data/config/_interfaces.yaml | 2 +- openc3/data/config/interface_modifiers.yaml | 2 +- openc3/data/config/param_item_modifiers.yaml | 2 +- openc3/data/config/parameter_modifiers.yaml | 2 +- openc3/data/config/plugins.yaml | 4 +- openc3/data/config/screen.yaml | 4 +- openc3/data/config/table_manager.yaml | 4 +- openc3/data/config/widgets.yaml | 6 +- .../openc3/ext/config_parser/config_parser.c | 2 +- openc3/ext/openc3/ext/packet/packet.c | 2 +- openc3/ext/openc3/ext/platform/platform.c | 6 +- openc3/ext/openc3/ext/structure/structure.c | 4 +- .../lib/openc3/accessors/binary_accessor.rb | 8 +- openc3/lib/openc3/accessors/form_accessor.rb | 4 +- openc3/lib/openc3/accessors/http_accessor.rb | 2 +- openc3/lib/openc3/accessors/json_accessor.rb | 2 +- .../lib/openc3/accessors/template_accessor.rb | 2 +- openc3/lib/openc3/accessors/xml_accessor.rb | 2 +- openc3/lib/openc3/api/limits_api.rb | 2 +- openc3/lib/openc3/config/config_parser.rb | 2 +- .../segmented_polynomial_conversion.rb | 14 +- openc3/lib/openc3/core_ext/array.rb | 10 +- openc3/lib/openc3/core_ext/string.rb | 4 +- openc3/lib/openc3/interfaces/interface.rb | 2 +- .../lib/openc3/interfaces/linc_interface.rb | 6 +- .../openc3/logs/buffered_packet_log_writer.rb | 6 +- openc3/lib/openc3/logs/log_writer.rb | 15 +- openc3/lib/openc3/logs/packet_log_writer.rb | 14 +- openc3/lib/openc3/logs/text_log_writer.rb | 8 +- .../microservices/reaction_microservice.rb | 4 +- .../trigger_group_microservice.rb | 6 +- openc3/lib/openc3/models/activity_model.rb | 14 +- openc3/lib/openc3/models/gem_model.rb | 16 +- openc3/lib/openc3/models/plugin_model.rb | 6 +- openc3/lib/openc3/models/reducer_model.rb | 4 +- openc3/lib/openc3/models/scope_model.rb | 2 +- openc3/lib/openc3/models/sorted_model.rb | 8 +- openc3/lib/openc3/models/target_model.rb | 6 +- openc3/lib/openc3/operators/operator.rb | 2 +- openc3/lib/openc3/packets/commands.rb | 16 +- openc3/lib/openc3/packets/packet.rb | 16 +- openc3/lib/openc3/packets/packet_config.rb | 4 +- .../openc3/packets/parsers/packet_parser.rb | 6 +- openc3/lib/openc3/packets/structure.rb | 22 +- openc3/lib/openc3/packets/telemetry.rb | 18 +- openc3/lib/openc3/script/api_shared.rb | 4 +- openc3/lib/openc3/script/metadata.rb | 4 +- openc3/lib/openc3/script/suite.rb | 34 +- openc3/lib/openc3/streams/serial_stream.rb | 5 +- openc3/lib/openc3/streams/stream.rb | 4 +- .../tools/cmd_tlm_server/interface_thread.rb | 20 +- .../tools/table_manager/table_manager_core.rb | 22 +- .../tools/table_manager/table_parser.rb | 5 +- .../openc3/topics/telemetry_decom_topic.rb | 2 +- openc3/lib/openc3/utilities/crc.rb | 12 +- openc3/lib/openc3/utilities/metric.rb | 3 +- openc3/lib/openc3/utilities/quaternion.rb | 36 +- openc3/lib/openc3/win32/win32_main.rb | 4 +- openc3/python/README.md | 2 +- openc3/python/docs/environment.md | 2 +- .../openc3/accessors/binary_accessor.py | 6 +- openc3/python/openc3/api/limits_api.py | 2 +- openc3/python/openc3/api/tlm_api.py | 2 +- openc3/python/openc3/config/config_parser.py | 2 +- .../segmented_polynomial_conversion.py | 2 +- openc3/python/openc3/interfaces/interface.py | 2 +- openc3/python/openc3/io/json_rpc.py | 8 +- openc3/python/openc3/logs/log_writer.py | 2 +- openc3/python/openc3/models/reducer_model.py | 2 +- openc3/python/openc3/models/target_model.py | 2 +- openc3/python/openc3/packets/commands.py | 4 +- openc3/python/openc3/packets/packet.py | 14 +- openc3/python/openc3/packets/packet_config.py | 4 +- openc3/python/openc3/packets/structure.py | 20 +- openc3/python/openc3/packets/telemetry.py | 2 +- openc3/python/openc3/script/authorization.py | 8 +- openc3/python/openc3/script/suite.py | 4 +- openc3/python/openc3/streams/stream.py | 2 +- .../openc3/streams/tcpip_socket_stream.py | 2 +- .../openc3/topics/telemetry_decom_topic.py | 2 +- openc3/python/openc3/utilities/crc.py | 8 +- .../python/test/config/test_config_parser.py | 2 +- openc3/python/test/models/test_cvt_model.py | 360 +++++------------- .../python/test/packets/test_packet_config.py | 4 +- openc3/python/test/test_helper.py | 2 +- openc3/spec/api/cmd_api_spec.rb | 4 +- openc3/spec/api/interface_api_spec.rb | 4 +- openc3/spec/api/limits_api_spec.rb | 30 +- openc3/spec/api/router_api_spec.rb | 4 +- openc3/spec/api/tlm_api_spec.rb | 28 +- openc3/spec/config/config_parser_spec.rb | 2 +- .../bit_reverse_conversion_spec.rb | 2 +- .../conversions/generic_conversion_spec.rb | 12 +- .../object_read_conversion_spec.rb | 2 +- .../object_write_conversion_spec.rb | 2 +- .../conversions/polynomial_conversion_spec.rb | 14 +- .../segmented_polynomial_conversion_spec.rb | 10 +- openc3/spec/install/yaml_docs_spec.rb | 2 +- .../protocols/burst_protocol_spec.rb | 2 +- .../timeline_microservice_spec.rb | 2 +- openc3/spec/models/activity_model_spec.rb | 4 +- openc3/spec/models/cvt_model_spec.rb | 8 +- openc3/spec/models/model_spec.rb | 2 +- openc3/spec/models/target_model_spec.rb | 18 +- openc3/spec/models/widget_model_spec.rb | 8 +- openc3/spec/packets/commands_spec.rb | 22 +- openc3/spec/packets/limits_spec.rb | 18 +- openc3/spec/packets/packet_config_spec.rb | 2 +- openc3/spec/packets/telemetry_spec.rb | 48 +-- openc3/spec/script/api_shared_spec.rb | 2 +- openc3/spec/script/extract_spec.rb | 2 +- .../utilities/bucket_utilities_minio_spec.rb | 10 +- .../spec/utilities/bucket_utilities_spec.rb | 2 +- openc3/spec/utilities/local_mode_spec.rb | 12 +- playwright/tests/command-sender.spec.ts | 2 +- playwright/tests/data-extractor.spec.ts | 4 +- playwright/tests/data-viewer.spec.ts | 4 +- playwright/tests/limits-monitor.spec.ts | 4 +- .../tests/script-runner/script-menu.spec.ts | 2 +- scripts/release/package_audit.rb | 2 +- scripts/release/package_audit_lib.rb | 2 +- 172 files changed, 825 insertions(+), 997 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index efec8e348c..bd5d3d0bd0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -22,7 +22,7 @@ The most commands can also take arguments. The current argument options when run ## Setup -To build you can use an environment variable `SSL_CERT_FILE` or it will default to use a public curl ca file. When you run setup it copys the `SSL_CERT_FILE` and will place a copy in the root of the openc3 repo as `cacert.pem`. These are needed to build the docker containers. +To build you can use an environment variable `SSL_CERT_FILE` or it will default to use a public curl ca file. When you run setup it copies the `SSL_CERT_FILE` and will place a copy in the root of the openc3 repo as `cacert.pem`. These are needed to build the docker containers. If you're building and want to use a private Rubygems, NPM or APK server (e.g. Nexus) you can update the following environment variables: RUBYGEMS_URL, NPM_URL, APK_URL, and more in the .env file. Example values: diff --git a/README.md b/README.md index 26b6b100c4..f0cfe542f2 100644 --- a/README.md +++ b/README.md @@ -27,13 +27,13 @@ After configuring OpenC3 COSMOS to talk to your hardware, you immediately can us 1. **Command Sender** - - Command Sender allows you to manually send one-off commands with conventient drop downs and descriptions of each command and command parameter. + - Command Sender allows you to manually send one-off commands with convenient drop downs and descriptions of each command and command parameter. 1. **Script Runner** - Script Runner allows for running OpenC3 COSMOS test procedures or any other Ruby code from a graphical environment that highlights each line as it executes. At anytime during execution, the script can be paused or stopped. If a telemetry check fails or any other exception occurs, the script is immediately stopped and the user notified. - - Script Runner also allows you to break your operational or test procedures down into discreet test cases that each complete with either SUCCESS or FAILURE. After running, a script report is automatically created for you. Convenient features such as the ability to loop testing help get the kinks out of your system before formal runs. + - Script Runner also allows you to break your operational or test procedures down into discret test cases that each complete with either SUCCESS or FAILURE. After running, a script report is automatically created for you. Convenient features such as the ability to loop testing help get the kinks out of your system before formal runs. 1. **Packet Viewer** diff --git a/docs.openc3.com/docs/configuration/_command.md b/docs.openc3.com/docs/configuration/_command.md index d6e735944b..d2849ec7ba 100644 --- a/docs.openc3.com/docs/configuration/_command.md +++ b/docs.openc3.com/docs/configuration/_command.md @@ -7,7 +7,7 @@ title: Commands ## Command Definition Files -Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easist way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the [ASCII Table](http://www.asciitable.com/) is structured, files beginning with capital letters are processed before lower case letters. +Command definition files define the command packets that can be sent to COSMOS targets. One large file can be used to define the command packets, or multiple files can be used at the user's discretion. Command definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some command files that depend on others, e.g. they override or extend existing commands, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have cmd.txt you can create cmd_override.txt for commands that depends on the definitions in cmd.txt. Also note that due to the way the [ASCII Table](http://www.asciitable.com/) is structured, files beginning with capital letters are processed before lower case letters. When defining command parameters you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. The only difference between a STRING and BLOCK is when COSMOS reads the binary command log it stops reading a STRING type when it encounters a null byte (0). This shows up in the text log produced by Data Extractor. Note that this does NOT affect the data COSMOS writes as it's still legal to pass null bytes (0) in STRING parameters. diff --git a/docs.openc3.com/docs/configuration/_table.md b/docs.openc3.com/docs/configuration/_table.md index a5a7390fa0..c679557d24 100644 --- a/docs.openc3.com/docs/configuration/_table.md +++ b/docs.openc3.com/docs/configuration/_table.md @@ -8,7 +8,7 @@ title: Tables ## Table Definition Files Table definition files define the binary tables that can be displayed in COSMOS [Table Manager](../tools/table-manager.md) -. Table definitions are defined in the target's tables/config directory and are typically named after the table such as `PPSSelectionTable_def.txt`. The `_def.txt` extention helps to identify the file as a table definition. Table definitions can be combined using the `TABLEFILE` keyword. This allows you to build individual table components into a larger binary. +. Table definitions are defined in the target's tables/config directory and are typically named after the table such as `PPSSelectionTable_def.txt`. The `_def.txt` extension helps to identify the file as a table definition. Table definitions can be combined using the `TABLEFILE` keyword. This allows you to build individual table components into a larger binary. The Table definition files share a lot of similarity with the [Command Configuration](command.md). You have the same data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. diff --git a/docs.openc3.com/docs/configuration/_telemetry.md b/docs.openc3.com/docs/configuration/_telemetry.md index 1c70df56be..c577b29dfd 100644 --- a/docs.openc3.com/docs/configuration/_telemetry.md +++ b/docs.openc3.com/docs/configuration/_telemetry.md @@ -7,7 +7,7 @@ title: Telemetry ## Telemetry Definition Files -Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easist way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the [ASCII Table](http://www.asciitable.com/) is structured, files beginning with capital letters are processed before lower case letters. +Telemetry definition files define the telemetry packets that can be received and processed from COSMOS targets. One large file can be used to define the telemetry packets, or multiple files can be used at the user's discretion. Telemetry definition files are placed in the target's cmd_tlm directory and are processed alphabetically. Therefore if you have some telemetry files that depend on others, e.g. they override or extend existing telemetry, they must be named last. The easiest way to do this is to add an extension to an existing file name. For example, if you already have tlm.txt you can create tlm_override.txt for telemetry that depends on the definitions in tlm.txt. Note that due to the way the [ASCII Table](http://www.asciitable.com/) is structured, files beginning with capital letters are processed before lower case letters. When defining telemetry items you can choose from the following data types: INT, UINT, FLOAT, STRING, BLOCK. These correspond to integers, unsigned integers, floating point numbers, strings and binary blocks of data. Within COSMOS, the only difference between a STRING and BLOCK is when COSMOS reads a STRING type it stops reading when it encounters a null byte (0). This shows up when displaying the value in Packet Viewer or Tlm Viewer and in the output of Data Extractor. You should strive to store non-ASCII data inside BLOCK items and ASCII strings in STRING items. @@ -62,7 +62,7 @@ ITEM PACKET_TIME 0 0 DERIVED "Python time based on TIMESEC and TIMEUS" READ_CONVERSION openc3/conversions/unix_time_conversion.py TIMESEC TIMEUS ``` -Definining PACKET_TIME allows the PACKET_TIMESECONDS and PACKET_TIMEFORMATTED to be calculated against an internal Packet time rather than the time COSMOS receives the packet. +Defining PACKET_TIME allows the PACKET_TIMESECONDS and PACKET_TIMEFORMATTED to be calculated against an internal Packet time rather than the time COSMOS receives the packet.
diff --git a/docs.openc3.com/docs/configuration/interfaces.md b/docs.openc3.com/docs/configuration/interfaces.md index fd69809bf2..15a4b4f25c 100644 --- a/docs.openc3.com/docs/configuration/interfaces.md +++ b/docs.openc3.com/docs/configuration/interfaces.md @@ -175,7 +175,7 @@ See [INTERFACE](plugins.md#interface) for a description of the INTERFACE keyword ## Streams -Streams are low level classes that implement read, read_nonblock, write, connect, connected? and disconnect methods. The build-in Stream classes are SerialStream, TcpipSocketStream and TcpipClientStream and they are automatically used when creating a Serial Interface, TCP/IP Server Interface, or TCP/IP Client Interface. +Streams are low level classes that implement read, read_nonblock, write, connect, connected? and disconnect methods. The built-in Stream classes are SerialStream, TcpipSocketStream and TcpipClientStream and they are automatically used when creating a Serial Interface, TCP/IP Server Interface, or TCP/IP Client Interface. ## Protocols diff --git a/docs.openc3.com/docs/configuration/protocols.md b/docs.openc3.com/docs/configuration/protocols.md index c74aefea79..1fa867ef2f 100644 --- a/docs.openc3.com/docs/configuration/protocols.md +++ b/docs.openc3.com/docs/configuration/protocols.md @@ -303,7 +303,7 @@ The base class disconnect_reset implementation just calls the reset method to en The read_data method is used to analyze and potentially modify any raw data read by an Interface. It takes one parameter as the current state of the data to be analyzed. It can return either a string of data, STOP, or DISCONNECT. If it returns a string, then it believes that data may be ready to be a full packet, and is ready for processing by any following Protocols. If STOP is returned then the Protocol believes it needs more data to complete a full packet. If DISCONNECT is returned then the Protocol believes the Interface should be disconnected (and typically automatically reconnected). -Base class Ruby implemenation: +Base class Ruby implementation: ```ruby def read_data(data) @@ -320,7 +320,7 @@ def read_data(data) end ``` -Base class Python implemenation: +Base class Python implementation: ```python def read_data(self, data, extra=None): diff --git a/docs.openc3.com/docs/development/developing.md b/docs.openc3.com/docs/development/developing.md index ac7ee931b9..b9a7180570 100644 --- a/docs.openc3.com/docs/development/developing.md +++ b/docs.openc3.com/docs/development/developing.md @@ -147,4 +147,4 @@ openc3-cosmos-cmd-tlm-api % bundle install openc3-cosmos-cmd-tlm-api % bundle exec rails s ``` -1. Once the `bundle exec rails s` command returns you should see API requests coming from interations in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect. +1. Once the `bundle exec rails s` command returns you should see API requests coming from interactions in the frontend code. If you add code (like Ruby debugging statements) to the cmd-tlm-api code you need to stop the server (CTRL-C) and restart it to see the effect. diff --git a/docs.openc3.com/docs/getting-started/generators.md b/docs.openc3.com/docs/getting-started/generators.md index d1e1044dec..322f639b62 100644 --- a/docs.openc3.com/docs/getting-started/generators.md +++ b/docs.openc3.com/docs/getting-started/generators.md @@ -203,7 +203,7 @@ WIDGET Helloworld ## Tool Generator -The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelt. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see [Running a Frontend Application](../development/developing#running-a-frontend-application). +The tool generator creates the scaffolding for a new COSMOS Tool. It's It must operate inside an existing COSMOS plugin and requires a tool name. Developing a custom tool requires intensive knowledge of a Javascript framework such as Vue.js, Angular, React, or Svelte. Since all the COSMOS tools are built in Vue.js, that is the recommended framework for new tool development. For additional help on frontend development, see [Running a Frontend Application](../development/developing#running-a-frontend-application). ```bash openc3-cosmos-gse % openc3.sh cli generate tool @@ -225,7 +225,7 @@ This creates the following files and directories: | src/tools/datavis/datavis.vue | Fully functional tool which displays a simple button. This can be expanded using existing COSMOS Vue.js code to create any tool imaginable. | | package.json | Build and dependency definition file. Used by npm or yarn to build the tool. | | vue.config.js | Vue configuration file used to serve the application in development and build the application. | -| \ | Various dotfiles which help configure formatters and tools for Javascript frontend developemnt | +| \ | Various dotfiles which help configure formatters and tools for Javascript frontend development | It also updates the plugin.txt file to add the new tool. The icon can be changed to any of the material design icons found [here](https://pictogrammers.com/library/mdi/). diff --git a/docs.openc3.com/docs/getting-started/gettingstarted.md b/docs.openc3.com/docs/getting-started/gettingstarted.md index b381a09089..e2cabca37d 100644 --- a/docs.openc3.com/docs/getting-started/gettingstarted.md +++ b/docs.openc3.com/docs/getting-started/gettingstarted.md @@ -63,7 +63,7 @@ The cli runs as the default COSMOS container user which is the recommended pract ``` :::info Generators -There are a number of generators available. Run `openc3.bat cli generate` to see all the avilable options. +There are a number of generators available. Run `openc3.bat cli generate` to see all the available options. ::: 1. The target generator creates a single target named BOB. Best practice is to create a single target per plugin to make it easier to share targets and upgrade them individually. Lets see what the target generator created for us. Open the openc3-cosmos-bob/targets/BOB/cmd_tlm/cmd.txt: @@ -88,7 +88,7 @@ There are a number of generators available. Run `openc3.bat cli generate` to see - Then we APPEND_PARAMETER a third parameter called BOOL which is a 8-bit unsigned integer (UINT) with a minimum value of MIN (meaning the smallest value a UINT supports, e.g 0), a maximum value of MAX (largest value a UINT supports, e.g. 255), and a default value of 0. BOOL has two states which are just a fancy way of giving meaning to the integer values 0 and 1. The STATE FALSE has a value of 0 and the STATE TRUE has a value of 1. - Finally we APPEND_PARAMETER called LABEL which is a 0-bit (meaning it takes up all the remaining space in the packet) string (STRING) with a default value of "OpenC3". Strings don't have minimum or maximum values as that doesn't make sense for STRING types. - Check out the full [Command](../configuration/command.md) documention for more. + Check out the full [Command](../configuration/command.md) documentation for more. 1. Now open the openc3-cosmos-bob/targets/BOB/cmd_tlm/tlm.txt: @@ -107,7 +107,7 @@ There are a number of generators available. Run `openc3.bat cli generate` to see - We start by defininig an ID_ITEM called ID that is a 16-bit signed integer (INT) with an id value of 1 and described as "Identifier". Id items are used to take unidentified blobs of bytes and determine which packet they are. In this case if a blob comes in with a value of 1, at bit offset 0 (since we APPEND this item first), interpreted as a 16-bit integer, then this packet will be "identified" as STATUS. Note the first packet defined without any ID_ITEMS is a "catch-all" packet that matches all incoming data (even if the data lengths don't match). - Next we define three items similar to the command definition above. - Check out the full [Telemetry](../configuration/telemetry.md) documention for more. + Check out the full [Telemetry](../configuration/telemetry.md) documentation for more. 1. COSMOS has defined an example command and telemetry packet for our target. Most targets will obviously have more than one command and telemetry packet. To add more simply create additional COMMAND and TELEMETRY lines in your text files. Actual packets should match the structure of your command and telemetry. Be sure to add at least one unique [ID_PARAMETER](../configuration/command.md#id_parameter) and [ID_ITEM](../configuration/telemetry.md#id_item) so your packets can be distinguished from each other. @@ -147,7 +147,7 @@ In a plugin that you plan to reuse you should make things like hostnames and por File: openc3-cosmos-bob-1.0.0.20210618174517.gem ``` - - Note that the VERSION is required to specify the version to build. We recommend [sematic versioning](https://semver.org/) when building your plugin so people using your plugin (including you) know when there are breaking changes. + - Note that the VERSION is required to specify the version to build. We recommend [semantic versioning](https://semver.org/) when building your plugin so people using your plugin (including you) know when there are breaking changes. 1. Once our plugin is built we need to upload it to COSMOS. Go back to the Admin page and click the Plugins Tab. Click on "Click to install plugin" and select the openc3-cosmos-bob-1.0.0.20210618174517.gem file. Then click Upload. Go back to the CmdTlmServer and you should see the plugin being deployed at which point the BOB_INT interface should appear and try to connect. Go ahead and click 'Cancel' because unless you really have something listening on port 8080 this will never connect. At this point you can explore the other CmdTlmServer tabs and other tools to see your newly defined BOB target. diff --git a/docs.openc3.com/docs/getting-started/installation.md b/docs.openc3.com/docs/getting-started/installation.md index 6415f6e69c..a75168d618 100644 --- a/docs.openc3.com/docs/getting-started/installation.md +++ b/docs.openc3.com/docs/getting-started/installation.md @@ -25,7 +25,7 @@ Install [Docker](https://docs.docker.com/get-docker/) and install [Docker Compos swap=0 :::warning Important: Modify Docker Connection Timeouts -Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don't adjust the Docker settings. This may manifest as idle connections dropping or simplying failing to resume after data should have started flowing again. Find the file at C:\\Users\\username\\AppData\\Roaming\\Docker\\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value `vpnKitMaxPortIdleTime` to change the timeout (recommend setting to 0). **Note:** 0 means no timeout (idle connections not dropped) +Docker by default will break idle (no data) connections after a period of 5 minutes. This "feature" will eventually cause you problems if you don't adjust the Docker settings. This may manifest as idle connections dropping or simply failing to resume after data should have started flowing again. Find the file at C:\\Users\\username\\AppData\\Roaming\\Docker\\settings.json on Windows or ~/Library/Group Containers/group.com.docker/settings.json on MacOS. Modify the value `vpnKitMaxPortIdleTime` to change the timeout (recommend setting to 0). **Note:** 0 means no timeout (idle connections not dropped) ::: **Note:** As of December 2021 the COSMOS Docker containers are based on the Alpine Docker image. diff --git a/docs.openc3.com/docs/getting-started/key_concepts.md b/docs.openc3.com/docs/getting-started/key_concepts.md index cd00f187e2..7a144c48c2 100644 --- a/docs.openc3.com/docs/getting-started/key_concepts.md +++ b/docs.openc3.com/docs/getting-started/key_concepts.md @@ -24,7 +24,7 @@ The COSMOS Open Source containers consist of the following: | Name | Description | | ---------------------------------------- | ------------------------------------------------------------------------------------------------------ | | cosmos-openc3-cosmos-init-1 | Copies files to Minio and configures COSMOS then exits | -| cosmos-openc3-operator-1 | Main COSMOS container that runs the interfaces and target mircoservices | +| cosmos-openc3-operator-1 | Main COSMOS container that runs the interfaces and target microservices | | cosmos-openc3-cosmos-cmd-tlm-api-1 | Rails server that provides all the COSMOS API endpoints | | cosmos-openc3-cosmos-script-runner-api-1 | Rails server that provides the Script API endpoints | | cosmos-openc3-redis-1 | Serves the static target configuration | @@ -59,11 +59,11 @@ COSMOS Enterprise also provides [Terraform](https://www.terraform.io/) scripts t ### Vue.js -The COSMOS frontend is fully browser native and is implented in the Vue.js framework. Per [Vue.js](https://vuejs.org/guide/introduction.html), "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the [Vuetify](https://vuetifyjs.com/en/) Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. +The COSMOS frontend is fully browser native and is implemented in the Vue.js framework. Per [Vue.js](https://vuejs.org/guide/introduction.html), "Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be they simple or complex." COSMOS utilizes Vue.js and the [Vuetify](https://vuetifyjs.com/en/) Component Framework UI library to build all the COSMOS tools which run in the browser of your choice. ### Single-Spa -While COSMOS itself is written in Vue.js, we utilize a technology called [single-spa](https://single-spa.js.org/) to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelt, and Vue. +While COSMOS itself is written in Vue.js, we utilize a technology called [single-spa](https://single-spa.js.org/) to allow COSMOS developers to create applications in any javascript framework they choose. Single-spa is a micro frontend framework and acts as a top level router to render the application being requested. COSMOS provides sample applications ready to plug into single-spa in Angular, React, Svelte, and Vue. ### Astro UX diff --git a/docs.openc3.com/docs/getting-started/requirements.md b/docs.openc3.com/docs/getting-started/requirements.md index 40879c37a1..3ba4a67825 100644 --- a/docs.openc3.com/docs/getting-started/requirements.md +++ b/docs.openc3.com/docs/getting-started/requirements.md @@ -65,7 +65,7 @@ COSMOS 5 is a cloud native, containerized, microservice oriented command and con | COSMOS-3 | The COSMOS user interface shall be accessible from the Firefox web browser | Open COSMOS in Firefox | | COSMOS-4 | COSMOS shall log all commands sent | | | COSMOS-5 | COSMOS shall log all telemetry received | | -| COSMOS-6 | COSMOS shall decommutate all telemetry packets recieved | | +| COSMOS-6 | COSMOS shall decommutate all telemetry packets received | | | COSMOS-7 | COSMOS shall support autonomously attempting to connect to targets. | Verify targets are connected upon starting the CTS. | | COSMOS-8 | COSMOS shall time stamp telemetry packets upon receipt. | Verify logged packets are timestamped. | | COSMOS-9 | COSMOS shall time stamp telemetry packets to a resolution of 1 millisecond or better. Note: This requirement only refers to resolution. COSMOS does not run on real-time operating systems and accuracy cannot be guaranteed. | View time stamps in log. | @@ -151,12 +151,12 @@ Script Runner now also provides a structured methodology for designing system le | SR-5 | Script Runner shall highlight the currently executing line of the script. | Verify that lines are highlighted as a test script executes. | | SR-6 | Script Runner shall allow pausing an executing script. | Press pause button and verify script is paused. Press start to resume. | | SR-7 | Script Runner shall allow stopping an executing script. | Press stop and verify script stops. | -| SR-8 | Script Runner shall pause an executing script upon the occurance of an error. | Create a script with a statement that is guaranteed to fail and verify that the script is paused. | +| SR-8 | Script Runner shall pause an executing script upon the occurrence of an error. | Create a script with a statement that is guaranteed to fail and verify that the script is paused. | | SR-9 | Script Runner shall log commands sent. | Execute a script that sends a command and verify it is logged. | | SR-10 | Script Runner shall log text written to STDOUT. Note: Typically through the puts method. | Execute a script that uses puts to write a message and verify it is logged. | | SR-11 | Script Runner shall log wait times. | Execute a script that includes a wait method and verify wait time is logged. | | SR-12 | Script Runner shall log errors that occur while the script is executing. | Create a script with a check statement that is guaranteed to fail and verify it is logged. | -| SR-13 | Script Runner shall log check statement success and failure. | Create a script with a check statement that is guaranteed to fail and one that is guaranteed to succeeed. Verify both the success and failure are logged. | +| SR-13 | Script Runner shall log check statement success and failure. | Create a script with a check statement that is guaranteed to fail and one that is guaranteed to succeed. Verify both the success and failure are logged. | | SR-14 | Script Runner shall support executing selected lines. | Select a set of lines and execute them using Script->Execute Selected Lines. | | SR-15 | Script Runner shall support executing selected lines while paused. | Select a set of lines and execute them from the right-click context menu. | | SR-16 | Script Runner shall support starting a script from any line. | Place the mouse cursor at the desired first line and then select Script->Execute From Cursor. | diff --git a/docs.openc3.com/docs/guides/custom-widgets.md b/docs.openc3.com/docs/guides/custom-widgets.md index bbc1f329e1..974337a46c 100644 --- a/docs.openc3.com/docs/guides/custom-widgets.md +++ b/docs.openc3.com/docs/guides/custom-widgets.md @@ -2,7 +2,7 @@ title: Custom Widgets --- -COSMOS allows you to build custom widgets which can be deployed with your [plugin](../configuration/plugins.md) and used in [Telemetry Viewer](../tools/tlm-viewer.md). Building custom widgets can utilitize any javascript frameworks but since COSMOS is written with Vue.js, we will use that framework in this tutorial. Please see the [Widget Generator](../getting-started/generators#widget-generator) guide for information about generating the scaffolding for a custom widget. +COSMOS allows you to build custom widgets which can be deployed with your [plugin](../configuration/plugins.md) and used in [Telemetry Viewer](../tools/tlm-viewer.md). Building custom widgets can utilize any javascript frameworks but since COSMOS is written with Vue.js, we will use that framework in this tutorial. Please see the [Widget Generator](../getting-started/generators#widget-generator) guide for information about generating the scaffolding for a custom widget. ## Custom Widgets diff --git a/docs.openc3.com/docs/guides/script-writing.md b/docs.openc3.com/docs/guides/script-writing.md index b5d51834f7..65f217cfc1 100644 --- a/docs.openc3.com/docs/guides/script-writing.md +++ b/docs.openc3.com/docs/guides/script-writing.md @@ -213,7 +213,7 @@ def test_minimum_temp(enable_cmd_name, enable_tlm, temp_tlm, expected_temp): Use comments when what you are doing is unclear or there is a higher-level purpose to a set of lines. Try to avoid putting numbers or other details in a comment as they can become out of sync with the underlying code. Ruby and Python comments start with a # pound symbol and can be anywhere on a line. ```ruby -# This line sends an abort command - BAD COMMENT, UNNECCESSARY +# This line sends an abort command - BAD COMMENT, UNNECESSARY cmd("INST ABORT") # Rotate the gimbal to look at the calibration target - GOOD COMMENT cmd("INST ROTATE with ANGLE 180.0") # Rotate 180 degrees - BAD COMMENT @@ -317,7 +317,7 @@ def script_1_heater_zone_control(): ### Using Classes vs Unscoped Methods -Classes in object-oriented programing allow you to organize a set of related methods and some associated state. The most important aspect is that the methods work on some shared state. For example, if you have code that moves a gimbal around, and need to keep track of the number of moves, or steps, performed across methods, then that is a wonderful place to use a class. If you just need a helper method to do something that happens multiple times in a script without copy and pasting, it probably does not need to be in a class. +Classes in object-oriented programming allow you to organize a set of related methods and some associated state. The most important aspect is that the methods work on some shared state. For example, if you have code that moves a gimbal around, and need to keep track of the number of moves, or steps, performed across methods, then that is a wonderful place to use a class. If you just need a helper method to do something that happens multiple times in a script without copy and pasting, it probably does not need to be in a class. NOTE: The convention in COSMOS is to have a TARGET/lib/target.\[rb/py\] file which is named after the TARGET name and contains a class called Target. This discussion refers to scripts in the TARGET/procedures directory. @@ -533,7 +533,7 @@ else: When running suites, there is a checkbox at the top of the tool called “Manual” that affects this $manual variable directly. -### Outputing Extra Information to a Report +### Outputting Extra Information to a Report COSMOS Script Runner operating on a script suite automatically generates a report that shows the PASS/FAILED/SKIPPED state for each script. You can also inject arbitrary text into this report using the example as follows. Alternatively, you can simply use print text into the Script Runner message log. @@ -588,7 +588,7 @@ id, packets = get_packets(id) packets.each do |packet| puts "#{packet['PACKET_TIMESECONDS']}: #{packet['target_name']} #{packet['packet_name']}" end -# Wait for some time later and re-use the last returned ID +# Wait for some time later and reuse the last returned ID id, packets = get_packets(id) ``` @@ -600,7 +600,7 @@ wait(1.5) id, packets = get_packets(id) for packet in packets: print(f"{packet['PACKET_TIMESECONDS']}: {packet['target_name']} {packet['packet_name']}") -# Wait for some time later and re-use the last returned ID +# Wait for some time later and reuse the last returned ID id, packets = get_packets(id) ``` diff --git a/docs.openc3.com/docs/guides/scripting-api.md b/docs.openc3.com/docs/guides/scripting-api.md index aea55db14e..e7e3ab9fb3 100644 --- a/docs.openc3.com/docs/guides/scripting-api.md +++ b/docs.openc3.com/docs/guides/scripting-api.md @@ -166,7 +166,7 @@ password = ask("Enter your password", False, True) ### ask_string -Prompts the user for input with a question. User input is always returned as a string. For exampe if the user enters "1", the string "1" will be returned. +Prompts the user for input with a question. User input is always returned as a string. For example if the user enters "1", the string "1" will be returned. Ruby / Python Syntax: @@ -560,7 +560,7 @@ cmd_no_hazardous_check("INST", "CLEAR") ### cmd_no_checks -Sends a specified command without performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentially have invalid parameters. +Sends a specified command without performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: @@ -717,7 +717,7 @@ cmd_raw_no_hazardous_check("INST", "CLEAR") ### cmd_raw_no_checks -Sends a specified command without running conversions or performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentially have invalid parameters. +Sends a specified command without running conversions or performing the parameter range checks or notification if it is a hazardous command. This should only be used when it is necessary to fully automate testing involving hazardous commands that intentionally have invalid parameters. Ruby Syntax: @@ -1114,7 +1114,7 @@ These methods allow the user to interact with telemetry items. ### check, check_raw, check_formatted, check_with_units -Performs a verification of a telemetry item using its specified telemetry type. If the verification fails then the script will be paused with an error. If no comparision is given to check then the telemetry item is simply printed to the script output. Note: In most cases using wait_check is a better choice than using check. +Performs a verification of a telemetry item using its specified telemetry type. If the verification fails then the script will be paused with an error. If no comparison is given to check then the telemetry item is simply printed to the script output. Note: In most cases using wait_check is a better choice than using check. Ruby / Python Syntax: @@ -1631,7 +1631,7 @@ normalize_tlm("INST HEALTH_STATUS TEMP1", type='RAW') # clear only the RAW overr ### get_overrides -Returns an array of the the currently overriden values set by override_tlm. NOTE: This returns all the value types that are overriden which by default is all 4 values types when using override_tlm. +Returns an array of the the currently overridden values set by override_tlm. NOTE: This returns all the value types that are overridden which by default is all 4 values types when using override_tlm. Ruby / Python Syntax: @@ -2281,7 +2281,7 @@ set_limits(, , , , , < | Red High | Red High setting for this limits set. Any value above this value will be make the item red. | | Green Low | Optional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. | | Green High | Optional. If given, any value greater than Green Low and less than Green_High will make the item blue indicating a good operational value. | -| Limits Set | Optional. Set the limits for a specific limits set. If not given then it defaults to setting limts for the CUSTOM limits set. | +| Limits Set | Optional. Set the limits for a specific limits set. If not given then it defaults to setting limits for the CUSTOM limits set. | | Persistence | Optional. Set the number of samples this item must be out of limits before changing limits state. Defaults to no change. Note: This affects all limits settings across limits sets. | | Enabled | Optional. Whether or not limits are enabled for this item. Defaults to true. Note: This affects all limits settings across limits sets. | @@ -3323,7 +3323,7 @@ print(get_max_output()) #=> 50000 ### disable_instrumentation Disables instrumentation for a block of code (line highlighting and exception catching). This is especially useful for speeding up loops that are very slow if lines are instrumented. -Consider breaking code like this into a seperate file and using either require/load to read the file for the same effect while still allowing errors to be caught by your script. +Consider breaking code like this into a separate file and using either require/load to read the file for the same effect while still allowing errors to be caught by your script. :::warning Use with Caution Disabling instrumentation will cause any error that occurs while disabled to cause your script to completely stop. @@ -3531,11 +3531,11 @@ Ruby / Python Syntax: metadata_set(, start, color) ``` -| Parameter | Description | -| --------- | ------------------------------------------------------------------------------ | -| Metadata | Hash or dict of key value pairs to store as metadata. | -| start | Named parameter, time at which to store metadata. Default is now. | -| color | Named parameter, color to display metadat in the calendar. Default is #003784. | +| Parameter | Description | +| --------- | ------------------------------------------------------------------------------- | +| Metadata | Hash or dict of key value pairs to store as metadata. | +| start | Named parameter, time at which to store metadata. Default is now. | +| color | Named parameter, color to display metadata in the calendar. Default is #003784. | Ruby Example: @@ -3561,11 +3561,11 @@ Ruby / Python Syntax: metadata_update(, start, color) ``` -| Parameter | Description | -| --------- | ------------------------------------------------------------------------------ | -| Metadata | Hash or dict of key value pairs to update as metadata. | -| start | Named parameter, time at which to update metadata. Default is latest metadata. | -| color | Named parameter, color to display metadat in the calendar. Default is #003784. | +| Parameter | Description | +| --------- | ------------------------------------------------------------------------------- | +| Metadata | Hash or dict of key value pairs to update as metadata. | +| start | Named parameter, time at which to update metadata. Default is latest metadata. | +| color | Named parameter, color to display metadata in the calendar. Default is #003784. | Ruby Example: @@ -3697,7 +3697,7 @@ print(get_settings('pypi_url')) #=> 'https://mypypiserver' ## Configuration -Many COSMOS tools have the ability to load and save a configuration. These APIs allow you to programatically load and save the configuration. +Many COSMOS tools have the ability to load and save a configuration. These APIs allow you to programmatically load and save the configuration. ### config_tool_names diff --git a/docs.openc3.com/docs/tools/autonomic.md b/docs.openc3.com/docs/tools/autonomic.md index ee0d1c7667..62f73aff83 100644 --- a/docs.openc3.com/docs/tools/autonomic.md +++ b/docs.openc3.com/docs/tools/autonomic.md @@ -14,7 +14,7 @@ Autonomic operates with some basic building blocks: Trigger Groups, Triggers, an ### TriggerGroups -Triggers are organized into groups, these groups are both for organization and to ensure that we can scale. It also allows triggers to be evaluated independently and simulataneously and can be useful for overlapping or high priority triggers. However, each trigger group spawns system resources so they should only be created as needed. +Triggers are organized into groups, these groups are both for organization and to ensure that we can scale. It also allows triggers to be evaluated independently and simultaneously and can be useful for overlapping or high priority triggers. However, each trigger group spawns system resources so they should only be created as needed. ![TriggerGroups](/img/autonomic/trigger_groups.png) diff --git a/docs.openc3.com/docs/tools/calendar.md b/docs.openc3.com/docs/tools/calendar.md index 8e408fcb5c..627e047ba7 100644 --- a/docs.openc3.com/docs/tools/calendar.md +++ b/docs.openc3.com/docs/tools/calendar.md @@ -10,7 +10,7 @@ Calendar visualizes metadata, notes, and timeline information in one easy to und ### Adding Timelines -Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activies can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary. +Adding a Timeline to COSMOS is as simple as clicking Create -> Timeline and giving it a unique name. Timelines can be created for organizational purposes or for overlapping activities as no activities can overlap on a given timeline. However, each additional timeline consists of several threads so only create timelines as necessary. ## Types of Events @@ -46,7 +46,7 @@ Activities can run single commands, run a script, or simply "Reserve" space on t ![CreateActivity2](/img/calendar/create_activity2.png) -When calendar activities are scheduled they appear with a green circle containing a plus (+). Once they complete successfully the icon changes to a green circle containing a checkbox (✓). Reserve activites simply have a blank green circle. +When calendar activities are scheduled they appear with a green circle containing a plus (+). Once they complete successfully the icon changes to a green circle containing a checkbox (✓). Reserve activities simply have a blank green circle. ![Calendar](/img/calendar/calendar.png) @@ -56,9 +56,9 @@ Calendar events can also be viewed in a list format via File->Show Table Display ## Timeline Implementation Details -When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manger thread contains a thread pool that hosts more than one thread to run the activity. The scheduler manger will evaluate the schedule and based on the start time of the activity it will add the activity to the queue. +When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manager thread contains a thread pool that hosts more than one thread to run the activity. The scheduler manager will evaluate the schedule and based on the start time of the activity it will add the activity to the queue. -The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", ect... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync. +The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", etc... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync. The schedule thread checks every second to make sure if a task can be run. If the start time is equal or less then the last 15 seconds it will then check the previously queued jobs list in the schedule. If the activity has not been queued and is not fulfilled the activity will be queued, this adds an event to the activity but is not saved to the database. diff --git a/docs.openc3.com/docs/tools/cmd-tlm-server.md b/docs.openc3.com/docs/tools/cmd-tlm-server.md index dee5f2f1d1..766353c925 100644 --- a/docs.openc3.com/docs/tools/cmd-tlm-server.md +++ b/docs.openc3.com/docs/tools/cmd-tlm-server.md @@ -4,7 +4,7 @@ title: Command and Telemetry Server ## Introduction -The Command and Telemetry Server application provides status about the [interfaces](../configuration/interfaces.md) and targets instantiated in your COSMOS installation. Intefaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view +The Command and Telemetry Server application provides status about the [interfaces](../configuration/interfaces.md) and targets instantiated in your COSMOS installation. Interfaces can be connected or disconnected and raw byte counts are returned. The application also provides quick shortcuts to view both raw and formatted command and telemetry packets as they go through the COSMOS system. At the bottom of the Command and Telemetry Server is the Log Messages showing server messages. ![Cmd Tlm Server](/img/cmd_tlm_server/cmd_tlm_server.png) diff --git a/docs.openc3.com/docs/tools/limits-monitor.md b/docs.openc3.com/docs/tools/limits-monitor.md index 4f6c0c02fb..9fac0b0629 100644 --- a/docs.openc3.com/docs/tools/limits-monitor.md +++ b/docs.openc3.com/docs/tools/limits-monitor.md @@ -4,7 +4,7 @@ title: Limits Monitor ## Introduction -The Limits Monitor application provides situational awareness for all telemetry items with limits. All limits items which violate their yellow or red limits are shown and continue to be shown until explicity dismissed. Individual items and entire packets can be manually ignored to filter out known issues. In addition, all limits events are logged in a table which can be searched. +The Limits Monitor application provides situational awareness for all telemetry items with limits. All limits items which violate their yellow or red limits are shown and continue to be shown until explicitly dismissed. Individual items and entire packets can be manually ignored to filter out known issues. In addition, all limits events are logged in a table which can be searched. ![Cmd Tlm Server](/img/limits_monitor/limits_monitor.png) diff --git a/docs.openc3.com/docs/tools/script-runner.md b/docs.openc3.com/docs/tools/script-runner.md index c8046d14f1..cd90b65c24 100644 --- a/docs.openc3.com/docs/tools/script-runner.md +++ b/docs.openc3.com/docs/tools/script-runner.md @@ -50,14 +50,14 @@ style={{"float": 'left', "margin-right": 50 + 'px', "height": 330 + 'px'}} /> - Display started and finished scripts - Show environment variables - Show defined metadata -- Show overriden telemetry values +- Show overridden telemetry values - Perform a syntax check - Perform a script mnemonic check - View the instrumented script - Shows the script call stack - Display the [debug](script-runner.md#debugging-scripts) prompt - Disconnect from real interfaces -- Delete all sccript breakpoints +- Delete all script breakpoints The Execution Status popup lists the currently running scripts. This allows other users to connect to running scripts and follow along with the currently executing script. It also lists previously executed scripts so you can download the script log. diff --git a/docs.openc3.com/docs/tools/tlm-viewer.md b/docs.openc3.com/docs/tools/tlm-viewer.md index d04ac8d864..c97d1753eb 100644 --- a/docs.openc3.com/docs/tools/tlm-viewer.md +++ b/docs.openc3.com/docs/tools/tlm-viewer.md @@ -4,7 +4,7 @@ title: Telemetry Viewer ## Introduction -Telemetry Viewer is a live telemetry viewer which displays custom built screens. Screens are configured through simple text files which utilize numerous build-in widgets. +Telemetry Viewer is a live telemetry viewer which displays custom built screens. Screens are configured through simple text files which utilize numerous built-in widgets. ![Telemetry Viewer](/img/telemetry_viewer/telemetry_viewer.png) diff --git a/openc3-cosmos-cmd-tlm-api/app/controllers/application_controller.rb b/openc3-cosmos-cmd-tlm-api/app/controllers/application_controller.rb index 0b9a387590..f3f81c9a1c 100644 --- a/openc3-cosmos-cmd-tlm-api/app/controllers/application_controller.rb +++ b/openc3-cosmos-cmd-tlm-api/app/controllers/application_controller.rb @@ -37,7 +37,7 @@ def username() return username end - # Authorize and rescue the possible execeptions + # Authorize and rescue the possible exceptions # @return [Boolean] true if authorize successful def authorization(permission, target_name: nil) begin diff --git a/openc3-cosmos-cmd-tlm-api/app/controllers/internal_metrics_controller.rb b/openc3-cosmos-cmd-tlm-api/app/controllers/internal_metrics_controller.rb index daab27760d..e77d3cc216 100644 --- a/openc3-cosmos-cmd-tlm-api/app/controllers/internal_metrics_controller.rb +++ b/openc3-cosmos-cmd-tlm-api/app/controllers/internal_metrics_controller.rb @@ -25,10 +25,10 @@ # This Controller is designed to output metrics from the openc3/utilities/metric.rb # Find all scopes currently active in the openc3 system, we use the openc3/models/scope_model -# then seach redis for the #{scope}__openc3__metrics key. This key uses subkeys that are the name +# then search redis for the #{scope}__openc3__metrics key. This key uses subkeys that are the name # the metrics. The value of the metric is a list of prometheus labels these are hashes with key # value pairs. The value for the metric is contained in this hash in the metric__value key. These -# hashes are converted into a string with key="value" and wraped in {} to make up the labels. +# hashes are converted into a string with key="value" and wrapped in {} to make up the labels. # examples: # TYPE foobar histogram", # HELP foobar internal metric generated from openc3/utilities/metric.rb." @@ -55,7 +55,7 @@ def index render plain: "failed to access datastore", :status => 500 end OpenC3::Logger.debug("metrics search for scope: #{scope}, returned: #{scope_resp}") - scope_resp.each do |key, label_json| + scope_resp.each do |_key, label_json| name = label_json.delete("metric_name") if not data_hash.has_key?(name) data_hash[name] = [ diff --git a/openc3-cosmos-cmd-tlm-api/app/models/messages_thread.rb b/openc3-cosmos-cmd-tlm-api/app/models/messages_thread.rb index f955be5dfe..37ec932f56 100644 --- a/openc3-cosmos-cmd-tlm-api/app/models/messages_thread.rb +++ b/openc3-cosmos-cmd-tlm-api/app/models/messages_thread.rb @@ -40,7 +40,7 @@ def initialize( @types = [@types] unless Array === @types end @level = level - @redis_offset = nil # Redis offset to transistion from files + @redis_offset = nil # Redis offset to transition from files @scope = scope @thread_mode = :SETUP @topics = ["#{scope}__openc3_log_messages"] @@ -150,7 +150,7 @@ def file_thread_body def redis_thread_body results = [] - OpenC3::Topic.read_topics(@topics, @offsets) do |topic, msg_id, msg_hash, redis| + OpenC3::Topic.read_topics(@topics, @offsets) do |topic, msg_id, msg_hash, _redis| @offsets[@offset_index_by_topic[topic]] = msg_id msg_hash[:msg_id] = msg_id result_entry = handle_log_entry(msg_hash) @@ -180,7 +180,7 @@ def handle_log_entry(log_entry) # Grab next Redis offset type = log_entry["type"] if type == "offset" - # Save Redis offset for transistion + # Save Redis offset for transition @redis_offset = log_entry["last_offset"] return nil end diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/src/index-allow-http.ejs b/openc3-cosmos-init/plugins/openc3-tool-base/src/index-allow-http.ejs index 61ddf67d95..bcf7a5fa61 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/src/index-allow-http.ejs +++ b/openc3-cosmos-init/plugins/openc3-tool-base/src/index-allow-http.ejs @@ -1,40 +1,41 @@ - + + + + + + OpenC3 - - - - - OpenC3 + + + + + + + + - - - - - - - - - - - - - + - - - - + + + + - - - - - - - - - - - - + + + + + + + + + - - - - - - - -
- - - + + + + + + +
+ + + diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/src/index.ejs b/openc3-cosmos-init/plugins/openc3-tool-base/src/index.ejs index 2c884bac2d..bf6a5860d2 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/src/index.ejs +++ b/openc3-cosmos-init/plugins/openc3-tool-base/src/index.ejs @@ -1,40 +1,41 @@ - + + + + + + OpenC3 - - - - - OpenC3 + + + + + + + + - - - - - - - - - - - - - + - - - - + + + + - - - - - - - - - - - - + + + + + + + + + - - - - - - - -
- - - + + + + + + +
+ + + diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-accessor-test/targets/ACCESS/cmd_tlm/access_cmds.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-accessor-test/targets/ACCESS/cmd_tlm/access_cmds.txt index 8acfac569b..6174b10136 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-accessor-test/targets/ACCESS/cmd_tlm/access_cmds.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-accessor-test/targets/ACCESS/cmd_tlm/access_cmds.txt @@ -5,7 +5,7 @@ COMMAND <%= target_name %> JSONCMD BIG_ENDIAN "JSON Accessor Command" KEY $.id_item APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY $.item1 - UNITS CELCIUS C + UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" @@ -23,7 +23,7 @@ COMMAND <%= target_name %> CBORCMD BIG_ENDIAN "CBOR Accessor Command" KEY $.id_item APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY $.item1 - UNITS CELCIUS C + UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" @@ -41,7 +41,7 @@ COMMAND <%= target_name %> XMLCMD BIG_ENDIAN "XML Accessor Command" KEY "/html/head/script/@src" APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY "/html/head/noscript/text()" - UNITS CELCIUS C + UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY "/html/body/img/@src" FORMAT_STRING "0x%X" @@ -57,7 +57,7 @@ COMMAND <%= target_name %> HTMLCMD BIG_ENDIAN "HTML Accessor Command" KEY "/html/head/title/text()" APPEND_PARAMETER ITEM1 16 UINT MIN MAX 101 "Int Item 2" KEY "/html/head/script/@src" - UNITS CELCIUS C + UNITS CELSIUS C APPEND_PARAMETER ITEM2 16 UINT MIN MAX 12 "Int Item 3" KEY "/html/body/noscript/text()" FORMAT_STRING "0x%X" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-accessor-test/targets/ACCESS/cmd_tlm/access_tlm.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-accessor-test/targets/ACCESS/cmd_tlm/access_tlm.txt index b455657a7c..43ecf4ba1c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-accessor-test/targets/ACCESS/cmd_tlm/access_tlm.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-accessor-test/targets/ACCESS/cmd_tlm/access_tlm.txt @@ -9,7 +9,7 @@ TELEMETRY <%= target_name %> JSONTLM BIG_ENDIAN "JSON Accessor Telemetry" GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END - UNITS CELCIUS C + UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" @@ -31,7 +31,7 @@ TELEMETRY <%= target_name %> CBORTLM BIG_ENDIAN "CBOR Accessor Telemetry" GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END - UNITS CELCIUS C + UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY $.more.item2 FORMAT_STRING "0x%X" @@ -53,7 +53,7 @@ TELEMETRY <%= target_name %> XMLTLM BIG_ENDIAN "XML Accessor Telemetry" GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END - UNITS CELCIUS C + UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY "/html/body/img/@src" FORMAT_STRING "0x%X" @@ -73,7 +73,7 @@ TELEMETRY <%= target_name %> HTMLTLM BIG_ENDIAN "HTML Accessor Telemetry" GENERIC_READ_CONVERSION_START UINT 16 value * 2 GENERIC_READ_CONVERSION_END - UNITS CELCIUS C + UNITS CELSIUS C APPEND_ITEM ITEM2 16 UINT "Int Item 3" KEY "/html/body/noscript/text()" FORMAT_STRING "0x%X" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/README.md b/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/README.md index 610f010bf8..8983270f39 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/README.md +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/README.md @@ -7,9 +7,11 @@ This is a wrapper for [Ace Editor](http://ace.c9.io/) to provide a 2-panel diffi It's built on top of [google-diff-match-patch](https://code.google.com/p/google-diff-match-patch/) library. That lib handles the hard part: the computation of the document diffs. Ace-diff just visualizes that information as line-diffs in the editors. ## Dependencies + - Ace Editor: this could the [official Ace builds](https://github.com/ajaxorg/ace-builds), [Brace](https://github.com/thlorenz/brace) and any other similar Ace editor build (like the ones from public CDNs) ## Demos + Take a look at [demos on Ace-diff page](https://ace-diff.github.io/ace-diff/). The demos illustrate a few different configurations and styles. Hopefully they'll give you a rough sense of what it does and how it works. ## Features @@ -31,28 +33,35 @@ yarn add ace-diff ``` ```js -import AceDiff from 'ace-diff'; +import AceDiff from 'ace-diff' // optionally, include CSS, or use your own -import 'ace-diff/dist/ace-diff.min.css'; +import 'ace-diff/dist/ace-diff.min.css' // Or use the dark mode -import 'ace-diff/dist/ace-diff-dark.min.css'; +import 'ace-diff/dist/ace-diff-dark.min.css' ``` ### Use CDN + Grab ace-diff from CDN: ```html - + - + - + ``` ### HTML @@ -62,6 +71,7 @@ Grab ace-diff from CDN: ``` ### JavaScript + Here's an example of how you'd instantiate AceDiff. ```js @@ -74,14 +84,14 @@ const differ = new AceDiff({ right: { content: 'your second file content here', }, -}); +}) ``` When using with Brace or any build system like Webpack, you can pass the editor as an option: ```js // If you are using Brace editor, you can pass it as well -const ace = require('brace'); +const ace = require('brace') const differ = new AceDiff({ ace, // using Brace @@ -92,7 +102,7 @@ const differ = new AceDiff({ right: { content: 'your second file content here', }, -}); +}) ``` ### CSS @@ -105,12 +115,10 @@ If you want the ace editor's to change height/width based on a user's browser, I Take a look at the [demos](https://ace-diff.github.io/ace-diff/) for some ideas. They all use flexbox for the layouts, but include some different styles and class names just so you can see. - ## Configuration You can configure your Ace-diff instance through a number of config settings. This object is what you pass to the constructor, like the **JavaScript** section above. - ### Default settings Here are all the defaults. I'll explain each one in details below. Note: you only need to override whatever you want. @@ -148,12 +156,11 @@ Here are all the defaults. I'll explain each one in details below. Note: you onl } ``` - ### Diffing settings - `ace` (object, optional, default: `window.ace`). The Ace Editor instance to use. - `element` (string or element object, required). The element used for Ace-diff -- `mode` (string, optional). this is the mode for the Ace Editor, e.g. `"ace/mode/javascript"`. Check out the Ace docs for that. This setting will be applied to both editors. I figured 99.999999% of the time you're going to want the same mode for both of them so you can just set it once here. If you're a mad genius and want to have different modes for each side, (a) *whoah man, what's your use-case?*, and (b) you can override this setting in one of the settings below. Read on. +- `mode` (string, optional). this is the mode for the Ace Editor, e.g. `"ace/mode/javascript"`. Check out the Ace docs for that. This setting will be applied to both editors. I figured 99.999999% of the time you're going to want the same mode for both of them so you can just set it once here. If you're a mad genius and want to have different modes for each side, (a) _whoah man, what's your use-case?_, and (b) you can override this setting in one of the settings below. Read on. - `theme` (string, optional). This lets you set the theme for both editors. - `diffGranularity` (string, optional, default: `broad`). this has two options (`specific`, and `broad`). Basically this determines how aggressively AceDiff combines diffs to simplify the interface. I found that often it's a judgement call as to whether multiple diffs on one side should be grouped. This setting provides a little control over it. - `showDiffs` (boolean, optional, default: `true`). Whether or not the diffs are enabled. This basically turns everything off. @@ -166,14 +173,13 @@ Here are all the defaults. I'll explain each one in details below. Note: you onl - `left.editable / right.editable` (boolean, optional, default: `true`). Whether the left editor is editable or not. - `left.copyLinkEnabled / right.copyLinkEnabled` (boolean, optional, default: `true`). Whether the copy to right/left arrows should appear. - ### Classes + - `diff`: the class for a diff line on either editor - `connector`: the SVG connector - `newCodeConnectorLinkContent`: the content of the copy to right link. Defaults to a unicode right arrow ('→') - `deletedCodeConnectorLinkContent`: the content of the copy to left link. Defaults to a unicode right arrow ('←') - ## API There are a few API methods available on your AceDiff instance. @@ -184,10 +190,10 @@ There are a few API methods available on your AceDiff instance. - `aceInstance.diff()`: updates the diff. This shouldn't ever be required because AceDiff automatically recognizes the key events like changes to the editor and window resizing. But I've included it because there may always be that fringe case... - `aceInstance.destroy()`: destroys the AceDiff instance. Basically this just destroys both editors and cleans out the gutter. - ## Browser Support -All modern browsers. Open a ticket if you find otherwise. +All modern browsers. Open a ticket if you find otherwise. ## License + MIT. diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/src/styles/ace-diff-base.scss b/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/src/styles/ace-diff-base.scss index 756eee456a..51d545c0d5 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/src/styles/ace-diff-base.scss +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/src/styles/ace-diff-base.scss @@ -2,7 +2,7 @@ // .acediff class itself got no styles // We have to provide some dimensions for the ACE editor - // This will expand to whathever space is available + // This will expand to whatever space is available &__wrap { display: flex; flex-direction: row; diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/commanding.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/commanding.txt index 5f219d0d47..598ec848c1 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/commanding.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/commanding.txt @@ -18,7 +18,7 @@ VERTICAL LABEL " Duration: " NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" END - # This is an example of using a varible named 'type'. You can operate on variables with Javascript code. + # This is an example of using a variable named 'type'. You can operate on variables with Javascript code. # All OpenC3 commands (api.cmd) must be separated by double semicolons ';;'. All code separated by semicolons is evaluated together. # Note: you can also request and use telemetry in screens using Javascript Promises, e.g. # api.tlm('INST PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST COLLECT with TYPE '+type+', DURATION '+dur))" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/ground.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/ground.txt index 06d44f1f9b..5633b41975 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/ground.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/screens/ground.txt @@ -20,7 +20,7 @@ VERTICAL CANVASIMAGE "satellite.png" 90 130 200 200 # If the image is clicked the "<%= target_name %> ADCS" screen will popup SETTING SCREEN <%= target_name %> ADCS - # We're using the converted value and specifing a default of "ground_error.png" + # We're using the converted value and specifying a default of "ground_error.png" # if none of the IMAGE settings match the value CANVASIMAGEVALUE <%= target_name %> HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 400 100 180 180 SETTING IMAGE CONNECTED "ground_on.png" 400 100 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/tables/config/TLMMonitoringTable_def.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/tables/config/TLMMonitoringTable_def.txt index 4007892266..6ec72d9d81 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/tables/config/TLMMonitoringTable_def.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST/tables/config/TLMMonitoringTable_def.txt @@ -1,12 +1,12 @@ TABLE "TLM_Monitoring" BIG_ENDIAN ROW_COLUMN 100 "Telemetry Monitoring Table" - APPEND_PARAMETER "Threshold" 32 UINT MIN MAX 0 "Telemetry item threshold at which point persistance is incremented" + APPEND_PARAMETER "Threshold" 32 UINT MIN MAX 0 "Telemetry item threshold at which point persistence is incremented" APPEND_PARAMETER "Offset" 32 UINT MIN MAX 0 "Offset into the telemetry packet to monitor" APPEND_PARAMETER "Data_Size" 32 UINT 0 3 0 "Amount of data to monitor (bytes)" STATE BITS 0 STATE BYTE 1 STATE WORD 2 STATE LONGWORD 3 - APPEND_PARAMETER "Bit_Mask" 32 UINT MIN MAX 0 "Bit Mask to apply to the Data Size before the value is compared ot the Threshold" + APPEND_PARAMETER "Bit_Mask" 32 UINT MIN MAX 0 "Bit Mask to apply to the Data Size before the value is compared to the Threshold" APPEND_PARAMETER "Persistence" 32 UINT MIN MAX 0 "Number of times the Threshold must be exceeded before Action is triggered" APPEND_PARAMETER "Type" 32 UINT 0 3 0 "How the Threshold is compared against" STATE LESS_THAN 0 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/screens/commanding.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/screens/commanding.txt index e2a68a227a..49f39ab88d 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/screens/commanding.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/screens/commanding.txt @@ -18,7 +18,7 @@ VERTICAL LABEL " Duration: " NAMED_WIDGET DURATION TEXTFIELD 12 "10.0" END - # This is an example of using a varible named 'type'. You can operate on variables with Javascript code. + # This is an example of using a variable named 'type'. You can operate on variables with Javascript code. # All OpenC3 commands (api.cmd) must be separated by double semicolons ';;'. All code separated by semicolons is evaluated together. # Note: you can also request and use telemetry in screens using Javascript Promises, e.g. # api.tlm('INST2 PARAMS VALUE3', 'RAW').then(dur => api.cmd('INST2 COLLECT with TYPE '+type+', DURATION '+dur))" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/screens/ground.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/screens/ground.txt index 06d44f1f9b..5633b41975 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/screens/ground.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/screens/ground.txt @@ -20,7 +20,7 @@ VERTICAL CANVASIMAGE "satellite.png" 90 130 200 200 # If the image is clicked the "<%= target_name %> ADCS" screen will popup SETTING SCREEN <%= target_name %> ADCS - # We're using the converted value and specifing a default of "ground_error.png" + # We're using the converted value and specifying a default of "ground_error.png" # if none of the IMAGE settings match the value CANVASIMAGEVALUE <%= target_name %> HEALTH_STATUS GROUND1STATUS CONVERTED "ground_error.png" 400 100 180 180 SETTING IMAGE CONNECTED "ground_on.png" 400 100 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/tables/config/TLMMonitoringTable_def.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/tables/config/TLMMonitoringTable_def.txt index 4007892266..6ec72d9d81 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/tables/config/TLMMonitoringTable_def.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/targets/INST2/tables/config/TLMMonitoringTable_def.txt @@ -1,12 +1,12 @@ TABLE "TLM_Monitoring" BIG_ENDIAN ROW_COLUMN 100 "Telemetry Monitoring Table" - APPEND_PARAMETER "Threshold" 32 UINT MIN MAX 0 "Telemetry item threshold at which point persistance is incremented" + APPEND_PARAMETER "Threshold" 32 UINT MIN MAX 0 "Telemetry item threshold at which point persistence is incremented" APPEND_PARAMETER "Offset" 32 UINT MIN MAX 0 "Offset into the telemetry packet to monitor" APPEND_PARAMETER "Data_Size" 32 UINT 0 3 0 "Amount of data to monitor (bytes)" STATE BITS 0 STATE BYTE 1 STATE WORD 2 STATE LONGWORD 3 - APPEND_PARAMETER "Bit_Mask" 32 UINT MIN MAX 0 "Bit Mask to apply to the Data Size before the value is compared ot the Threshold" + APPEND_PARAMETER "Bit_Mask" 32 UINT MIN MAX 0 "Bit Mask to apply to the Data Size before the value is compared to the Threshold" APPEND_PARAMETER "Persistence" 32 UINT MIN MAX 0 "Number of times the Threshold must be exceeded before Action is triggered" APPEND_PARAMETER "Type" 32 UINT 0 3 0 "How the Threshold is compared against" STATE LESS_THAN 0 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/tools/ScriptRunner/Dialogs/AskDialog.vue b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/tools/ScriptRunner/Dialogs/AskDialog.vue index 99cd08ed0b..297714fe38 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/tools/ScriptRunner/Dialogs/AskDialog.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/tools/ScriptRunner/Dialogs/AskDialog.vue @@ -126,9 +126,9 @@ export default { } - + diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/tools/ScriptRunner/SuiteRunner.vue b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/tools/ScriptRunner/SuiteRunner.vue index 9c4301cf60..06301f9fa7 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/tools/ScriptRunner/SuiteRunner.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/tools/ScriptRunner/SuiteRunner.vue @@ -154,7 +154,7 @@ Checked continuously executes until explictly stopped
+ >Checked continuously executes until explicitly stopped
Unchecked executes only the started script(s)
diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/src/tools/TableManager/TableManager.vue b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/src/tools/TableManager/TableManager.vue index 1f006bd61f..a065350a5b 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/src/tools/TableManager/TableManager.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/src/tools/TableManager/TableManager.vue @@ -385,7 +385,7 @@ export default { }, }, watch: { - // Everytime the filename changes we figure out if there is an associated upload & download script + // Every time the filename changes we figure out if there is an associated upload & download script filename: function (val) { let upload = this.filename.split('/').slice(0, 2).join('/') + '/procedures/upload' @@ -395,7 +395,7 @@ export default { Api.get(`/openc3-api/tables/${upload}.rb`, { headers: { Accept: 'application/json', - // Since we're just checking for existance, 404 is possible so ignore it + // Since we're just checking for existence, 404 is possible so ignore it 'Ignore-Errors': '404', }, }) @@ -407,7 +407,7 @@ export default { Api.get(`/openc3-api/tables/${upload}.py`, { headers: { Accept: 'application/json', - // Since we're just checking for existance, 404 is possible so ignore it + // Since we're just checking for existence, 404 is possible so ignore it 'Ignore-Errors': '404', }, }) @@ -422,7 +422,7 @@ export default { Api.get(`/openc3-api/tables/${download}.rb`, { headers: { Accept: 'application/json', - // Since we're just checking for existance, 404 is possible so ignore it + // Since we're just checking for existence, 404 is possible so ignore it 'Ignore-Errors': '404', }, }) @@ -434,7 +434,7 @@ export default { Api.get(`/openc3-api/tables/${download}.py`, { headers: { Accept: 'application/json', - // Since we're just checking for existance, 404 is possible so ignore it + // Since we're just checking for existence, 404 is possible so ignore it 'Ignore-Errors': '404', }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/DetailsDialog.vue b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/DetailsDialog.vue index 59baa8f62b..3a72626e65 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/DetailsDialog.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/DetailsDialog.vue @@ -268,11 +268,11 @@ export default { } if (rawString !== null) { // Slice the number of bytes in case they added UNITS - // Othewise we would render the units, + // Otherwise we would render the units, // e.g. UNITS of 'B' becomes 20 42 (space, B) rawString = rawString.slice( 0, - parseInt(this.details.bit_size) / 8, + parseInt(this.details.bit_size) / 8 ) // Only display the first 64 bytes at which point ... let ellipse = false @@ -288,7 +288,7 @@ export default { } else { return ('0' + (byte & 0xff).toString(16)).slice(-2) } - }, + } ) .join(' ') .toUpperCase() @@ -354,13 +354,13 @@ export default { await this.api.enable_limits( this.targetName, this.packetName, - this.itemName, + this.itemName ) } else { await this.api.disable_limits( this.targetName, this.packetName, - this.itemName, + this.itemName ) } }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/autocomplete/screenCompleter.js b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/autocomplete/screenCompleter.js index b10d3b7edf..e2aa0ac802 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/autocomplete/screenCompleter.js +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/autocomplete/screenCompleter.js @@ -64,7 +64,7 @@ export default class ScreenCompleter { var result = {} var more = true // If we found suggestions and the suggestions have params - // then we do logic to substitue suggestions using the actual + // then we do logic to substitute suggestions using the actual // target, packet, item data if (suggestions && suggestions['params']) { // Check if this is the last autocomplete parameter @@ -84,7 +84,7 @@ export default class ScreenCompleter { var packets = await this.api.get_all_tlm(target) suggestions = packets.reduce( (acc, pkt) => ((acc[pkt.packet_name] = pkt.description), acc), - {}, + {} ) } else if (current['Item name']) { var target = parsedLine[parsedLine.length - 3] @@ -92,7 +92,7 @@ export default class ScreenCompleter { var packet = await this.api.get_tlm(target, packet) suggestions = packet.items.reduce( (acc, item) => ((acc[item.name] = item.description), acc), - {}, + {} ) } else { // Not a special case so just use the param as is diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/icons/CosmosRuxIcon.vue b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/icons/CosmosRuxIcon.vue index f2ea7e557b..7f257697cf 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/icons/CosmosRuxIcon.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/icons/CosmosRuxIcon.vue @@ -22,7 +22,7 @@