Skip to main content

Targets are the external embedded systems that COSMOS connects to. Targets are defined by the top level TARGET keyword in the plugin.txt file. Each target is self contained in a target directory named after the target. In the root of the target directory there is a configuration file named target.txt which configures the individual target.

target.txt Keywords

LANGUAGE

(Since 5.11.1)
Programming language of the target interfaces and microservices

The target language must be either Ruby or Python. The language determines how the target's interfaces and microservices are run. Note that both Ruby and Python still use ERB to perform templating.

ParameterDescriptionRequired
Ruby or Python

Valid Values: ruby, python
True

Example Usage:

LANGUAGE python

REQUIRE

Requires a Ruby file

List the Ruby files required to explicitly declare dependencies. This is now completely optional.

ParameterDescriptionRequired
FilenameFilename to require. For files in the target's lib directory simply supply the filename, e.g. "REQUIRE my_file". Files in the base OpenC3 lib directory also should just list the filename. If a file is in a folder under the lib directory then you must specify the folder name, e.g. "REQUIRE folder/my_file". Note the ".rb" extension is optional when specifying the filename.True

Example Usage:

REQUIRE limits_response.rb

IGNORE_PARAMETER

Ignore the given command parameter

Hint to other OpenC3 tools to hide or ignore this command parameter when processing the command. For example, Command Sender and Command Sequence will not display the parameter (by default) when showing the command and Script Runner code completion will not display the parameter.

ParameterDescriptionRequired
Parameter NameThe name of a command parameter. Note that this parameter will be ignored in ALL the commands it appears in.True

Example Usage:

IGNORE_PARAMETER CCSDS_VERSION

IGNORE_ITEM

Ignore the given telemetry item

Hint to other OpenC3 tools to hide or ignore this telemetry item when processing the telemetry. For example, Packet Viewer will not display the item (by default) when showing the packet.

ParameterDescriptionRequired
Item nameThe name of a telemetry item. Note that this item will be ignored in ALL the telemetry it appears in.True

Example Usage:

IGNORE_ITEM CCSDS_VERSION

COMMANDS

Process the given command definition file

This keyword is used to explicitly add the command definition file to the list of command and telemetry files to process.

Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the TELEMETRY keyword to specify the telemetry files to process.

ParameterDescriptionRequired
FilenameName of a command definition file in the target's cmd_tlm directory, e.g. "cmd.txt".True

Example Usage:

COMMANDS inst_cmds_v2.txt
TELEMETRY inst_tlm_v2.txt

TELEMETRY

Process the given telemetry definition file

This keyword is used to explicitly add the telemetry definition file to the list of command and telemetry files to process.

Usage of this keyword overrides automatic command and telemetry file discovery. If this keyword is used, you must also use the COMMAND keyword to specify the command files to process.

ParameterDescriptionRequired
FilenameName of a telemetry definition file in the target's cmd_tlm directory, e.g. "tlm.txt".True

Example Usage:

COMMANDS inst_cmds_v2.txt
TELEMETRY inst_tlm_v2.txt

CMD_UNIQUE_ID_MODE

(Since 4.4.0)
Command packet identifiers don't all share the same bit offset, size, and type

Ideally all commands for a target are identified using the exact same bit offset, size, and type field in each command. If ANY command identifiers differ then this flag must be set to force a brute force identification method.

Using this mode significantly slows packet identification

TLM_UNIQUE_ID_MODE

(Since 4.4.0)
Telemetry packets identifiers don't all share the same bit offset, size, and type

Ideally all telemetry for a target are identified using the exact same bit offset, size, and type field in each packet. If ANY telemetry identifiers differ then this flag must be set to force a brute force identification method.

Using this mode significantly slows packet identification