OpenC3/cosmos

View on GitHub
openc3/data/config/telemetry_modifiers.yaml

Summary

Maintainability
Test Coverage
---
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