openc3/data/config/telemetry_modifiers.yaml
---
ITEM:
modifiers:
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
summary: Defines a telemetry item in the current telemetry packet
example: |
ITEM PKTID 112 16 UINT "Packet ID"
ITEM DATA 0 0 DERIVED "Derived data"
parameters:
- name: Name
required: true
description: Name of the telemety item. Must be unique within the packet.
values: '\D\S*'
- name: Bit Offset
required: true
description: Bit offset into the telemetry packet of the Most Significant Bit of this item.
May be negative to indicate on offset from the end of the packet.
Always use a bit offset of 0 for derived item.
values: '[-]?\d+'
<%= MetaConfigParser.load('_items.yaml').to_meta_config_yaml(4) %>
APPEND_ITEM:
modifiers:
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
summary: Defines a telemetry item in the current telemetry packet
example: APPEND_ITEM PKTID 16 UINT "Packet ID"
parameters:
- name: Name
required: true
description: Name of the telemety item. Must be unique within the packet.
values: \'
<%= MetaConfigParser.load('_items.yaml').to_meta_config_yaml(4) %>
ID_ITEM:
modifiers:
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
summary: Defines a telemetry item in the current telemetry packet.
Note, packets defined without one or more ID_ITEMs are "catch-all" packets which
will match all incoming data. Normally this is the job of the UNKNOWN packet.
example: ID_ITEM PKTID 112 16 UINT 1 "Packet ID which must be 1"
parameters:
- name: Name
required: true
description: Name of the telemety item. Must be unique within the packet.
values: '\D\S*'
- name: Bit Offset
required: true
description: Bit offset into the telemetry packet of the Most Significant Bit of this item.
May be negative to indicate on offset from the end of the packet.
values: '[-]?\d+'
<%= MetaConfigParser.load('_id_items.yaml').to_meta_config_yaml(4) %>
APPEND_ID_ITEM:
modifiers:
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
summary: Defines a telemetry item in the current telemetry packet
example: APPEND_ID_ITEM PKTID 16 UINT 1 "Packet ID which must be 1"
parameters:
- name: Name
required: true
description: Name of the telemety item. Must be unique within the packet.
values: \'
<%= MetaConfigParser.load('_id_items.yaml').to_meta_config_yaml(4) %>
ARRAY_ITEM:
modifiers:
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
summary: Defines a telemetry item in the current telemetry packet that is an array
example: ARRAY_ITEM ARRAY 64 32 FLOAT 320 "Array of 10 floats"
parameters:
- name: Name
required: true
description: Name of the telemety item. Must be unique within the packet.
values: '\D\S*'
- name: Bit Offset
required: true
description: Bit offset into the telemetry packet of the Most Significant Bit of this item.
May be negative to indicate on offset from the end of the packet.
Always use a bit offset of 0 for derived item.
values: '[-]?\d+'
<%= MetaConfigParser.load('_array_params.yaml').to_meta_config_yaml(4) %>
APPEND_ARRAY_ITEM:
modifiers:
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
summary: Defines a telemetry item in the current telemetry packet that is an array
example: APPEND_ARRAY_ITEM ARRAY 32 FLOAT 320 "Array of 10 floats"
parameters:
- name: Name
required: true
description: Name of the telemety item. Must be unique within the packet.
values: \'
<%= MetaConfigParser.load('_array_params.yaml').to_meta_config_yaml(4) %>
SELECT_ITEM:
modifiers:
<%= MetaConfigParser.load('item_modifiers.yaml').to_meta_config_yaml(4) %>
summary: Selects an existing telemetry item for editing
description: Must be used in conjunction with SELECT_TELEMETRY to first select
the packet. Typically used to override generated values or make specific changes
to telemetry that only affect a particular instance of a target used multiple times.
example: |
SELECT_TELEMETRY INST HEALTH_STATUS
SELECT_ITEM TEMP1
# Define limits for this item, overrides or replaces any existing
LIMITS DEFAULT 3 ENABLED -90.0 -80.0 80.0 90.0 -20.0 20.0
parameters:
- name: Item
required: true
description: Name of the item to select for modification
values: .+
DELETE_ITEM:
summary: Delete an existing telemetry item from the packet definition
description: Deleting an item from the packet definition does not remove the
defined space for that item. Thus unless you redefine a new item, there
will be a "hole" in the packet where the data is not accessible. You can
use SELECT_TELEMETRY and then ITEM to define a new item.
example: |
SELECT_TELEMETRY INST HEALTH_STATUS
DELETE_ITEM TEMP4
since: 4.4.1
parameters:
- name: Item
required: true
description: Name of the item to delete
values: .+
META:
summary: Stores metadata for the current telemetry packet
description: Meta data is user specific data that can be used by custom tools
for various purposes. One example is to store additional information needed
to generate source code header files.
example: META FSW_TYPE "struct tlm_packet"
parameters:
- name: Meta Name
required: true
description: Name of the metadata to store
values: .*
- name: Meta Values
required: false
description: One or more values to be stored for this Meta Name
values: .*
PROCESSOR:
summary: Defines a processor class that executes code every time a packet is received
ruby_example: PROCESSOR TEMP1HIGH watermark_processor.rb TEMP1
python_example: PROCESSOR TEMP1HIGH watermark_processor.py TEMP1
parameters:
- name: Processor Name
required: true
description: The name of the processor
values: .+
- name: Processor Class Filename
required: true
description: Name of the Ruby or Python file which implements the processor.
This file should be in the target's lib directory.
values: '.+'
- name: Processor Specific Options
required: false
description: Variable length number of options that will be passed to the class constructor.
values: .+
ALLOW_SHORT:
summary: Process telemetry packets which are less than their defined length
description: Allows the telemetry packet to be received with a data portion that
is smaller than the defined size without warnings. Any extra space in the packet
will be filled in with zeros by OpenC3.
HIDDEN:
summary: Hides this telemetry packet from all the OpenC3 tools
description: This packet will not appear in Packet Viewer, Telemetry Grapher and Handbook Creator.
It also hides this telemetry from appearing in the Script Runner popup helper
when writing scripts. The telemetry still exists in the system and can received
and checked by scripts.
ACCESSOR:
summary: Defines the class used to read and write raw values from the packet
description: Defines the class that is used too read raw values from the packet. Defaults to BinaryAccessor.
Provided accessors also include JsonAccessor, CborAccessor, HtmlAccessor, and XmlAccessor.
parameters:
- name: Accessor Class Name
required: true
description: The name of the accessor class
values: .+
since: 5.0.10
IGNORE_OVERLAP:
summary: Ignores any packet items which overlap
description: Packet items which overlap normally generate a warning unless each individual item has the OVERLAP keyword.
This ignores overlaps across the entire packet.
since: 5.16.0
VIRTUAL:
summary: Marks this packet as virtual and not participating in identification
description: Used for packet definitions that can be used as structures for items with a given packet.
since: 5.18.0